权限管理-10.21
一、理论基础
1、权限管理概念
Linux中的权限管理是通过文件权限和用户组机制来实现的,确保系统安全并控制对资源的访问。
权限类型:
权限对文件的作用:
-
读(r):
- 允许查看文件内容。像cat、more、less、head和tail等命令可以使用。
-
写(w):
- 能修改文件内容。需要有写权限才可用编辑器如vim或nano进行编辑。不过,没有删除文件的权限,要删除需在上级目录拥有写权限。
-
执行(x):
- 用于运行程序或脚本。只有具有执行权限才能运行这些类型的文件。
权限对目录的作用:
-
读(r):
- 可以查看目录中的文件列表,用于执行诸如ls之类的命令。
-
写(w):
- 可修改目录内容,如添加、删除或重命名子文件/子目录。对应命令包括touch, rm, cp, mv
-
执行(x):
- 表示进入该目录的能力,即用来执行类似于 cd 的命令,从而访问该目录。
权限类别:
-
权限分为三类,分别适用于所有者、同组用户和其他用户:
- 所有者权限
- 组权限
- 其他人权限
表示方法:
- 使用ls -l命令可以查看文件的详细信息,其中前十位字符代表了文件类型及其权限,如 -rw-r--r--。
- 第一位表示类型(如普通文件“-”、目录“d”),接下来的九位按照三个一组分别表示所有者、组和其他人的权限。
- 权限也可以用八进制数表示,每种权限对应一个数字值:读=4,写=2,执行=1。

二、相关命令
1、基本权限管理
修改属主
格式:chown + 新的属主名 + 文件名

修改属组
格式:chgrp + 新的属组名 + 文件名(-R 递归更改)

修改文件权限
格式:chmod [选项] 权限模式 文件名
-
权限模式:
- 属主:u
- 属组:g
- 其他用户:o
- 所有用户:a
-
赋予方式:
- + :加入权限
- - :减去权限
- = :设置权限
-
例:
- chmod u+w,g+w,o+w file
- chmod u=rwx,g=rw,o=rw file

设置方式:
-
八进制修改:
-
chmod 八进制数 文件名
-
例:
- chmod 644 file
-

-
修改成其他文件权限:
-
chmod --reference 参考的文件 设置的文件
-
例:
- chmod --reference file1 file2 => 将file2的权限修改成和file1一样
-

默认权限
在linux中可以使用umask查询和设置掩码权限。默认权限为最高权限减去掩码权限。

对于文件来说,最高权限为666,即没有执行权限;
对于文件夹来说,最高权限为777,拥有完整权限。
在计算默认权限时,要用字母进行计算,而非数字。
| rw- | rw- | rw- |
|---|---|---|
| --- | -w- | -w- |
| rw- | r-- | r-- |
2、特殊权限管理
SUID权限
基于属主的权限,针对可执行文件
在普通用户使用命名执行文件时,如果加入SUID权限,在运行此命令时,即可以文件属主的权限执行
如果属主有可执行权限,则以s展示;反之则以S进行展示
设置SUID权限:
- chmod u+s file


SGID权限
基于属组的权限,即可以针对可执行文件,也可以针对目录
针对文件
类似于SUID,在普通用户使用命名执行文件时,如果加入SGID权限,在运行此命令时,即可以文件属组的权限执行
设置SGID权限:
- chmod g+s file

针对目录
基于属组的权限,实现目录的属组的权限,不再基于原本的用户组,而是基于目录的属组的权限
如果属组有可执行权限,则以s展示;反之则以S进行展示
设置SGID权限:
- chmod g+s dir

sticky权限
粘滞位属性。在满足SGID的权限上,为了防止同组的用户删除其他用户的文件,可以使用sticky进行控制。拥有sticky属性的文件只能被用户的创建者删除,其他用户可以修改但是不能删除。
如果其他用户有可执行权限,则以t展示;反之则以T进行展示
设置sticky权限:
- chmod o+t file



acl权限扩展控制
单独设置某个用户对于文件或者目录的权限
在选择最小化安装系统的时候可能没有此拓展,需要额外安装
如果文件有额外权限,则会在本身的权限标识后额外添加一个+
设置acl额外权限:
-
getfacl 查看文件的权限控制列表
-
setfacl 设置文件的额外权限
-
具体命名:
- setfacl -m u:user:rwx file => 使用-m为用户user设置权限
- setfacl -x u:user file => 使用-x为用户user撤销权限
- setfacl -b file => 撤销文件的所有标识
-




文件特殊属性和其他特殊权限
设置文件的特殊属性,限制root用户的某些操作
- chattr +i file :不能删除、改名和更改文件

- chattr +a file:不能删除、改名文件,只能追加内容

- lsattr file:显示文件的特定属性


浙公网安备 33010602011771号