课上练习
1.当用户xiaoming 对/testdir 目录无执行权限时,意味着无法做哪些操作?
drwxr-xr . 14 root root 4096 Aug 3 13:35 /testdir
[xiaoming@localhost ~]$ touch /testdir/f1touch: cannot touch ‘/testdir/f1’: Permission denied 不能创建
[xiaoming@localhost ~]$ ll /testdir/aa
ls: cannot access /testdir/aa: Permission denied 不能访问
[xiaoming@localhost ~]$ cd /testdir
-bash: cd: /testdir: Permission denied 不能进入
[xiaoming@localhost ~]$ rm /testdir/aa
rm: cannot remove ‘/testdir/aa’: Permission denied 不能删除
2.当用户xiaoqiang 对/testdir 目录无读权限时,意味着无法做哪些操作?
drwxr-x-wx. 14 root root 4096 Aug 3 18:24 /testdir
[xiaoqiang@localhost ~]$ cd /testdir[xiaoqiang@localhost testdir]$ ls
ls: cannot open directory .: Permission denied 不能看里面文件名
[xiaoqiang@localhost ~]$ echo word > /testdir/x1
[xiaoqiang@localhost ~]$ echo word2 >> /testdir/x1
[xiaoqiang@localhost ~]$ cat /testdir/x1
word
word2
[xiaoqiang@localhost ~]$ rm /testdir/x1
[xiaoqiang@localhost ~]$ rm /testdir/file1
rm: remove write-protected regular file ‘/testdir/file1’? y
//目录权限w:可以创建或删除目录中文件,配合x(无视文件的权限,因为文件是目录中的内容,一个名字)
3.当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1 是否能修改和删除?
drwxr-xr . 14 root root 4096 Aug 3 18:24 /testdir
-r r r . 1 root root 0 Aug 3 18:24 file1
[wangcai@localhost ~]$ echo hello > /testdir/file1-bash: /testdir/file1: Permission denied
[wangcai@localhost ~]$ echo hello >> /testdir/file1 不能修改
-bash: /testdir/file1: Permission denied
[wangcai@localhost ~]$ rm /testdir/file1
rm: cannot remove ‘/testdir/file1’: Permission denied 不能删除
4.复制/etc/fstab 文件到/var/tmp 下,设置文件所有者为wangcai 读写权限,所属组为sysadmins 组有读写权限,其他人无权限
[root@localhost ~]# cp /etc/fstab /var/tmp/[root@localhost ~]# chown wangcai.sysadmins /var/tmp/fstab
[root@localhost ~]# chmod ug=rw,o= /var/tmp/fstab
[root@localhost ~]# ll /var/tmp/fstab
-rw-rw----. 1 wangcai sysadmins 465 Aug 3 18:13 /var/tmp/fstab
5.误删除了用户wangcai 的家目录,请重建并恢复该用户家目录及相应的权限属性
mkdir /home/wangcaicp -r /etc/skel/.[^.]* /home/wangcai
chmod 700 /home/wangcai/
作业
在/data/testdir 里创建的新文件自动属于g1 组,组g2 的成员如:alice 能对这些新文件有读写权限,组g3 的成员如:
tom 只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹
[root@localhost ~]# mkdir -p /data/testdir[root@localhost ~]# groupadd g1
[root@localhost ~]# groupadd g2
[root@localhost ~]# groupadd g3
[root@localhost ~]# cd /data
[root@localhost data]# chgrp g1 testdir/
[root@localhost data]# chmod 2770 testdir/
[root@localhost data]# ll -d testdir/
drwxrws---. 2 root g1 6 Aug 3 19:15 testdir/
[root@localhost data]# setfacl -m g:g2:rwx testdir/ //g2组用户能进到testdir目录
[root@localhost data]# setfacl -m g:g3:rwx testdir/ //g3组用户能进到testdir目录
[root@localhost data]# setfacl -m d:g:g2:rw testdir/
[root@localhost data]# setfacl -m d:g:g3:r testdir/
[root@localhost data]# gpasswd -a alice g2
Adding user alice to group g2
[root@localhost data]# gpasswd -a tom g3
Adding user tom to group g3
[root@localhost data]# su alice
[alice@localhost data]$ cd testdir/
[alice@localhost testdir]$ touch f
[alice@localhost testdir]$ getfacl f
# file: f
# owner: alice
# group: g1
user::rw-
group::rwx #effective:rw-
group:g2:rw-
group:g3:r--
mask::rw-
other::---
设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写
/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:―
备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原
cd /testdirtouch f1
setfacl -m u:user1:0 f1
mkdir dir
setfacl -m g:g1:rw dir
setfacl -m d:u:user1:rw dir
setfacl -m d:g:g1:0 dir
touch dir/{aa,bb,cc}
getfacl -R dir/ > /bak/bak.acl
setfacl -R -b *
setfacl -R --set-file=/bak/bak.acl /testdir/dir/
设置user1,使之新建文件权限为rw――-
[user1@localhost ~]$ umask 0066