su [options...] [-] [user [args...]]
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su至其他用户无须密码;非root用户切换时需要密码
su [-] UserName -c 'COMMAND'换个身份执行命令
-l --login
su -l UserName 相当于 su - UserName
passwd [OPTIONS] UserName: 修改指定用户的密码
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f: 强制操作
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
echo "PASSWORD" | passwd --stdin USERNAME
groupadd [OPTION]... group_name
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID
groupdel GROUP 组删除
gpasswd [OPTION] GROUP
-a user 将user添加至指定组中
-d user 从指定组中移除用户user
-A user1,user2,... 设置有管理权限的用户列表
newgrp命令:临时切换主组
chown 修改文件的属主
chown [OPTION]... [OWNER][:[GROUP]] FILE...
-R: 递归
chown [OPTION]... --reference=RFILE FILE...
user1:grp1 file :将文件file的属主改为user1,属组改为grp1,用.也可以。
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
-R 递归
chmod :修改文件的权限
文件的权限修改要用到000-777的参数,
rwx--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
表中表示了一位的权限设置,三位表示属主、属组、其他权限。
chmod 777 file:表示给file文件所有的权限都开放
chmod 740 file: 表示给file文件属主所有权限,属组读权限,其他用户不给权限。
输入位数不足左侧补零,要补齐位数。
普通文件不要给任何执行权限,除非确定可以运行
目录一定要有执行权限,否则回无法cd进入
修改目录权限不会修改目录下的文件的权限。
chmod -R 递归
g= :组权限修改,u=用户权限修改,o=其他权限,a=所有用户权限。可组合使用。例如:
ug=rw,给与属主和属组读写权限,不给执行权限,不改其他用户权限。
o= ,其他用户权限全部取消
u+w:表示给属主写权限,不改变其他位置
go-r:表示取消属组和其他用户的读权限
+x file :表示给所有用户操作权限
+w file:只给属主加写的权限
--reference filea=fileb :将文件a的权限设置的与b相同
更改访问控制列表
getfacl file 查看访问控制列表
setfacl
setfacl -m u:user1:rw file.txt 更改访问控制列表,使user1对文件file.txt能读能写。普通用户可改自己文件。root用户有所有权限。
setfacl -m g:grp1:rw file
-x 减权限 例如: setfacl -x g:grp1 file 删除访问控制列表,不用指定权限。
ACL:Access Control List,实现灵活的权限管理
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1 /mnt/test
ACL生效顺序:所有者,自定义用户,自定义组,其他人
SUID, SGID, Sticky