标签:中文 file lock users 执行 创建 修改 自动分配 移除
Authentication : 认证
Authorization : 授权
AccoutingAudition : 审计
linux用户:Username/UID
管理员:root ,0
普通用户:1-60000 自动分配
系统用户:1-499.1-999(Centos7)
对守护进程获取资源进行权限分配
登录用户:500+,1000+(Centos7)
交互式登录
Linux组:Groupname/GID
管理员组:root,0
普通组:
系统组:1-499,1-999(centos7)
普通组:500+,1000+(cenos7)
Linux安全上下文
运行中的程序:进程(procees)
以进程发起者的身份运行:
root:/bin/cat
mage: /bin/cat
进程所能够访问资源的权限取决于进程的运行者的身份
Linux用户和组的主要配置文件:
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
passwd文件格式
login name: 登录用名
passwd: 密码(x)
UID: 用户身份编号(1000)
GID: 登录默认所在组编号(1000)
GECOS: 用户全名或注释
home directory:用户主目录(/home/wang)
shell: 用户默认使用shell(/bin/bash)
nologin shell 表示不能登陆 作为系统账户,给程序用
$1:md5加密算法 182bit
$6:sha512加密算法 512bit
$...$ 表示盐(salt)
shadow 文件格式:
例:adong:$6$ThMn8HCsKSBbE0cr$rgsHimcyDkKyEcyZpRwBb3.HY59HJXTFJs/bUC93QuTaZm716AnlE6f5.NMX.weqPakNeotfGQilpwjImvYV4/::0:99999:7:::
登录用名
用户密码:一般用sha512加密
从1970年1月1日起到密码最近一次被变更的时间
密码再过几天可以被变更(0表示随时可以变更)
密码再过几天必须被变更(9999表示永不过期)
密码过期前几天系统提醒用户(默认为一周)
密码过期几天后账号会被锁定
从1970年1月1日算起,多少天后失效
vipw =vi /etc/passwd 检查文件格式是否正确
-s 更改shadow
vigr = vi /etc/group
-s 更改gshadow
pwck 检查/etc/passwd文件格式
grpck 检查/etc/shadow 和 /etc/gshadow文件格式
/etc/skel 为新建目录的模板文件夹
/etc/login.defs 账号配置文件
/etc/default/useradd 定义新建账户模板
newusers passwd格式文件 批量创建用户
格式:user1:x:2000:2000:test user1:/home/user1:/bin/csh
创建users文件 users.txt
newusers users.txt 可以批量创建用户
chpasswd 批量修改用户口令
格式:user1:passwd1
user2:passwd2
创建用户密码文件 passwd.txt
cat passwd.txt | chpasswd 将用户密码输出
useradd [OPTINON] LOGIN
-u 指定用户的UID
-d 指定家目录的位置
-c 指定备注的内容
-s 指定shell程序文件名
-G 指定用户加入某个普通组
-g 指定用户的私有组(群组)
-r 创建系统用户(服务账户)
-M 不创建用户的家目录
-m 创建用户的家目录(默认)
-e 2014/7/25 用户过期时间
-o 配合-u选项,不检查UID的唯一性
例:useradd cyy -d /home/abc -c huaidan -u 2000 -s /sbin/nologin
指定家目录 备注 指定uid 指定 shell
默认值设定:/etc/default/useradd
显示或更改默认设置
useradd -D
useradd -D -s SHELL (bin/bash)
useradd -D -b BASE_DIR (/home/file)
useradd -D -g GROUP (组)
usermod [OPTION] login
-u UID:修改用户ID
-g GID:修改用户所属的组
-s SHELL:新的默认SHELL
-c ‘COMMENT‘:新的注释信息
-d HOME:新家目录不会自动创建;若要创建新家目录并移动原家目录数据,同时使用-m选项
-(a)G 修改用户所属的附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-l login_name:新的名字(为用户更改登录名称)
-L lock指定用户,在/etc/shadow 密码栏的增加‘!‘ (锁定用户)
-U unlock指定用户,将/etc/shadow 密码栏的‘!‘拿掉 (解锁用户)
-e YYYY-MM-DD:指明用户账号过期日期
-f INACTIVE 设定非活动期限
userdel[OPTION]...login
-r: 删除用户家目录
usermod -G "" username
usermod -G GROUP username 覆盖组
创建组:groupadd
groupadd [OPTION] ...group_name
-g GID 指明GID号;[GID_MIN,GID_MAX]
-r 创建系统组
CentOS6:ID<500
Centos7: ID<1000
groupmod [OPTION]...groupmod
-n group_name 改组名
-g GID:新的GID
删除组:groupdel
groupdel GROUP
如果为用户的私有组,则在用户删除之前,无法删除组
gpasswd[option]group
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,... 设置有管理权限的用户列表
newgrp:临时切换主组
如果用户本身不属于此组,则需要组密码
更改和查看组成员 groupmems
groupmems [options] [action]
options:
-g,--group groupname 更改为指定组(只有root)
-R,--root CHROOT_DIR
Actions:
-a,--add username 指定用户加入组
-d,--delete username 从组中清除成员
-p,--purge 从组中清除所有成员
-l,--list 显示组成员列表
groups [OPTION].[USERNAME]...查看用户所属列表
示例:
查看有哪些用户属于sales组
# groupmems -g sales -l
linda lisa
从sales组中删除lisa
# groupmems -d lisa -g sales
# groupmems -g sales -l
linda
添加用户到组里
# id lxj2
uid=1002(lxj2) gid=0(root) groups=0(root)
# groupmems -a lxj2 -g sales
# id lxj2
uid=1002(lxj2) gid=0(root) groups=0(root),1238(sales)
也可以使用usermod命令将用户添加到组里:
usermod-AG将把用户添加到新的组中,这些组将用作他们的辅助组。
使用usermod将用户linda和lisa添加到组销售,并将lori和bob添加到组账户:
usermod -aG sales linda
usermod -aG sales lisa
usermod -aG account lori
usermod -aG account bob
[root@centos7 ~]#useradd -s /bin/csh -c ‘Gentoo Distribution‘ -G bin,root gentoo
[root@centos7 ~]#getent passwd gentoo
gentoo:x:1002:1002:Gentoo Distribution:/home/gentoo:/bin/csh
[root@centos7 ~]#groups gentoo
gentoo : gentoo root bin
# groupadd webs
# useradd -G webs nginx
# useradd -G webs varnish
# useradd -s /sbin/nologin mysql
# echo magedu | passwd --stdin nginx
Changing password for user nginx.
passwd: all authentication tokens updated successfully.
# echo magedu | passwd --stdin varnish
Changing password for user varnish.
passwd: all authentication tokens updated successfully.
# echo magedu | passwd --stdin mysql
Changing password for user mysql.
passwd: all authentication tokens updated successfully.
1. 无法进入目录
2.可以用ls查看列表,但是无法查看文件属性类型
3.就算对目录中文件有rw权限,也无法查看和写入 >>(追加)也不行
1.可以进入目录,无法查看列表,可以查看ll file 详细信息
2.可以执行目录内程序,cat file可以查看文件内容
3.如果对文件有w权限,还可以通过>>写入文件
id [OPTION]...[USER]
-u: 显示UID
-g:显示GID
-G: 显示用户所属的组的ID
-n:显示名称,需配合ugG使用
su [username] 切换身份 不完全切换
非登录式切换,即不会读取用户的配置文件,不改变当前工作目录
su - [username] 完全切换
登录式切换,会读取目标用户的配置文件,切换至家目录
切换身份执行命令
su - root -c ‘command‘
root su至其他用户无须密码;非root用户切换时需要密码
passwd
passwd[OPTIONS]UserName:修改指定用户的密码
常用选项:
-d:删除指定用户密码
-l:锁定指定用户密码
-u:解锁指定用户密码
-e:强制用户下次登录修改密码
-f:强制操作
--stdin:从标准输入接收用户密码
实例:echo "PASSWORD" |passwd --stdin USERNAME
echo PASSWD | passwd --stdin USERNAME &> /dev/null
useradd USERNAME;echo PASSWD | passwd --stdin USERNAME;passwd -e USERNAME
chage[option]...login
-d last_day
-E --expiredate expire_date
-I --inactive inactive
-m --mindays min_days
-M --maxdays max_days
-W --warndays warn_days
-l 显示密码策略
示例:
chage -d 0 tom 下一次登录强制重设密码
chage -m 0 -M 42 -W 14-17 tom
chage -E 2016-09-10 tom
finger user 查看用户信息
chfn user 更改用户描述信息
chsh -s 更改用户的shell
例: chsh -s /bin/nologin adong
chage [user] 更改用户口令有效期
chage -l [user] 查看用户口令信息
文件的权限主要针对三类对象进行定义
owner 属主,u
group 属组,g
other 其他,o
每个文件针对每类访问者都定义了三种权限
r Readable
w Writable
x eXcutable
文件
r 可使用文件查看类工具获取其内容
w 可修改其内容
x 可以把此文件提请内核启动为一个进程
目录
r 可以使用ls查看此目录中文件列表
w 可在此目录中创建文件,也可删除此目录中的文件呢
x 可以使用ls -l 查看此目录中文件元数据(需配合r),可以cd进入此目录
X 指给目录x权限,不给文件x权限(如果某个文件有执行权限,X会给其他所有者赋予权限)
chown [OPTION]...[OWNER][:[GROUP]]FILE...
用法说明:
OWNER 更改所有者
OWNER:GROUP 更改所属组
:GROUP 冒号也可用.替换
chown[OPTION]...--reference=REILE FILE
-R:递归
chgrp[option]...group file
chgrp[option]...--reference=reile file...
-R 递归
1.模式法
u=rwx,g=rw,o=r file
2.数字法
rwxrw-r-- file
111110100 转化为10进制764
--- 0
--x
001 1
-w-
010 2
r--
100 4
chmod [option]...octal-mode file...
-R:递归修改权限
chmod[option]...mode[mode]...file...
mode:
修改一类用户的所有权限
u= g= o= ug= a= u= g=
修改一类用户某位或某些权限
u+ u- g+ g- o+ o- a+ a-
chmod[option]...--reference=rfile file...
参考refile文件的权限,将file的修改为同rfile
chgrp[OPTION]...GROUP FILE
chgrp[OPTION]...--reference=REILE FILE
-R 递归
chgrp sales testfile
chown root:admins testfile
chmod -R g+rwx testdir
chmod 600 file
chown mage testfile
面试题
cp f1 dir/fff 需要的命令
1.cp命令需要执行权限
2.f1需要读权限,所在文件夹需要执行权限,否则进不去,
3.要拷贝的目标文件夹,至少要有执行和写权限
标签:中文 file lock users 执行 创建 修改 自动分配 移除
原文地址:https://blog.51cto.com/14451057/2424197