8.2作业
1、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
先将文件目录的属组变更为g1 ,chmod g+s /data/testdir/ setfacl -m -g:g2 -u:alice 666 /data/testdir/ setfacl -d -g:g3 -u:tom 444 /data/testdir/ chmod o-r /data/testdir
2、创建组sales,gid 3000,passwd:centos,sales admins:user2
将用户user1,user2,user3加入到sales辅助组
希望user1 创建新文件 默认的所属组为sales
user2将用户user3从sales组移除
删除sales,user1,user2
groupadd sales -g 3000
echo centos | gpasswd –stdin
gpasswd -A user2 sales
3、三种权限,三种特殊,acl,chattr 总结
三种普通文件权限因为只影响对应的用户,所以不在此一一赘述。
不过普通表达式在这里列出
chmod u= 或 chomod +/_
chmod g= 或 chmod +/-
chmod o= 或 chmod +/-
三种特殊权限相对就复杂了。
SUID :仅影响文件,作用在目录上将失效 ,仅影响该文件的属主以外的人的权限,一般若是普通用户具有了SUID权限将会非常危险。
SGID:影响目录或者文件的属主以外的人的权限,对此目录或文件有写权限的用户创建的新文件的属组将自动变更为原文件或目录的属组。
STicky: 是粘贴模式,仅影响其他用户的权限,其他除属主及root之外的用户将无法删除文件,仅用于文件,用于目录将失效。
表达式不予列出
acl权限是影响除其他用户和文件属主、属组的用户权限的一种进程管理列表。
生效顺序:所有者,自定义用户,自定义组,其他人
为多用户或者组的文件和目录赋予访问权限rwx
• mount -o acl /directory
• getfacl file |directory
• setfacl -m u:wang:rwx file|directory
• setfacl -Rm g:sales:rwX directory
• setfacl -M file.acl file|directory
• setfacl -m g:salesgroup:rw file| directory
• setfacl -m d:u:wang:rx directory
• setfacl -x u:wang file |directory
• setfacl -X file.acl directory
ACL文件上的group权限是mask 值(自定义用户,自定义组
,拥有组的最大权限),而非传统的组权限
v getfacl 可看到特殊权限:flags
v 默认ACL权限给了x,文件也不会继承x权限。
v base ACL 不能删除
v setfacl –k dir 删除默认ACL权限
vsetfacl –b file1清除所有ACL权限
v getfacl file1 | setfacl —set–file=- file2 复制file1
的acl权限给file2
v mask只影响除所有者和other的之外的人和组的最大权限
Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限
(Effective Permission)
用户或组的设置必须存在于mask权限设定范围内才会生效。
setfacl -m mask::rx file
v –set选项会把原有的ACL项都删除,用新的替代,需要注意的 是一定要包含UGO的设置,不能象–m一样只是添加ACL就可以. 如:
v setfacl –set u::rw,u:wang:rw,g::r,o::– file1
chattr +i 不能删除,改名,更改
v chattr +a 只能增加
lsattr 显示特定属性
附加练习:新建系统组mariadb,新建系统用户user1,属于maridb,要求其没有家目录,且shell为/sbin/nologin:尝试root切换至用户,查看其命令提示符
groupadd mariadb useradd user1
usermod -aG mariadb user1
usermod -s user1 /sbin/nologin
su – user1
cat /etc/passwd
2.新建GID为5000的组mageedu,新建用户为gentoo,要求其家目录为/users/gentoo,密码同用户名
groupadd -g 5000 mageedu
useradd gentoo
usermod -d /users/gentoo
echo "gentoo "|passwd –stdin gentoo
3.新建用户fedora,其家目录为/users/fedora,密码痛用户名
useradd -d /users/fedora fedora
echo "fedora" | passwd –stdin fedora
4.新建用户www,其家目录为/ users/www;删除www用户,但保留其家目录
useradd -d /users/www www
userdel www
5.为用户gentoo和fedora新增附加组mageedu;
usermod -aG mageedu gentoo , fedora
6.复制目录/var/log至/tmp/目录,修改/tmp/log及其内部所有文件的属组为mageedu,并让属组对目录本身拥有写权限。
cp /var/log /tmp/
chgrp mageedu /tmp/log chmod g+w /tmp/log
原创文章,作者:sjfbjs,如若转载,请注明出处:http://www.178linux.com/30604