linux设置umask怎么改?linux umask默认值是多少

在 Linux 系统中,umask(用户文件创建模式掩码)用于控制新创建的文件和目录的默认权限,它通过“屏蔽”掉某些权限位,来决定新文件/目录的最终权限。


什么是 umask?

  • 文件默认权限:通常为 666(即 -rw-rw-rw-),因为文件默认不应有执行权限。
  • 目录默认权限:通常为 777(即 drwxrwxrwx),因为目录需要可执行权限才能进入。
  • umask 作用:从默认权限中“减去”(更准确说是“屏蔽”)umask 设置的权限。

注意:umask 是减法逻辑,但不是直接相减,而是按位“非”后与默认权限进行“与”操作。

Linux中的默认权限-umask
加载中
Linux中的默认权限-umask

查看当前 umask

umask

输出示例:

0022

这表示:

  • 文件默认权限:666 & ~022 = 644-rw-r--r--
  • 目录默认权限:777 & ~022 = 755drwxr-xr-x

linux设置umask怎么改?linux umask默认值是多少

临时设置 umask(仅当前 shell 会话有效)

umask 0022   # 设置 umask 为 0022
umask 0002   # 设置 umask 为 0002(常用于开发协作,组可写)

设置后,新开终端或重新登录会失效。


永久设置 umask

方法 1:修改用户级配置文件(推荐)

编辑当前用户的 shell 配置文件:

  • 对于 Bash
    echo "umask 0022" >> ~/.bashrc
  • 对于 Zsh
    echo "umask 0022" >> ~/.zshrc

然后重新加载配置:

source ~/.bashrc   # 或 source ~/.zshrc

方法 2:修改系统级配置文件(影响所有用户)

编辑 /etc/profile/etc/bash.bashrc(Debian/Ubuntu)或 /etc/profile.d/umask.sh

sudo echo "umask 0022" > /etc/profile.d/umask.sh

注意:某些发行版使用 /etc/login.defs 中的

linux设置umask怎么改?linux umask默认值是多少

UMASK 字段,但更推荐上述方法。


umask 数值含义

umask 是三位八进制数,分别代表:

含义 对应权限屏蔽
第1位 特殊权限(setuid/setgid/sticky) 通常设为 0
第2位 所有者(user)权限屏蔽 4=读, 2=写, 1=执行
第3位 组(group)权限屏蔽 同上
第4位 其他(others)权限屏蔽 同上

常见 umask 值:

linux设置umask怎么改?linux umask默认值是多少

umask 文件权限 目录权限 适用场景
022 644 755 默认,安全,适合大多数用户
027 640 750 组不可访问,更严格
002 664 775 组可写,适合协作开发
007 660 770 仅所有者和组可访问

验证 umask 效果

# 设置 umask
umask 0027
# 创建文件
touch testfile
ls -l testfile
# 输出: -rw-r----- 1 user group 0 ...
# 创建目录
mkdir testdir
ls -ld testdir
# 输出: drwxr-x--- 2 user group 4096 ...

注意事项

  1. umask 不影响已有文件:只对新创建的文件/目录生效。
  2. 某些程序可能忽略 umask:如 sudocron、某些服务可能使用不同的 umask。
  3. 安全考虑:避免使用 000,否则文件权限过于开放,存在安全风险。
  4. 协作环境:开发团队常使用 0020002,以便组成员可编辑同一文件。

  • 查看:umask
  • 临时设置:umask 0022
  • 永久设置:写入 ~/.bashrc/etc/profile.d/umask.sh
  • 常用值:022(默认)、002(协作)、027(严格)

根据你的使用场景选择合适的 umask 值即可。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/479524.html

(0)
免费SSL CDN是什么,免费SSL CDN申请
上一篇 2026年7月10日 10:02
Linux ALSA PCM是什么?alsa pcm编程入门教程
下一篇 2026年7月10日 10:06

