在 CentOS 系统中,文件权限是通过 chmod
命令来设置的。文件权限分为三类:用户(u)、组(g)和其他人(o)。每类权限又可以分为读(r)、写(w)和执行(x)三种。你可以使用数字或符号来表示这些权限。
使用数字表示法
每个权限类型可以用一个数字表示:
- 读(r)= 4
- 写(w)= 2
- 执行(x)= 1
将这些数字相加可以得到一个三位数,分别表示用户、组和其他人的权限。例如:
- 755 表示用户有读、写、执行权限,组和其他人有读、执行权限。
- 644 表示用户有读、写权限,组和其他人有读权限。
示例
# 设置文件 user.txt 的权限为 755 chmod 755 user.txt # 设置目录 dir1 的权限为 700 chmod 700 dir1
使用符号表示法
符号表示法更加直观,适用于对特定用户或组的权限进行修改。符号表示法的格式为 [ugo][[+-=]][[rwxXst]]
:
u
:用户(文件所有者)g
:组(文件所属组)o
:其他人a
:所有用户(等同于ugo
)+
:添加权限-
:移除权限=
:设置权限并移除其他权限r
:读权限w
:写权限x
:执行权限X
:如果目标是一个目录或已经具有执行权限,则添加执行权限s
:设置 setuid 或 setgid 位t
:设置 sticky 位
示例
# 给用户添加写权限 chmod u+w user.txt # 移除组的执行权限 chmod g-x dir1 # 设置所有用户的读和写权限,并移除其他权限 chmod a=rw,go= user.txt # 设置 setuid 位 chmod u+s program # 设置 sticky 位 chmod +t /tmp
查看文件权限
你可以使用 ls -l
命令来查看文件或目录的详细信息,包括权限。
ls -l user.txt
输出示例:
-rwxr-xr-x 1 user group 1234 Jan 1 12:34 user.txt
- 第一个字符表示文件类型(
-
表示普通文件,d
表示目录)。 - 接下来的三个字符表示用户的权限(
rwx
)。 - 再接下来的三个字符表示组的权限(
r-x
)。 - 最后三个字符表示其他人的权限(
r-x
)。
通过这些方法,你可以在 CentOS 系统中灵活地设置和管理文件权限。