Linux教程

Linux文件和目录的权限

2019-12-13  本文已影响0人  7ed8e3680ebe

Linux教程:http://www.fdlly.com/m/linux
@[toc]

文件和目录的权限

简介:用户对一个文件或目录具有访问权限,这些访问权限决定了谁能访问,以及如何范围这些文件和目录。通过设置权限可以限制或允许以下三种用户访问:

文件和目录和权限简介

为了系统的安全性,Linux对文件和目录赋予了3种属性

对应3种属性,Linux文件常用权限分为4种权限

如何查看文件和目录的权限信息

在Linux系统中,使用ls命令就可以查看文件和目录的权限信息,不带任何参数的ls命令只显示文件名,要想显示文件和目录的权限信息,需要使用使用ls -l命令来显示文件和目录的详细信息,也可使用ls -al命令显示全部文件和目录的详细信息

[root@localhost ~]# ls -l /
总用量 16
lrwxrwxrwx.   1 root root    7 11月 20 21:21 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 11月 20 21:29 boot
drwxr-xr-x.  20 root root 3220 12月  3 14:09 dev
drwxr-xr-x.  75 root root 8192 12月  3 01:49 etc
drwxr-xr-x.   3 root root   16 12月  3 00:34 home
lrwxrwxrwx.   1 root root    7 11月 20 21:21 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 11月 20 21:21 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   2 root root    6 4月  11 2018 opt
dr-xr-xr-x. 112 root root    0 12月  3 14:08 proc
dr-xr-x---.   5 root root  190 11月 22 22:22 root
drwxr-xr-x.  25 root root  740 12月  3 14:14 run
lrwxrwxrwx.   1 root root    8 11月 20 21:21 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 12月  3 14:09 sys
drwxrwxrwt.  10 root root  240 12月  3 14:24 tmp
drwxr-xr-x.  13 root root  155 11月 20 21:21 usr
drwxr-xr-x.  19 root root  267 11月 20 21:32 var

第一列显示文档类型与执行权限,由10个字符组成,分为4部分,其中文件权限标志位由3部分组成,如drwxr-xr-x,如下图所示

image

文件和目录的属主和属组

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者文件所有者同组用户其他用户来规定了不同的文件访问权限。

对于文件和目录而言,可以划分为3类用户

对于 root 用户来说,一般情况下,文件的权限对其不起作用。

设置文件和目录基本权限

3种权限按照不同方式可以分为字符模式和数字模式

所以按照模式的不同设置文件和目录基本权限也分为两种,一种是文字设定法设置权限,另一种是数字设定法设置权限

chmod语法

功能说明:
语法

chmod [操作对象] [操作符号] [权限] [文件|目录]

选项及参数

权限范围的表示法如下

有关权限代号的部分,列表与下

权限操作说明,列表与下

简单版说明
<table><tr><td>部分</td><td>选项</td><td>选项含义</td></tr><tr><td rowspan="5">操作对象</td></tr><tr><td>u</td><td>用户所有者:即文件或目录的所有者</td></tr><tr><td>g</td><td>组群所有者:即与文件的用户所有者有相同组群GID的所有用户</td></tr><tr><td>o</td><td>其它用户</td></tr><tr><td>a</td><td>所有用户:这是系统默认值</td></tr><tr><td rowspan="4">操作符号</td></tr><tr><td>+</td><td>添加权限</td></tr><tr><td>-</td><td>取消权限</td></tr><tr><td>=</td><td>赋予给定权限并取消原有权限(如果有的话)</td></tr><tr><td rowspan="4">权限</td></tr><tr><td>r</td><td>读取权限</td></tr><tr><td>w</td><td>写入权限</td></tr><tr><td>x</td><td>可执行权限</td></tr></table>

文字设定法设置权限

对文件所有者添加权限

[root@localhost ~]# chmod u+w text.txt

对文件所有者取消权限

[root@localhost ~]# chmod u-w text.txt

对文件所有者设置权限

[root@localhost ~]# chmod u=w text.txt

对文件所有者,组群所有者,其它用户添加权限

[root@localhost ~]# chmod u+rwx,g+rx,o+r text.txt

对文件所有者,组群所有者,其它用户取消权限

[root@localhost ~]# chmod u-rwx,g-rx,o-r text.txt

对文件所有者,组群所有者,其它用户设置权限

[root@localhost ~]# chmod u=rwx,g=rx,o=r text.txt

数字设定法设置权限

数字表示法就是将4种权限r、w、x、-分别用4、2、1、0表示,然后再把授予的权限数字相加而成,如下面实例所示

权限数字说明实例

原始权限 转换为数字 数字表示法 说明
rwxrwxrwx (421)(421)(421) 777 用户所有者具有读取、写入、执行权限;组群所有者具有读取、写入、执行权限;其它用户具有读取、写入、执行权限

数字及其对应权限

数字表示法虽然简单,但是可读性较差,必须经发换算才能够知道相应的权限设置

数字 转换过的数字 对应权限
7 4+2+1 rwx
6 4+2+0 rw-
5 4+0+1 r-w
4 4+0+0 r--
3 0+2+1 -wx
2 0+0+0 -w-
1 0+0+1 --x
0 0+0+0 ---

设置用户所有者拥有读取、写入、执行权限

设置用户所有者拥有读取、写入、执行权限

[root@localhost ~]# chmod 700 text.txt

设置组群所有者拥有读取、写入、执行权限

设置用户所有者拥有读取、写入、执行权限,组群所有者拥有读取、写入、执行权限

[root@localhost ~]# chmod 770 text.txt

设置其它用户拥有读取、写入、执行权限

设置用户所有者拥有读取、写入、执行权限,组群所有者拥有读取、写入、执行权限,其它用户拥有读取、写入、执行权限

[root@localhost ~]# chmod 777 text.txt

设置文件和目录的特殊权限

在Linux系统中,除了可读性权限``可写性权限``可执行性权限外,还有三个特殊的权限,分别是SUID、SCID和Sticky

特殊权限简介

用户如果没有特殊的需求,一般不需要启用特殊权限,避免出现安全问题的隐患

特殊权限有以下几种类型
SUID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的用户所有者身份来执行
SGID:对于一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的组群所有者身份来执行
Sticky:对文件或目录设置Sticky之后,尽管其他用户有写权限,也必须由文件所有者执行删除和移动等操作


因为SUID、SGID、Sticky占用x(执行权限)的位置来表示,所以在表示上会有大小写之分。假如同时开启执行权限和SUID、SGID、Sticky,则权限表示字符是小写的,如下所示

-rwsr-sr-t  1   root root   4096    8月  16  08:16   text.txt

如果关闭执行权限,则表示字符会变成大写

-rwSr-Sr-T  1   root root   4096    8月  16  08:16   text.txt

文字设定法设置特殊权限

添加SUID特殊权限

[root@localhost ~]# chmod u+s text.txt

删除SGID特殊权限

[root@localhost ~]# chmod g+s text.txt

设置Sticky特殊权限

[root@localhost ~]# chmod o=t text.txt

数字设定法设置特殊权限

如果要设置特殊权限,就必须使用四位数字才能表示
特殊权限的对应数值如下所示

设置SUID特殊权限

[root@localhost ~]# chmod 4000 text.txt

设置SGID特殊权限

[root@localhost ~]# chmod 2000 text.txt

设置Sticky特殊权限

[root@localhost ~]# chmod 1000 text.txt

设置具有SUID、SGID、Sticky权限

[root@localhost ~]# chmod 7000 text.txt
上一篇下一篇

猜你喜欢

热点阅读