Linux-权限
权限说明
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 | l /usr/bin/passwd |
/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 的权限