在Linux中,文件权限控制是通过文件系统的权限位来实现的。每个文件和目录都有一组与之关联的权限,这些权限决定了用户可以对文件或目录执行哪些操作。文件权限分为三类:用户(u)、组(g)和其他人(o)。每类权限又可以分为读(r)、写(w)和执行(x)三种。
要查看文件或目录的权限,可以使用ls -l命令。例如:
-rwxr-xr-- 1 user group 4096 Sep 1 12:34 example.txt
这个输出表示example.txt文件的权限设置如下:
要修改文件或目录的权限,可以使用chmod命令。chmod命令有两种模式:符号模式和绝对模式。
符号模式:使用符号表示用户类别(u、g、o、a)和操作(+、-、=),以及权限(r、w、x)。例如:
chmod g+w example.txtchmod o-x example.txtchmod u=rw example.txt绝对模式:使用三位八进制数表示权限,每一位分别代表用户、组和其他人的权限。例如:
chmod 755 example.txtchmod 644 example.txt要修改文件或目录的所有者和组,可以使用chown和chgrp命令。例如:
chown newuser example.txtchgrp newgroup example.txt此外,还可以使用umask命令设置默认的文件创建权限掩码,以便在创建新文件时自动应用这些权限。例如,要将默认权限设置为644,可以执行:
umask 022
这将屏蔽掉其他人的写权限,从而使得新创建的文件具有644的权限。