练习
上课练习
1、 当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?
能查看文件大小,不能进入此目录,不能在此目录创建文件 能看到目录中的内容,不能查看目录内的大小及属性,仅能查看目录的相关属性
[xiaoming@localhost ~]$ ll -d qin drwxrwxrw-. 2 root root 6 8月 3 22:10 qin [xiaoming@localhost ~]$ ll -a qin ls: 无法访问qin/.: 权限不够 ls: 无法访问qin/..: 权限不够 总用量 0 d????????? ? ? ? ? ? . d????????? ? ? ? ? ? .. [root@localhost xiaoming]# su xiaoming [xiaoming@localhost ~]$ cd qin bash: cd: qin: 权限不够 [xiaoming@localhost ~]$ ll qin 总用量 0 [xiaoming@localhost ~]$ touch qin/asd touch: 无法创建"qin/asd": 权限不够
2、 当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作?
可以进入目录,可以在目录中创建文件,无法查看目录里面的内容
[root@localhost qiuzhaoxian]# ll 总用量 2360 drwxrwx-wx. 3 xiaoming xiaoming 30 8月 4 19:15 123 [t1@localhost /]$ cd /123/ [t1@localhost 123]$ ll ls: 无法打开目录.: 权限不够 [t1@localhost 123]$ touch asd [t1@localhost 123]$ echo dsad > asd [t1@localhost 123]$ ll -d /123 drwxrwx-wx. 3 xiaoming xiaoming 40 8月 4 19:19 /123
3、 当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件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 /]# ll /var/tmp/fstab -rw-r--r--. 1 wangcai sysadmins 501 8月 4 19:32 /var/tmp/fstab [root@localhost /]# chmod 660 /var/tmp/fstab [root@localhost /]# ll /var/tmp/fstab -rw-rw----. 1 wangcai sysadmins 501 8月 4 19:32 /var/tmp/fstab
5、 误删除了用户wangcai的家目录,请重建并恢复该用户家目录及相应的权限属性
mkdir /home/wangcai cp -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/ 设置默认g2组内成员对目录内操作的权限 [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权限,并利用备份还原
touch f1 setfacl -m u:user1:0 f1 setfacl -m g:g1:rw f1 setfacl -m g:g1:rwx /testdir setfacl -m u:user1:rwx /testdi setfacl -m d:u:user1:rw /testdir/ setfacl -m d:g:g1:- /testdir/ getfacl ../testdir/ getfacl /testdir/f1 getfacl -R ../testdir/ >acl.sql setfacl -R -b /testdir setfacl -R --set-file=acl.sql /testdir/ getfacl /testdir/
原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/29194