8.3号,第6天

三种权限rwx对文件和目录的不同意义:

权限对于目录的意义:

1,r权限:拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字。

2、w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:

                  1)在该目录下新建新的文件或子目录。

                  2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。

                  3)将该目录下已经存在的文件或子目录进行重命名。

                  4)转移该目录内的文件或子目录的位置。

 

3、x权限:拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。

 

权限对于文件的意义:

1、也应该明白的是文件是实际含有数据的地方,所以r、w、x权限对文件来说是与其内容有关的。

2、r权限:用于此权限表示可以读取此文件的实际内容。

 

3、w权限:拥有此权限表示可以编辑、添加或者是修改该文件的内容。但是不包含删除该文件,因为由上面权限对于目录的意义得知删除文件或目录的条件是什么。

4、x权限:表示该文件具有可以被系统执行的权限。文件是否能被执行就是由该权限来决定的,跟文件名没有绝对的关系。



三种特殊权限的应用场景和作用

 

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 ..





作业:

7.  设置user1,使之新建文件权限为rw——-

 

系统默认的新建文件的权限为644 ,可设置新建文件的最高权限为666,如果想设置user1的新建文件权限为rw——-,8进制数为600,得到umask066时的新建文件权限为rw——-

1470323312358123.png

 

 

 

8.  设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写

/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:—

备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原

 

1,在testdir目录下新建f1文件,现在的权限是-rw–r–r–user1用户权限是可读。

使用setfacl-m命令修改权限,setfacl-m u:user1:0 f1    u:选择要设置的用户名,  :0代表要设置的权限,可以选择rwx等权限。

利用setfacl -m 命令进行修改

[root@localhost testdir]# setfacl -m u:user1:0  /testdir/f1

[root@localhost testdir]# setfacl -m g:g1:rw  /testdir/f1

1470323329972385.png 

 

 

 

[root@localhost testdir]# setfacl -m d:u:user1:rw,g:g1:0 dir

1470323364705228.png 

 

 

[root@localhost dir]# getfacl -R * >/testdir/aclback

[root@localhost dir]# setfacl -R -b *

[root@localhost dir]# setfacl -R –set-file=/testdir/aclback *1470323377882310.png 


原创文章,作者:191095336,如若转载,请注明出处:http://www.178linux.com/28681

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-05 11:30

    对命令总结的很好,排版需要用点心哦