相关推荐

  • 上海Linux招聘难吗?上海Linux运维工程师薪资多少

    2026年上海Linux招聘市场呈现“高阶化”与“云原生驱动”特征,核心需求已从基础运维转向自动化运维、容器化架构及AI基础设施管理,具备Kubernetes实战经验与Python/Go开发能力的复合型人才薪资溢价显著,随着数字化转型进入深水区,上海作为中国的科技与金融中心,其Linux技术岗位的门槛正在发生肉……

    2026年7月5日
    6100
  • 老电脑装Linux卡顿怎么办?linux适合老旧电脑吗

    老爷机跑Linux不仅可行,而且通过选择轻量级发行版和合理配置,能让十年前的电脑焕发新生,彻底告别卡顿与软件收费,实现零成本的高效办公与学习,当你的电脑开机需要五分钟,打开浏览器像在看幻灯片,甚至因为软件版权费用而犹豫是否升级硬件时,Linux其实是那个被低估的救星,它不是极客的专属玩具,而是老旧硬件的“起死回……

    2026年7月8日
    5100
  • Linux grep如何匹配引号?grep匹配单双引号方法

    在Linux中使用grep处理包含单引号或双引号的字符串时,核心技巧是利用反斜杠转义、使用不同引号包裹模式,或借助-e参数组合,其中处理单引号最稳妥的方式是“双引号包单引号”或“单引号包双引号”的嵌套策略,很多刚接触Linux命令行的小伙伴,在编写脚本或执行grep命令时,经常会遇到“引号不匹配”导致的报错,这……

    2026年7月6日
    15500
  • linux clang怎么安装?linux clang安装教程

    在Linux系统中安装Clang最直接的方式是使用包管理器(如apt或yum)安装llvm包,或者从源码编译以获得最新特性,前者适合生产环境,后者适合开发调试,Clang作为现代C/C++编译器的核心引擎,凭借其快速的编译速度和清晰的错误提示,已成为许多开发者替代GCC的首选,对于Linux用户而言,选择合适的……

    2026年7月6日
    5500
  • Linux基准测试怎么做?服务器性能测试工具推荐

    Linux基准测试的核心在于通过Sysbench、UnixBench等工具量化CPU、内存、磁盘I/O及网络性能,建议根据业务场景(如高并发Web或数据库)选择对应测试项,并关注多核利用率与IOPS指标以评估服务器真实承载力,在云计算和容器化技术普及的今天,服务器性能不再是一个黑盒,无论是自建机房还是使用公有云……

    2026年7月8日
    19000
  • Linux清空屏幕用什么命令?linux终端清屏快捷键

    在Linux终端中清空屏幕最直接且通用的方法是使用clear命令,若需彻底清除滚动缓冲区则应使用Ctrl+L组合键或reset命令,日常使用Linux服务器或本地开发环境时,终端窗口被大量日志、错误信息或之前的命令输出填满,不仅影响阅读体验,还容易掩盖关键报错信息,面对满屏的杂乱字符,许多初学者会感到无从下手……

    2026年7月7日
    18900
  • linux joomla怎么安装?joomla安装教程

    在Linux环境下安装Joomla最稳妥的方式是通过LAMP或LNMP环境部署,推荐使用宝塔面板或命令行配合Composer进行安装,前者适合新手快速建站,后者适合开发者追求高性能与安全性,Joomla作为全球领先的开源内容管理系统,凭借其强大的扩展性和灵活性,在政府、教育及企业官网领域占据重要地位,许多用户在……

    2026年7月8日
    5800
  • linux系统对比哪个好用?linux系统对比哪个更适合

    Linux系统没有绝对的“最好”,只有“最合适”:追求极致稳定选RHEL系,偏好免费易用选Debian系,需要极致性能优化选Arch系,主流Linux发行版核心差异深度解析在2026年的今天,Linux早已不再是极客的专属玩具,而是服务器、云计算乃至桌面办公的主力军,面对市场上琳琅满目的发行版,许多用户陷入选择……

    2026年7月8日
    3300
  • linux网络监听怎么设置?linux网络监听工具推荐

    Linux网络监听的核心在于通过捕获网卡底层数据包,结合tcpdump、Wireshark等工具进行协议解析,从而实现对网络流量、连接状态及安全异常的实时监测与故障排查,为什么需要掌握Linux网络监听技术在云计算和微服务架构普及的今天,网络不再是黑盒,当应用出现延迟、丢包或连接中断时,传统的日志分析往往只能看……

    2026年7月8日
    16000
  • linux日志格式是什么?linux系统日志路径及查看方法

    Linux 系统中的日志格式并不是单一的,而是取决于具体的日志服务软件(如 syslog、journald、auditd 等)以及应用程序本身的配置,以下是 Linux 中最常见的几种日志格式详解:Syslog 格式 (传统格式)这是最经典、最通用的日志格式,广泛用于 /var/log/syslog、/var……

    2026年7月10日
    18700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注