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

(0)
191095336191095336
上一篇 2016-08-05
下一篇 2016-08-05

相关推荐

  • find命令基本应用

       简单的find命令查找 Find +路径+条件(支持文件通配)+找到后执行的操作 条件: 可根据文件类型查找:-type   f为普通文件 d为目录文件 l为链接文件(常用) 可根据属主和属组查找:-uid  -gid 可根据时间戳来查找:alime(查看时间)ctime(文件属性更改时间)m…

    Linux干货 2017-04-11
  • MySQL高级特性-合并表

    1. Merge Tables         如果愿意的话,可以把合并表看成一种较老的、有更多限制的分区表,但是它们也有自己的用处,并且能提供一些分区表不能提供的功能。 合并表实际是容纳真正的表的容器。可以使用特殊的UNION语法来CREATE TABLE。下面是一个合并表的例子: mysql> &n…

    Linux干货 2015-04-13
  • 马哥教育网络班21期-第7周课程练习

    第7周课程练习 创建一个10G分区,并格式为ext4文件系统; 添加一块硬盘sdb 要求其block大小为2048,       预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; # mke2fs -t ext4 -b 2048 -L 'MYDATA' -m 2 # mount -o ac…

    Linux干货 2016-10-09
  • 计算机和操作系统的一些概念

    一、计算机组成     (一) 硬件         CPU:运算器、控制器、寄存器、缓存器         存储器:主内存,RAM(Random Access…

    Linux干货 2016-08-15
  • N_28正则表达式及vim编辑的一些知识

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ]# who | sort -nu | cut -d” ” -f1 2、取出最后登录到当前系统的用户的相关信息。 ]# who | tail -1 | cut -d” ” -f1 | id 3、取出当前系统上被用户当作其…

    Linux干货 2017-12-16
  • 马哥教育网络班22期-第4周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@zck ~]# cp -r /etc/skel /home/tuser1 [root@zck ~]# ll -d /hom…

    Linux干货 2016-09-02

评论列表(1条)

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

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