Linux下ACL权限控制以及用sudo设置用户对命令的执行权限
ACL权限分配
1.setfacl命令设置文件权限
setfacl -m u:user1:rw root.txt
setfacl -m u:user2:rwx root.txt
2.getfacl命令查看文件权限
getfacl root.txt [root@localhost ~]# getfacl text.txt # file: text.txt # owner: root # group: root user::rw- user:wangteng:rw- group::r-- mask::rw- other::r--
3.删除文件权限
setfacl -x user:user3 root.txt
4.清空文件权限
setfacl -b root.txt
5.文件夹权限
如果要给某个文件夹分配权限,要注意的是:必须要有rx权限,如果只有r权限,则该用户进入不了该目录,如果只有x权限,则用户可进入但是不能查看目录下文件,如果没有w权限,则用户删除创建不了文件
setfacl -m u:user1:rwx /dir
6.对目录下的所有子目录及其文件递归设置权限
setfacl -m u:user1:rwx -R /dir/
7.对当下目录的所有子目录及其后期新创建的目录也保持同一权限
setfacl -m d:user1:rwx -R /dir/
设置用户对命令的执行权限 visudo命令
拿系统指定某个用户专门创建用户举例
-
1.设置
visudo user1 localhost=/usr/sbin/useradd./usr/sbin/userdel //把此行代码写入文件最下面
2.使用有密码sudo授权命令
sudo localhost=/usr/sbin/useradd newuser
sudo localhost=/usr/sbin/useradd -r newuser
3.使用无密码的sudo命令
sudo localhost=NOPASSWD: /usr/sbin/useradd -r newuser
sudo ALL=NOPASSWD: /usr/sbin/userdel -r newuser