Linux用户及权限分配
一、用户分类
- 所有者 u;
- 所属组 g;
- 其它用户 o;
- 所有用户 a;
二、用户管理
//查看用户 id user //添加用户 useradd user //设置密码 passwd user //删除用户 userdel -r user #删除用户的时候用户组被删除
三、用户与组
//加入组 gpasswd -a testuser root #把用户testuser加入到root组; #加入组后testuser获取到user组及root组所有权限 //移出组 gpasswd -d testuser root #把用户testuser移出root组;
四、权限分类
- r 读 4;
- w 写 2;
- x 执行 1;
//查看文件权限 ls -l file //或 ll file #drw-r-xr-- 3 root root 4096 Nov 5 2016 file #root用户对file文件具有rw权限; #root组其它用户对file文件具有读、执行权限; #其它用户对file文件具有只读权限; #第一个root为创建file文件的所有者; #第二个root为创建file文件的所属组;
五、chmod权限分配
//字母权限分配 chmod u+x file #eg: #chmod u+x,g+w,o+w test.txt #chmod u-x,g-w,o-w test.txt //数字权限分- chmod 755 file #755表示-rwxr-xr-x
- chmod 权限分配是对所有用户进行设置,但在权限细分需求时存在不足。
六、acl权限分配
//设置文件权限 setfacl -m u:testuser:rwx file //查看文件权限 getfacl file //删除用户权限 setfacl -x user:testuser file //清空文件权限 setfacl -b file //对目录、子目录及文件设置权限 setfacl -m u:testuser:rwx -R /file/ //设置后期添加的子目录和文件继承父目录权限 setfacl -m d:u:testuser:rwx -R /file/
文件的创建和删除权限:
- 需要对目录设置acl权限即可;
- 对文件设置权限表示对该文件内容有相应权限,没有删除文件的权限;
七、设置用户对命令的执行权限-visudo
1.设置sudo授权命令
//打开配置文件 visudo //末尾追加 user1 localhost=/user/sbin/useradd,/user/sbin/userdel
2.sudo授权命令
//添加用户 sudo /user/sbin/useradd testuser /删除用户 sudo /user/sbin/userdel -r testuser
3.无密码sudo授权命令
//打开配置文件 visudo //末尾追加 user1 localhost=NOPASSWD: /user/sbin/useradd,/user/sbin/userdel user1 ALL=NOPASSWD: /user/sbin/useradd,/user/sbin/userdel