UOS系统umask需按层级配置:临时用umask命令,用户级写入~/.bashrc或~/.profile,全局新用户统一设/etc/login.defs中的UMASK值,推荐027(文件640、目录750),并新开终端实测验证。

UOS系统中新建文件或目录权限不符合协作或安全要求,比如日志文件被同组成员意外修改、配置文件被其他用户读取,根源往往在于umask未正确配置。UOS基于Debian/Ubuntu体系,其umask行为与标准Linux一致,但默认配置位置和生效优先级有UOS特有逻辑,需按实际路径操作。
查看当前会话umask值
在终端中直接执行umask命令,输出三位八进制数(如0022),该值仅对当前终端有效。
执行umask -S可看到符号化表示(如u=rwx,g=rx,o=rx),更直观判断各用户类别的权限屏蔽状态。
临时设置当前终端umask
输入umask 002 → 新建文件权限变为664、目录变为775,适合开发组内协作。
umask 027 → 文件变为640、目录变为750,限制“其他用户”全部访问,兼顾组内读写与外部隔离。
【注意】此设置退出终端即失效,仅用于测试或单次任务,不可用于生产环境长期控制。
永久设置单个用户默认umask
方法一:修改用户shell配置文件
1. 打开终端,执行nano ~/.bashrc(UOS默认shell为bash)
2. 滚动到底部,新增一行:umask 027(根据安全策略选027或077)
3. 按Ctrl+O保存 → 回车确认 → Ctrl+X退出
4. 立即生效:执行source ~/.bashrc
方法二:使用~/.profile(兼容性更强)
若用户使用非交互式登录(如远程SSH首次连接),~/.bashrc可能不加载,此时应将umask 027追加到~/.profile末尾,再执行source ~/.profile。
全局设置所有新用户umask(UOS推荐方式)
UOS系统级umask统一由/etc/login.defs控制,该文件优先级高于/etc/profile或/etc/bash.bashrc。
1. 以管理员身份执行:sudo nano /etc/login.defs
2. 查找含UMASK的行(通常在文件中部),将其改为UMASK 027
3. 保存退出后,该设置对所有后续创建的新用户立即生效
【关键】已有用户需重新登录或新开终端才能继承新umask;su切换用户不触发重载,必须完整登出再入。
验证设置是否生效
打开一个全新终端窗口(不是Tab页,而是独立启动的Terminal进程)。
执行umask确认输出为设定值(如0027)。
运行touch testfile && mkdir testdir && ls -l testfile testdir,检查文件权限是否为-rw-r-----、目录为drwxr-x---。

















