1、当用户xiaoming 对/testdir 目录无执行权限时,意味着无法做哪些操作?
由于/testdir为目录,意味着xiaoming用户对此目录至少不能用cd命令跳转进入目录内,但是可以用ls -l命令查看此目录下的文件列表详细信息
2、当用户xiaoqiang 对/testdir 目录无读权限时,意味着无法做哪些操作?
由于/testdir为目录,意味着xiaoming用户不法使用ls命令查看此目录当中的文件列表
3、当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1 是否可修改和删除?
由于/testdir为目录,意味着xiaoming用户无法在此目录下创建和删除文件,而对于文件的修改是基于用户对文件所对应权限位是否给予w写权限,跟目录对应用户权限无关,但是题中表示file1是只读文件,所以用户无法删除和修改文件本身和其内容。
4、复制/etc/fstab 文件到/var/tmp 下,设置文件所有者为wangcai 读写权限,所属组为sysadmins 组有读写权限,其他人无权限
cp /etc/fstab /var/tmp/fstab chown wangcai:sysadmins /var/tmp/fstab chmod 660 /var/tmp/fstab
5、误删除了用户wangcai 的家目录,请重建并恢复该用户家目录及相应的权限属性
cp -r /etc/skel /home/wangcai chown -R wangcai: /home/wangcai
6、在/data/testdir 里创建的新文件自动属于g1 组,组g2 的成员如:alice 能对这些新文件有读写权限,组g3 的成员如tom 只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹
mkdir /data/testdir groupadd g1 groupadd g2 groupadd g3 chown :g1 /data/testdir chmod g+ws /data/testdir setfacl -m g:g2:rwx /data/testdir setfacl -m g:g3:rwx /data/testdir setfacl -m d:g:g2:rw- /data/testdir setfacl -m d:g:g3:r-- /data/testdir chmod o= /data/testdir
7、三种权限rwx对文件和目录的不同意义
文件:
r:可获取文件的数据
w:可修改文件的数据
x:可将此文件运行为进程,一般情况下文件是不应该有此权限的
目录:
r:可使用ls命令获取其下的所有文件列表,但是不能使用ls -l获取详细属性信息
w:可修改此目录下的文件列表,即创建或删除文件
x:可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息
8、umask和acl mask 的区别和联系
umask:文件的权限反向掩码,遮罩码
作用为控制文件默认权限,设定umask可以决定对应类型用户新建文件时,文件对各类用户的默认权限。
文件权限=666-umask
目录权限=777-umask
ACL mask:则是在ACL访问控制列表中的group权限的值,(自定义ACL权限用户,自定义ACL权限组,拥有组group(GID)的最大权限), 而非传统的组权限
mask 只影响除所有者和other 的之外的人和组的最大权限
Mask 需要与用户的权限进行逻辑与运算后,才能变成有限的权限(Effective Permission)
用户或组的设置必须存在于mask 权限设定 范围内才会生效
umask影响用户新建文件的默认权限,mask是在ACL中替代传统group权限的值,在不修改文件传统默认权限的基础上,进一步控制除所有者与other其它用户以外的(自定义ACL权限用户,自定义ACL权限组,拥有组group(GID))的最大权限
9、三种特殊权限的应用场景和作用
SUID 只对二进制可执行程序有效,当一个二进制程序有SUID时,代表着所用用户都可以以文件所有者的身份访问此程序
SUID 设置在目录上无意义
SGID
默认情况下,用户创建文件时,其属组为此用户所属的主组,一旦某目录被设定了SGID ,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组
对二进制可执行程序,当一个二进制程序有SUID时,代表着所用用户都可以以文件主组的身份访问此程序
Sticky 位
具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
在目录设置Sticky位,只有文件的所有者或root可以删除该文件
sticky
设置在文件上无意义
10、设置user1,使之新建文件权限为rw------- umask 066 ~/.bashrc
vim /home/user1/.bashrc
11、设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写
setfacl -m u:user1:-,g:g1:rw /testdir/f1
12、/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:---
setfacl -m u:user1:rwx /testdir/dir setfacl -m d:u:user1:rw,d:g:g1:0 /testdir/dir
13、备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原
getfacl -R /testdir > acl.txt setfacl -b /testdir setfacl -R --set-file=/tmp/acl.txt /testdir/dir