Linux学习之路——六(目录和文本权限)

     我们知道,在我们使用Windows系统时,用户对文件夹或文本文件有一定的权限,如完全控制、修改、读取和执行、列出文件夹内容、读取、写入等。无独有偶,Linux操作系统中也存在权限问题,大家来跟小生看一下吧。

颜色问题:

灰色:文本

绿色:可执行文件

红色:压缩文件

蓝色:目录

浅蓝色:软连接

蓝底白字:硬链接


文件类型问题:

-:文本

d:目录

l:链接文件


字母数字表示权限:

权限

执行

执行

执行

字符

r

w

x

r

w

z

r

w

z

数字

4

2

1

4

2

1

4

2

1

分配

所有者(u):user

所属组(g):group

其他用户(o):other


下面我们来看一下相关命令的使用吧。

1.     chmod:修改文件或目录的权限。

        格式(1): chmod [u、g、o、a] [+、-、=] [r、w、x]

        格式(2): chmod nnn(数字) 文件或目录

                      -R:递归修改指定目录下所有子文件目录的权限。

2.     chown:修改文件或目录的归属。

        格式(1): chown 属主 文件或目录(只修改属主)

        格式(2): chown :属组 文件或目录(只修改属组)

        格式(3): chown 属主:属组 文件或目录(属主和属组都修改)

                      -R:递归修改指定目录下所有子文件目录的权限。

3.     附加权限:

    1)    SET位权限:将文件或目录中的可执行权限(“x”)替换为(“s”),对象为属主或属组。

作用:其他用户执行该文件时,将拥有属主或属组用户的权限。

类型:

          i.           SUID:属主位SET位权限。(4)

          ii.           SGID:属组位SET位权限。(2)
格式:

          i.           chmodu+s,g+s 文件或目录

          ii.           chmod 6nnn文件或名称

    2)    粘滞位权限:为公共目录(权限:777)设置,将其他用户的可执行权限(“x”)替换为(“t”)。

            作用:用户不能删除该目录中其他用户的文件。

     格式:

               i.           chmod o+t文件或目录

              ii.           chmod 1nnn文件或目录(添加粘滞位权限)

              iii.           chmod 0nnn文件或目录(撤销粘滞位权限)

4.     文件ACL权限:

    1)    概述:当文件所有者、所属组、其他用户不满足条件时(不够)为用户单独设定权限。类似于Windows下的单独为用户提供权限。

      2)    命令:

                       i.           df:查看磁盘使用情况。

                                          -h:用常见格式显示磁盘使用情况。

                       ii.           dumpe2fs-h /dev/sda1:查看分区是否开启ACL权限。

                       iii.           mount -oremount,acl:临时挂载加入ACL权限。

                       iv.           vim /etc/fstab :永久开启分区ACL权限,在default后输入“,acl”并保存。
注意:修改完文件后要重新挂载文件重启系统,使之生效。

                       v.           getfacle:查看ACL命令。

                                        格式:getfacle 文件名

                       vi.           setfacle:设置ACL权限。

                                        格式:setfacle 选项 [u、g、o] :用户:权限 文件名

                                                   setfacle -m:设定ACL权限。

                                                   setfacle -x:删除指定ACL权限。

                                                   setfacle -b:删除所有ACL权限。

                                                   setfacle -d:设定默认ACL权限。

                                                   setfacle -k:删除默认ACL权限。

                                                   setfacle -R(放置在权限后):递归设定ACL权限。

      3)    ACL最大权限:与mask有关,分配的权限与mask相与(与运算)所得到的结果才是真正拥有的权限。

与运算表(以r为例):

mask

分配的权限

最终权限

r

r

r

r

-

-

-

r

-

-

-

-

猜你喜欢

转载自blog.csdn.net/qq_42168575/article/details/80950366