umask是linux中用于控制新建文件和目录默认权限的掩码,通过从文件最大权限666和目录最大权限777中屏蔽相应权限位来确定实际权限;例如umask 022创建文件为644、目录为755,umask 002则为664和775,适合组内共享;系统级设置可通过修改/etc/profile、/etc/login.defs或使用pam模块(如pam_umask.so)实现,其中pam方式推荐用于统一管理不同登录场景;单个用户可通过修改~/.bashrc、~/.zshrc等shell配置文件设置;常见umask值包括022(最常用)、002(协作环境)、077(完全私有)和007(组共享);验证时需打开新终端执行umask命令并创建测试文件检查权限;需注意umask仅影响新文件,权限计算为按位屏蔽而非数学减法,且某些服务如cron或图形界面可能需单独配置以确保生效。

在 Linux 和类 Unix 系统中,
umask
umask
umask
666
777
umask
umask 022
644
755
umask 002
664
775
如果你希望为整个系统或所有用户设置默认
umask
/etc/profile
/etc/bashrc
这些文件影响所有使用 bash 的用户。
编辑
/etc/profile
sudo nano /etc/profile
在文件末尾添加:
umask 022
保存后,所有新登录的用户会应用这个
umask
注意:修改后仅对新登录会话生效,当前终端不会立即改变。
/etc/login.defs
某些系统(如使用 shadow 密码的)会从
/etc/login.defs
umask
编辑文件:
sudo nano /etc/login.defs
找到并修改:
UMASK 022
这个设置会影响
useradd
许多现代 Linux 发行版使用 PAM(Pluggable Authentication Modules)来设置
umask
编辑 PAM 配置文件:
sudo nano /etc/pam.d/common-session
添加一行:
session optional pam_umask.so umask=022
这样在用户登录时,PAM 会自动设置
umask
如果只想为某个用户设置,可以修改其 shell 配置文件。
例如,对于使用 bash 的用户,编辑:
~/.bashrc ~/.bash_profile
添加:
umask 022
如果是 zsh 用户,修改
~/.zshrc
注意:不同 shell 使用不同的配置文件,需确认当前用户使用的是哪种 shell。
022
644
755
002
664
775
077
600
700
007
660
770
打开新终端,运行:
umask
输出应为设置的值(如
0022
测试创建文件和目录:
touch testfile mkdir testdir ls -l testfile testdir
查看权限是否符合预期。
umask
.bashrc
.profile
基本上就这些。设置
umask
以上就是如何设置默认umask 控制新建文件权限的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号