文件类型
-
, 普通文件l
, 链接文件d
, 目录c
, 字符设备文件b
, 块设备文件p
, 管道文件s
, Sockett
, 特殊文件
基础
- 权限类型:
- r,读 4
- w,写 2
- x,可执行 1
- 用户类型:
- user, 文件所有者
- group, 文件所有组的所有用户
- other,其他用户
目录的权限
- r: 列出目录下的文件(
ls
) - w: 在目录中,创建、删除、重命名文件或子目录
- x: 进入目录(
cd
)
示例
touch /tmp/testPerm
chmod 7777 /tmp/testPerm
ll /tmp/testPerm
-rwsrwsrwt 1 catroll catroll 0 2014-02-27 17:41:06 /tmp/testPerm
Linux 权限的两种表示方法:
- 数字:
- 字母:
第一位表示文件类型
第 2 - 4 位表示文件所有者的权限
第 5 - 7 位表示文件所有组的权限
第 8 - 10 位表示其他用户的权限
特殊权限
Linux 中的权限一共用 12 位来表示,除了上面 u g o 各 3 位(rwx)一共 9 位之外,还有 3 位:
- setuid / suid, 4,显示为 S(显示在所有者权限中的第三位,如果有 x 的话,就显示 s)
- setgid / sgid,2,显示为 S(显示在所有组权限中的第三位,如果有 x 的话,就显示 s)
-
sticky bit ,1,显示为 T
-
suid, sgid 是用来给文件设置临时提权用的。如果设置, 所有用户都会继承文件所有者或所有组的权限。
- 如果目录设置了 sgid,那么该目录中新创建的文件和子目录会继承目录的所在组。
- sticky bit 一般翻译为粘滞位,设置在目录上, 仅允许文件所有者(或 root)才能删除改目录下的文件。
Linux 或 FreeBSD 都会忽略文件上的 sticky bit。
suid | sgid | sbit | |
---|---|---|---|
文件 | |||
目录 |
-rwsr-xr-x 1 root root 43K 2013-09-23 22:07:01 mount
-rwsr-xr-x 1 root root 59K 2013-06-18 03:35:15 passwd
-rwsr-xr-x 1 root root 55K 2013-09-23 22:07:01 su
-rwsr-xr-x 1 root root 183K 2013-06-22 06:09:32 sudo
https://en.wikipedia.org/wiki/Setuid
https://en.wikipedia.org/wiki/Sticky_bit
https://web.archive.org/web/20130204053849/http://content.hccfl.edu/pollock/aunix1/filepermissions.htm
操作
chown 更改文件所有者和文件所有组
chgrp 更改文件所有组
chmod 更改权限
chmod 755 filePath
chmod 644 filePath
chmod u+x filePath
chmod g+r filePath
chmod o+w filePath
chmod a+r filePath