一、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?
当用户对目录无执行权限,他将:
(1) 无法进入该目录;
(2) 无法查看该目录下的文件的内容;
(3) 无法查看该目录下的文件的详细属性;
(4) 无法创建、删除该目录下的文件。
二、当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作?
当用户对目录无读权限,他将:
(1) 无法查看该目录下的文件列表;
(2) 能进入该目录;
(3) 能创建、删除、该目录下的文件(前提是有文件的权限);
(4) 能修改该目录下的文件的内容(前提是有文件的权限)。
三、当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?
(1) 当用户对目录无写权限,该用户无法删除该目录下的文件。因为删除文件的权限由文件所在目录决定,删除文件相当于修改目录里的文件列表。目录是特殊文件,目录存储的内容就是文件列表。如果要删除目录下的文件,就要对文件有写权限,才有权限修改目录内的文件列表。
(2) 由于只读文件只有读权限,可以查看文件内容和属性信息;由于没有写权限,所以用户无法对文件内容进行修改。
四、当用户wangcai 对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除?
(1) 当用户对目录只有写和执行权限,该用户将无法查看该目录下的文件列表,但能查看目录下的文件内容和属性信息,也能删除该目录下的文件。
(2) 由于只读文件只有读权限,可以查看文件内容和属性信息;由于没有写权限,所以用户无法对文件内容进行修改。
五、复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限
1. 创建用户和用户组
[root@centos7 ~]#useradd wangcai
[root@centos7 ~]#groupadd sysadmins
2. 复制/etc/fstab文件到/var/tmp下
[root@centos7 ~]#cp /etc/fstab /var/tmp/
3. 设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限
[root@centos7 ~]#chown wangcai:sysadmins /var/tmp/fstab
[root@centos7 ~]#chmod 660 /var/tmp/fstab
[root@centos7 ~]#ll /var/tmp/fstab
-rw-rw----. 1 wangcai sysadmins 595 Oct 29 02:12 /var/tmp/fstab
六、误删除了用户wangcai的家目录,请重建并恢复该用户家目录及相应的权限属性
1. 查看用户家目录属性信息
[root@centos7 ~]#ll -d /home/wangcai/
drwx------. 3 wangcai wangcai 78 Oct 29 02:19 /home/wangcai/
[root@centos7 ~]#ll -a /home/wangcai/
total 12
drwx------. 3 wangcai wangcai 78 Oct 29 02:19 .
drwxr-xr-x. 9 root root 100 Oct 29 02:19 ..
-rw-r--r--. 1 wangcai wangcai 18 Aug 3 2017 .bash_logout
-rw-r--r--. 1 wangcai wangcai 193 Aug 3 2017 .bash_profile
-rw-r--r--. 1 wangcai wangcai 231 Aug 3 2017 .bashrc
drwxr-xr-x. 4 wangcai wangcai 39 Oct 13 07:15 .mozilla
2. 删除用户家目录
[root@centos7 ~]#rm -rf /home/wangcai/
3. 恢复用户家目录
方法1:
[root@centos7 ~]#cp -a /etc/skel/ /home/wangcai
[root@centos7 ~]#chown -R wangcai:wangcai /home/wangcai/
[root@centos7 ~]#ll -d /home/wangcai/
drwxr-xr-x. 3 wangcai wangcai 78 Oct 13 07:16 /home/wangcai/
[root@centos7 ~]#ll -a /home/wangcai/
total 12
drwxr-xr-x. 3 wangcai wangcai 78 Oct 13 07:16 .
drwxr-xr-x. 9 root root 100 Oct 29 02:25 ..
-rw-r--r--. 1 wangcai wangcai 18 Aug 3 2017 .bash_logout
-rw-r--r--. 1 wangcai wangcai 193 Aug 3 2017 .bash_profile
-rw-r--r--. 1 wangcai wangcai 231 Aug 3 2017 .bashrc
drwxr-xr-x. 4 wangcai wangcai 39 Oct 13 07:15 .mozilla
方法2:
[root@centos7 ~]#mkdir /home/wangcai
[root@centos7 ~]#cp -a /etc/skel/.[^.]* /home/wangcai/
[root@centos7 ~]#chown -R wangcai:wangcai /home/wangcai/
[root@centos7 ~]#ll -d /home/wangcai/
drwxr-xr-x. 3 wangcai wangcai 78 Oct 29 02:28 /home/wangcai/
[root@centos7 ~]#ll -a /home/wangcai/
total 12
drwxr-xr-x. 3 wangcai wangcai 78 Oct 29 02:28 .
drwxr-xr-x. 9 root root 100 Oct 29 02:28 ..
-rw-r--r--. 1 wangcai wangcai 18 Aug 3 2017 .bash_logout
-rw-r--r--. 1 wangcai wangcai 193 Aug 3 2017 .bash_profile
-rw-r--r--. 1 wangcai wangcai 231 Aug 3 2017 .bashrc
drwxr-xr-x. 4 wangcai wangcai 39 Oct 13 07:15 .mozilla
七、在/testdir/dir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如: tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
1. 创建用户组
[root@centos7 ~]#groupadd g1
[root@centos7 ~]#groupadd g2
[root@centos7 ~]#groupadd g3
2. 创建用户并添加附加组
[root@centos7 ~]#useradd alice -G g2
[root@centos7 ~]#useradd tom -G g3
3. 创建/testdir/dir目录
[root@centos7 ~]#mkdir -p /testdir/dir
4. 修改/testdir/dir目录所有组为g1
[root@centos7 ~]#chgrp g1 /testdir/dir/
5. 设置在/testdir/dir里创建的新文件自动属于g1组
[root@centos7 ~]#chmod g+s /testdir/dir/
6. 设置g2组对/testdir/dir里创建的新文件有读写权限;设置g3组对/test/dir/dir里创建的新文件有读权限
[root@centos7 ~]#setfacl -m g:g2:rw,g:g3:r /testdir/dir/
7. 设置其它用户(不属于g1、g2、g3)不能访问这个目录
[root@centos7 ~]#chmod o=- /testdir/dir/
8. 查看目录特殊权限设置
[root@centos7 ~]#getfacl -p /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
group:g2:rw-
group:g3:r--
mask::rwx
other::---
9. 查看目录属性信息
[root@centos7 ~]#ll -d /testdir/dir/
drwxrws---+ 2 root g1 16 Oct 30 12:40 /testdir/dir/
八、备份/testdir/dir里所有文件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后还原ACL权限。
1. 备份/testdir/dir里所有文件的ACL权限到/root/acl.txt中
[root@centos7 ~]#getfacl -Rp /testdir/dir/ > /root/acl.txt
[root@centos7 ~]#cat /root/acl.txt
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
group:g2:rw-
group:g3:r--
mask::rwx
other::---
# file: /testdir/dir//f1
# owner: root
# group: g1
user::rw-
group::r--
other::r--
2. 清除/testdir/dir中所有ACL权限
[root@centos7 ~]#setfacl -Rb /testdir/dir/
[root@centos7 ~]#getfacl -p /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
other::---
3. 还原ACL权限
方法1:
[root@centos7 ~]#setfacl -R --set-file=/root/acl.txt /testdir/dir/
[root@centos7 ~]#getfacl -Rp /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rw-
group::r--
group:g2:rw-
group:g3:r--
mask::rwx
other::r--
# file: /testdir/dir//f1
# owner: root
# group: g1
user::rw-
group::r--
group:g2:rw-
group:g3:r--
mask::rwx
other::r--
方法2:
[root@centos7 ~]#setfacl --restore=/root/acl.txt
[root@centos7 ~]#getfacl -Rp /testdir/dir/
# file: /testdir/dir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
group:g2:rw-
group:g3:r--
mask::rwx
other::---
# file: /testdir/dir//f1
# owner: root
# group: g1
user::rw-
group::r--
other::r--