权限说明

rwx权限

作用到文件

  • r:代表可读,查看

  • w:可写;可以修改,但是不代表可以删除文件,删除文件袋前提是对该文件所在地目录有写权限,才能删除文件

  • x:可执行

    作用到目录

  • r:可以读取,ls查看目录内容

  • w:可写,可以修改,对目录内创建、删除、重命名目录

  • x:可执行,可以cd进入改目录

例子:

  • drwxr-xr-x的1-3位为rwx代表可读可写可执行
  • drwxr-xr-x的4-6位为r-x代表可读不可写可执行

修改权限

  • 基本说明:

    通过chmod指令,可以修改文件或目录的权限

通过+、-、= 变更权限

说明u:使用者,g:所有组,o:其他用户,a:所有用户

  • 命令一:

    chmod u=rwx,g=rx,o=x 文件或目录名

    • 设定文件或目录的使用者权限为rwx,组的权限为r-x,其他人权限为–x
  • 命令二:

    chmod o+w 文件或目录名

    • 添加权限,给其他添加权限w(写)
  • 命令三:

    chmod a-x 文件或目录名

    • 除去权限,所有用户除去权限x(执行)

通过数字变更权限

说明r:4、w:2、x:1,则rwx = 4+2+1=7

命令:chmod 555

  • 赋予r-xr-xr-x的权限
  • chmod u=rwx,g=rx,o=x相当于chmod 751

隐藏属性

属性 用途
a 让文件或目录仅供附加用途。可以附加内容到文件中,但是不能编辑文件中的现有信息,也不能删除文件
b 不更新文件或目录的最后存取时间。
c 这个属性设置之后,将会自动的将此文件“压缩”,在读取的时候将会自动解压缩,
d 但是在储存的时候,将会先进行压缩后再储存当 dump 程序被执行的时候,设置 d 属性将可使该文件(或目录)不会被 dump 备份
i 不得任意更动文件或目录,文件“不能被删除、改名、设置链接也无法写入或新增数据!”
s 保密性删除文件或目录。当文件设置了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间, 所以如果误删了,完全无法救回来了.
S 一般文件是非同步写入磁盘的,如果加上 S 这个属性时, 当你进行任何文件的修改,该更动会“同步”写入磁盘中。
u 与 s 相反的,当使用 u 来设置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中,可以使用来救援该文件

设置隐藏属性(chattr)

  • + :增加某一个特殊参数,其他原本存在参数则不动。

  • - :移除某一个特殊参数,其他原本存在参数则不动。

  • = :设置一定,且仅有后面接的参数

查看隐藏属性(lsattr)

文件特殊权限: SUID、SGID、SBIT

SUID(Set UID )

当 s 标志在文件拥有者的 x 项目为 SUID

我们先来看看这个

1
2
3
4
$ l /usr/bin/passwd
--rwsr-xr-x 1 root root 67K 5月 28 2020 /usr/bin/passwd
$ l /etc/shadow
-rw-r----- 1 root shadow 972 2月 13 14:24 /etc/shadow

/etc/shadow:用于存储 Linux 系统中用户的密码信息

可以看到/etc/shadow文件仅有root可读且仅有root可以强制写入而已,但是我们可不可以更改自己账号的密码呢,明显是可以的,这就是SUID的作用

  • SUID 权限仅对二进制程序有效

  • 执行者对于该程序需要具有 x 的可执行权限

  • 本权限仅在执行该程序的过程中有效

  • 执行者将具有该程序拥有者 (owner) 的权限(上面拥有root的权限)

SGID(Set GID)

当 s 标志在文件拥有者的 x 项目为 SUID,那 s 在群组的 x 时则称为 Set GID

  • SGID 对二进制程序有用

  • 程序执行者对于该程序来说,需具备 x 的权限

  • 执行者在执行的过程中将会获得该程序群组的支持

SBIT(Sticky Bit )

针对目录有效

SBIT 对于目录的作用 是:

  • 使用者对于此目录具有 w, x 权限,亦即具有写入的权限时,使用者在该目录下创建文件或目录时,仅有自己与 root 才有权力删除该文件

SUID/SGID/SBIT 权限设置

通过+、-、= 变更权限

  • 和上面的修改rwx权限一样,SUID 为 u+s ,而 SGID 为 g+s , SBIT 则是 o+t

使用数字更改

  • 4 为 SUID

  • 2 为 SGID

  • 1 为 SBIT

假设要将一个文件权限改为“-rwsr-xr-x”时,由于 s 在使用者权限中,所以是 SUID ,因此, 在原先的 755 之前还要加上 4 ,也就是:

1
chmod 4755 filename 

说明

一、让使用者能进入某目录成为“可工作目录”的基本权限,例如 cd 等变换工作目录的指令:

  • 目录所需权限:使用者对这个目录至少需要具有 x 的权限

  • 额外需求:如果使用者想要在这个目录内利用 ls 查阅文件名,则使用者对此目录还需要 r 的权限。

二、使用者在某个目录内读取一个文件的基本权限,例如 cat, more, less等等

  • 目录所需权限:使用者对这个目录至少需要具有 x 权限;

  • 文件所需权限:使用者对文件至少需要具有 r 的权限才行!

三、让使用者可以修改一个文件的基本权限,例如 nano 或 vi 编辑器等;

  • 目录所需权限:使用者在该文件所在的目录至少要有 x 权限;

  • 文件所需权限:使用者对该文件至少要有 r, w 权限

四、让一个使用者可以创建一个文件的基本权限为何?

  • 目录所需权限:使用者在该目录要具有 w,x 的权限,重点在 w 啦!

五、让使用者进入某目录并执行该目录下的某个指令之基本权限为何?

  • 目录所需权限:使用者在该目录至少要有 x 的权限;

  • 文件所需权限:使用者在该文件至少需要有 x 的权限