chmod
和 umask
是 Linux 系统中用于文件和目录权限管理的两个重要命令
chmod
命令用于修改文件或目录的权限。它的基本语法如下:
chmod [ugoa][+-=][rwx] 文件名或目录名
其中,u
表示用户(user),g
表示组(group),o
表示其他用户(other),a
表示所有用户(all)。+
表示添加权限,-
表示移除权限,=
表示设置权限。rwx
分别表示读(read)、写(write)和执行(execute)权限。
umask
命令用于设置用户和组的默认文件创建掩码。它的基本语法如下:
umask [选项] [数字]
其中,选项
可以是 -S
(以符号形式显示掩码),-p
(显示当前 shell 会话的掩码),-R
(递归地显示目录掩码)。数字
是一个八进制数,表示允许的权限位。例如,022
表示允许用户和组读写文件,但禁止其他用户访问。
chmod
和 umask
配合使用的方法是:首先使用 umask
命令设置一个默认的掩码,然后使用 chmod
命令根据这个掩码为文件或目录分配权限。这样,当你创建一个新文件时,它的权限将自动应用你设置的掩码。
例如,假设你想让新创建的文件具有 644(rw-r–r–)的权限,你可以这样设置 umask
:
umask 022
现在,当你使用 chmod
为文件分配权限时,新文件的权限将自动遵循 umask
设置的掩码。例如:
touch example.txt
chmod 644 example.txt
在这个例子中,umask
会自动移除 example.txt
的组和其他用户的写权限,使得最终权限为 644(rw-r–r–)。