在 Ubuntu(以及其他基于 Linux 的系统)中,文件和目录的权限决定了哪些用户可以读取、写入或执行它们。这些权限是通过一组数字或符号来设置的。
使用 chmod
命令设置文件权限
chmod
命令用于更改文件或目录的权限。你可以使用数字或符号来设置权限。
使用数字设置权限
在数字方法中,每个权限(读、写、执行)都有一个对应的数字值:
- 读(r):4
- 写(w):2
- 执行(x):1
每个用户类别(所有者、组、其他用户)都有一组三位数的权限设置。例如,755
意味着:
- 所有者:读/写/执行(4 + 2 + 1 = 7)
- 组:读/执行(4 + 1 = 5)
- 其他用户:读/执行(4 + 1 = 5)
使用 chmod
命令设置权限:
chmod 755 filename |
使用符号设置权限
符号方法允许你通过添加或删除权限来更改权限设置。符号包括:
u
:所有者g
:组o
:其他用户a
:所有用户(u, g, o 的组合)+
:添加权限-
:删除权限=
:设置权限(忽略任何现有的权限)
例如,要给所有者添加执行权限,但删除组和其他用户的写权限:
chmod u+x,go-w filename |
使用 chown
和 chgrp
命令更改文件的所有者和组
除了权限之外,你还可以更改文件或目录的所有者和组。
chown
用于更改文件或目录的所有者。chgrp
用于更改文件或目录的组。
例如:
chown newuser filename # 更改文件的所有者 | |
chgrp newgroup filename # 更改文件的组 |
设置目录权限
对于目录,执行权限允许用户进入该目录。例如,如果你设置了目录的读权限但没有设置执行权限,用户将不能列出目录中的文件,因为他们不能“进入”该目录。
注意事项
- 在更改文件或目录的权限之前,请确保你了解这些更改将如何影响系统的安全性和功能性。
- 始终小心处理具有特殊权限(如
setuid
、setgid
或sticky bit
)的文件或目录。这些权限可以赋予文件或目录额外的功能,但也可能带来安全风险。