Linux用户及权限分配
一、用户分类
- 所有者 u;
- 所属组 g;
- 其它用户 o;
- 所有用户 a;
1.更改目录所有者命令:
chown -R 用户名称 目录名称
2.更改目录权限命令:
chmod -R 755 目录名称
二、用户管理
//查看用户 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