Linux 权限解读

小编 2026-07-10 阅读:1959 评论:0
Linux 权限解读 Linux 系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。 Linux的文件权限有以下设定: Linux 下文件的...

Linux 权限解读

Linux 系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。

Linux的文件权限有以下设定:

  • Linux 下文件的权限类型一般包括读、写、执行,对应字母为rwx
  • Linux 下权限的属组有:拥有者 、群组 、其它组,总共三种

如果我们要表示一个文件的所有权限详情,有两种方式:

  • 十位二进制表示法,(三个属组每个使用二进制位,再加一个最高位共十位),可简化为三位八进制形式
  • 十二位二进制表示法(十二个二进制位),可简化为四位八进制形式

1. 十位权限

-rw------- (600)    只有拥有者有读写权限
-rw-r--r-- (644)    只有拥有者有读写权限;而属组用户和其他用户只有读权限
-rwx------ (700)    只有拥有者有读、写、执行权限
-rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限
-rwx--x--x (711)    拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限
-rw-rw-rw- (666)    所有用户都有文件读、写权限
-rwxrwxrwx (777)    所有用户都有读、写、执行权限

# 其中:- 代表无权限,r 代表读权限,w 代表写权限,x 代表执行权限

1.1 第一位:表示文件类型

d 代表的是目录(directroy)
- 代表的是文件(regular file)
s 代表的是套字文件(socket)
p 代表的管道文件(pipe)或命名管道文件(named pipe)
l 代表的是符号链接文件(symbolic link)
b 代表的是该文件是面向块的设备文件(block-oriented device file)
c 代表的是该文件是面向字符的设备文件(charcter-oriented device file)

1.2 后九位:不同属组的三种操作权限

Linux 权限总共有三个属组,这里给每个属组使用三个位置来定义三种操作权限,后九位每个位置的意义(代表某个属组的某个权限)都是固定的,可以用三位二进制数表示为:

r-- = 100
-w- = 010
--x = 001
--- = 000

转换成八进制数,r=4, w=2, x=1, -=0(数字设置权限:4代表读,2代表写,1代表执行),所以文件的权限可以表示为三位八进制数。

1.3 chmod 修改权限

可以使用八进制数字或者字母形式修改:

# 使所有用户获取 a.sh 全权限
chmod ugo+r a.sh 
chmod a+r a.sh

# u g o 代表不同的属组
# a 可以指代全部属组
# +- 用于增加删除 rwx 权限

# 复杂案例
chmod a+r,ug+w,o-w a.conf b.xml

2. 十二位权限(Linux附加权限)

Linux 除了设置正常的读写操作权限外,还有一类 Linxu 附加权限,包括:

  1. SET位权限 suid, sgid
  2. 粘滞位权限 sticky

2.1 SET位权限

suid/sgid 是为了使“没有取得特权用户要完成一项必须要有特权才可以执行的任务”而产生的。 一般用于给可执行的程序或脚本文件进行设置。

其中 suid 表示对属主用户增加SET位权限,sgid 表示对属组内用户增加SET位权限。执行文件被设置了 suidsgid 权限后,任何用户执行该文件时,将获得该文件属主、属组账号对应的身份。

不恰当地使用这些位可能使系统的安全遭到破坏。所以应该尽量避免使用SET位权限程序。

  • suid(set User ID,set UID):进程执行一个文件时通常保持进程拥有者的UID。如果设置了suid位,进程就获得了该文件拥有者的UID
  • sgid(set Group ID,set GID):进程就获得了进程组的UID

2.2 SET位权限表示形式(10位权限)

如果一个文件被设置了 suidsgid 位,会分别表现在所有者或同组用户的权限的可执行位上:

  • 如果文件设置了 suid,还设置了x,则相应的执行位表示为s(小写)
  • 如果文件设置了 suid,但没有设置x位,它将表示为S(大写)
-rwsr-xr-x    表示设置了suid,且拥有者有可执行权限
-rwSr--r--    表示suid被设置,但拥有者没有可执行权限
-rwxr-sr-x    表示sgid被设置,且群组用户有可执行权限
-rw-r-Sr--    表示sgid被设置,但群组用户没有可执行权限

2.3 SET位权限修改

SET位权限可以通过chmod命令设置,给文件加suidsgid的命令如下(类似于上面chmod赋予一般权限的命令):

chmod u+s filename 	# 设置suid位
chmod u-s filename 	# 去掉suid设置
chmod g+s filename 	# 设置sgid位
chmod g-s filename 	# 去掉sgid设置

2.4 粘滞位权限

粘滞位权限即sticky。一般用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限后,即便用户对该目录有写的权限,也不能删除该目录中其他用户的文件数据。

设置了粘滞位权限的目录,使用ls查看其属性时,其他用户权限处的x将变为t

2.5 粘滞位权限表示形式(10位权限)

一个文件或目录被设置了粘滞位权限,会表现在其他组用户的权限的可执行位上:

  • 如果文件设置了sticky,还设置了x,其他组用户的权限的可执行位为t(小写)
  • 如果文件设置了sticky,没有设置x位,它将表示为T(大写)

2.6 粘滞位权限修改

使用chmod命令设置目录权限时,+t-t权限模式可分别用于添加、移除粘滞位权限。

2.7 十二位的权限表示方法

附加权限除了用十位权限形式表示外,还可以用用十二位字符表示:

11 10 9 8 7 6 5 4 3 2 1 0
S  G  T r w x r w x r w x

在这十二位的每一位上都置值。如果有相应的权限则为1, 没有此权限则为0

-rw-r-sr-- 的值为: 0 1 0  1 1 0  1 0 0  1 0 0
-rwsr-xr-x 的值为: 1 0 0  1 1 1  1 0 1  1 0 1
-rwsr-sr-x 的值为: 1 1 0  1 1 1  1 0 1  1 0 1 
-rwsr-sr-t 的值为: 1 1 1  1 1 1  1 0 1  1 0 1

如果将则前三位SGT也转换成一个二进制数,则:

  • suid 的八进制数字是4
  • sgid 的代表数字是 2
  • sticky 位代表数字是1

十二位权限便可以转化为4个八进制数。


假设 netlogin 是 root 用户创建的一个上网认证程序,如果其他用户要上网也要用到这个程序,
那就需要 root 用户运行 chmod 755 netlogin 命令,使其他用户也能运行 netlogin。

但假如 netlogin 执行时需要访问一些只有 root 用户才有权访问的文件,
那么其他用户执行 netlogin 时可能因为权限不够还是不能上网。

这种情况下,就可以用 chmod 4755 netlogin,
设置其他用户在执行 netlogin 也有 root 用户的权限,从而顺利上网。

参考链接 - Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表