Linux 第六天: (08月03日) 练习和作业
当用户xiaoming对/testdir目录无执行权限时, 无法做哪些操作?
无法 ls -l 无法cd
当用户xiaoqiang对/testdir目录无读权限时, 无法做哪些操作?
无法查看目录文件列表
当用户wangcai对/testdir目录无写权限时, 该目录下只读文件file是否可以修改删除?
无法删除文件 无法创建文件 可以修改文件
复制/etc/fstab到var/tmp, 设置所有者wangcai读写权限, 属组sysadmins组读写权限, 其它无权限
groupadd sysadmins
cp /etc/fstba /var/tmp/
ll /var/tmp/fstab
chown wangcai:sysadmins /var/tmp/fstab
chmod ug=rw /var/tmp/fstab
ll /var/tmp/fstab
误删了用户wangcai的家目录, 请重建并恢复该用户家目录及相应权限属性
cp -r /etc/skel USERdir
chown -R USER.USER USERdir/
chmod 700 USERdir
在/data/testdir里创建的新文件自动属于g1组,
组g2的成员如:alice能对这些新文件有读写权限,
组g3的成员如:tom只能对新文件有读权限,
其它用户(不属于g1,g2.g3)不能访问这个文件夹
mkdir testdir
groupadd g1
groupadd g2
groupadd g3
charp g1 testdir 更改目录所有者
chmod 2770 testdir
charp g1 testdir
setfacl -m g:g2:rw testdir
setfacl -m g:g3:r testdir
getfacl testdir
三种权限rwx对文件和目录的不同意义
文件
r 查看内容
w 修改内容
x 提请启动到进程
目录
r 查看目录文件列表
w 创建文件删除文件
x ls-l查看文件列表, cd进入此目录
umask和acl mask区别和联系
umask值是默认的文件或目录拥有的权限
ACL mask对每个文件或目录能不相同
三种特殊权限的应用场景和作用
SUID
应用场景: 只能作用在二进制的可执行文件,也就是说它本身运行起来就是一个进程
效果: 没有suid权限的二进制文件,能否执行取决于当前用户有无对该文件执行权限,
执行之后,进程的拥有者也是当前系统用户。 被服务suid后,当文件被运行后,进程的拥有者不是系统当前的用户,而是文件的所属者
作用: chmod u+s 文件
SGID
SGID权限分为两种情况
作用在文件上,文件被赋予SGID的权限,无论当前的用户有无执行权限,用户运行该程序,会自动继承该程序所属组的权限
命令:chmod g+s 文件
作用在目录上,作用效果完全不同于文件,该目录内新建的文件或则目录的所属组会自动继承该目录的所属组
命令:chmod g+s 目录
Sticky 一个文件一旦被赋予Sticky位的话,只有文件的所有者或root才可以删除该文件
Sticky为是作用在目录下,当目录设置为Sticky位的话,目录下只能被root用户和文件所有者删除
命令格式:
chmod o+t DIR ..
chmod o-t DIR ..
stickyid
o+t 针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除
chmod o+t directroy
chmod 1777 directory
sgid
g+s 针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
chmod g+s file|directory
chmod 2777 file|directory
suid
u+s 针对文件,文件记录动作在执行时是以文件所有人身份执行的,与是谁发起的无关
chmod u+s file
chmod 4777 file
设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写
设置/testdir/dir的权限,使新建文件自动具有acl权限 user1:rw,g1:—
备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原
mkdir /testdir/f1
mkdir /testdir/dir
useradd user1
groupadd g1
setfacl -m u:user1 /testdir/f1
setfacl -m g:g1 rw /testdir/f1
setfacl -m d: u:user1 rw /testdir/dir
setfacl -m d: g:g1:0 /testdir/dir
setfacl -R –set-file=acl.txt /testdir
setfacl -b /testdir
getfacl -R /testdir
在/data/testdir里创建的新文件自动属于g1组,
组g2成员alice对新文件有读写权限,
组g3成员tom只对新文件有读权限,
其它用户(不属于g1,g2,g3)不能访问这个文件夹
mkdir /data/testdir
chown :g1 /data/testdir
chmod g+s /data/testdir
setfacl m g:g2 rw /data/testdir
setfacl m g:g3 r /data/testdir
setfacl m g:o /data/testdir
原创文章,作者:dengjian,如若转载,请注明出处:http://www.178linux.com/30889