linuxs什么权限
linuxs什么权限详细介绍
在 Linux 系统中,文件和目录的权限是基于 用户(User)、用户组(Group)、其他用户(Others) 三类角色,对 读(Read)、写(Write)、执行(Execute) 三种操作的控制。以下是权限的核心内容:
一、基本权限(读、写、执行)
1.
权限分类
- 读(
r,Read):- 文件:可以查看文件内容(如用
cat命令)。 - 目录:可以列出目录中的文件(如用
ls命令)。
- 文件:可以查看文件内容(如用
- 写(
w,Write):- 文件:可以修改文件内容(如用
echo > file写入)。 - 目录:可以在目录中创建、删除、重命名文件或子目录。
- 文件:可以修改文件内容(如用
- 执行(
x,Execute):- 文件:可以作为程序执行(如脚本文件或二进制文件)。
- 目录:可以进入目录(如用
cd命令)。
2.
权限表示
- 符号表示:用
r、w、x分别表示读、写、执行,无权限则用-代替。
例如:rwxr-xr--表示:- 用户(Owner):可读、可写、可执行(
rwx) - 用户组(Group):可读、可执行(
r-x) - 其他用户(Others):可读(
r--)
- 用户(Owner):可读、可写、可执行(
- 数字表示:将权限转换为二进制或八进制数字(
r=4,w=2,x=1,无权限 = 0)。
例如:754对应rwxr-xr--(用户:4+2+1=7,组:4+0+1=5,其他:4+0+0=4)。
二、权限相关的三类角色
- 用户(Owner):文件或目录的所有者(通常是创建者,可通过
chown修改)。 - 用户组(Group):与文件关联的用户组(可通过
chgrp修改)。 - 其他用户(Others):除所有者和组内成员外的所有用户。
三、权限操作命令
1.
查看权限
- 使用
ls -l或ll命令,结果的第一列表示权限,例如:plaintext-rwxr-xr-- 1 user group 1024 Apr 12 10:00 file.txt^--- 权限部分:第1位是类型(`-`为文件,`d`为目录,`l`为链接),后9位分三组(用户、组、其他)
2.
修改权限(chmod)
- 符号模式:按角色和权限修改(
u= 用户,g= 组,o= 其他,a= 所有)。
例如:chmod u+w,g-x,o=r file.txt:给用户添加写权限,给组删除执行权限,给其他用户设置只读。
- 数字模式:直接指定八进制权限值。
例如:chmod 755 file.txt(用户:读 + 写 + 执行,组和其他:读 + 执行)。
3.
修改所有者 / 组(chown 和 chgrp)
chown new_owner file.txt:修改文件所有者。chown :new_group file.txt或chgrp new_group file.txt:修改文件所属组。- 同时修改所有者和组:
chown new_owner:new_group file.txt。
四、特殊权限
1.
SUID(Set User ID)
- 作用:当用户执行设置了 SUID 的文件时,临时以文件所有者的权限运行。
- 表示:在用户权限的执行位(
x)显示为s(如rwsr-xr-x)。 - 示例:
passwd命令(普通用户可修改自己的密码,实际以 root 权限执行)。
2.
SGID(Set Group ID)
- 作用:
- 对文件:执行时临时获取文件所属组的权限。
- 对目录:在目录中创建的新文件 / 目录继承该目录的用户组(而非创建者的默认组)。
- 表示:在组权限的执行位显示为
s(如r-xr-sr-x)。
3.
粘滞位(Sticky Bit)
- 作用:防止其他用户删除或重命名目录中的文件(即使有写入权限),通常用于公共目录(如
/tmp)。 - 表示:在其他用户权限的执行位显示为
t(如rwxrwxrwt)。
五、目录与文件权限的区别
| 权限 | 文件 | 目录 |
|---|---|---|
| 读(r) | 可以查看文件内容(如 cat) |
可以列出目录中的文件(如 ls) |
| 写(w) | 可以修改文件内容(如写入、删除内容) | 可以在目录中创建、删除、重命名文件或子目录 |
| 执行(x) | 可以执行文件(如脚本、二进制程序) | 可以进入目录(如 cd) |
六、权限最佳实践
- 最小权限原则:给文件 / 目录分配刚好足够的权限,避免安全风险。
- 公共目录权限:常用
755(目录)和644(文件),敏感文件可设为600(仅所有者可读写)。 - 特殊权限慎用:SUID/SGID 可能导致安全漏洞,仅在必要时使用(如系统工具)。
如果需要更具体的权限操作示例,可以进一步说明场景哦!