如何使用 umask 在 Linux 上设置新文件的权限
文件权限对于 Linux 系统的安全至关重要。但是如何在 Linux 上设置新文件的默认权限呢?
如果您使用 Linux 有一定时间,您就会知道 Linux 文件权限有多么重要。但是创建新文件时的权限又如何呢?名为 umask 的实用程序可让您在 Linux 上为新文件设置默认文件权限。
什么是 umask?
umask 是一个“位掩码”,用于设置新文件的权限位。在 Linux 系统上,它是一个独立的命令,尽管 Bash 或 Zsh 等现代 shell 将其作为内置命令包含在内。
umask 定义将对新文件删除哪些权限。它使用与 chmod 命令类似的八进制数字权限系统。您可以将 umask 视为减去某些用户类别对新文件的权限。
常见的默认 umask 是 022。这将保留文件所有者的权限,同时删除组成员和其他用户的写入权限。
umask 在服务器等多用户系统上更为重要,因为它通过默认限制新文件的权限来帮助保持系统安全。如果管理员以 root 身份创建一个新文件,您不希望普通用户能够写入该文件。
要查看当前的 umask,请在 shell 中输入 umask。您可以使用-S选项象征性地看到它。
umask -S
为一个用户设置 umask
您可以使用 umask 命令为会话设置 umask:
umask 022
您可以将其放入 shell 启动文件中,例如 .bashrc 或 .zshrc,具体取决于您使用的 shell。
设置系统范围的 umask
如果您确实运行多用户服务器,最好在系统范围内设置一个好的 umask。您可以通过将 umask 设置放入系统上安装的所有 shell 的全局 shell 启动文件中来完成此操作。
例如,您可以将 umask 设置放在 /etc/profile 中,因为 Bash 和 Zsh 在启动时都会读取该设置。 csh 和 tcsh 读取 /etc/csh.cshrc 和 /etc/csh.login 文件,后者用于登录 shell。
现在您拥有新 Linux 文件的正确权限
使用 umask,您现在可以确保您对系统上的新文件拥有适当的权限。但这还不够。如果您想要更高的安全性,您可能需要在 Linux 上对某些文件进行密码保护。有多种方法可以做到这一点,而且很容易实现。