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 = 755 → drwxr-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:如 sudo、cron、某些服务可能使用不同的 umask。
  3. 安全考虑:避免使用 000,否则文件权限过于开放,存在安全风险。
  4. 协作环境:开发团队常使用 002 或 0002,以便组成员可编辑同一文件。

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

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

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.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

相关推荐

  • 广州移动NAT VPS好用吗?菠萝云春节特价VPS推荐

    菠萝云春节推出的广州移动NAT VPS凭借12.9元的超低月付门槛,成为个人开发者搭建轻量级应用、测试环境及小型网站的极致性价比之选,尽管其NAT架构限制了公网IP的独占性,但在特定场景下依然具备极高的实用价值,菠萝云广州移动NAT VPS核心配置解析在2026年的云服务器市场中,价格战早已从单纯的算力比拼转向……

    2026年6月25日
    1800
  • 买一台服务器到底要多少钱,服务器多少钱一台?

    买一台服务器多少钱?答案是:从每月几十元的云服务器到数十万元的高性能物理机都有,价格跨度极大,关键看你的用途和配置,对于个人博客或小型企业官网,一年预算在几百到几千元即可搞定;对于电商大促、视频渲染或高并发业务,则需要投入数万元甚至更多,这篇文章直接拆解不同场景下的真实价格、配置清单和选购逻辑,帮你把钱花在刀刃……

    2026年8月17日
    1000
  • 国外业务负载均衡怎么做,如何提升国外业务处理能力

    构建高可用、低延迟的全球服务架构,核心在于实施精细化的流量分发策略,国外业务处理能力负载均衡作为这一策略的技术基石,直接决定了跨国业务的响应速度、系统稳定性及最终的用户转化率,通过智能调度算法与全球节点部署,企业能够有效化解区域流量激增风险,实现资源的动态最优配置,确保在全球任何角落的用户都能获得一致的优质体验……

    2026年3月1日
    11100
  • linux svn 连不上怎么办?linux svn 连接失败解决方法

    Linux环境下SVN连不上通常由防火墙拦截、SELinux策略限制、网络端口不通或认证配置错误引起,建议优先检查3690端口连通性及服务端日志,当你在Linux服务器上使用SVN客户端连接仓库时,遇到连接超时或拒绝连接的情况,确实让人头疼,这不仅仅是网络问题,往往涉及系统底层的安全策略和配置细节,业内专家指出……

    2026年7月4日
    15400
  • linux如何修改crontab?linux定时任务crontab配置方法

    修改Linux crontab的核心方法是使用crontab -e命令进入编辑模式,保存退出后系统会自动加载新配置,无需重启服务即可生效,在Linux系统运维中,定时任务调度是自动化脚本执行的关键环节,很多初学者面对黑漆漆的终端界面时,往往不知道如何安全地添加或修改定时任务,crontab并不是一个需要频繁手动……

    2026年7月6日
    13400
  • linux cvt是什么?,linux cvt怎么用

    Linux cvt命令是生成符合VESA标准的显示器时序参数的核心工具,用来解决自定义分辨率下的黑屏和画面撕裂问题,linux cvt 命令用法详解什么是CVT和cvt命令CVT的全称是Coordinated Video Timings,由VESA组织制定,用于规范显示器所需的行场同步、消隐和像素时钟等参数,L……

    行业资讯 2026年7月17日
    1200
  • app网站与普通网站的区别,企业建站选哪个好?

    APP网站与普通网站的区别核心在于交互逻辑、功能承载及后台架构的深度差异,企业网站与APP后台的分离或融合,直接决定了数字化运营的效率与成本,普通网站侧重于信息的单向展示与SEO引流,基于浏览器运行;APP网站(或混合应用)则侧重于用户交互、设备功能调用及私有流量沉淀,依托移动端环境;而企业网站/APP后台则是……

    2026年4月1日
    10900
  • 企业安全管理解决方案有哪些?如何构建高效安全管理体系

    安全管理解决方案的核心在于将分散的监控、预警与响应流程整合为统一的数字化闭环,通过AI驱动的风险识别实现从“被动防御”向“主动治理”的跨越,传统安全管理的痛点与数字化转型的必然性过去,企业的安全管理往往依赖人工巡检和纸质记录,这种模式在面对复杂的生产环境或庞大的办公园区时,显得力不从心,业内专家指出,传统手段最……

    2026年6月6日
    3300
  • 带宽1G的服务器多少钱一个月,哪家便宜?

    带宽1G的服务器月租费用因配置、线路和机房差异较大,通常从几百元到数千元不等,其中独享带宽、高防线路和海外机房是影响价格的主要因素,带宽1g的服务器多少钱一个月?价格差异解析服务器带宽1G的价格并非固定不变,而是由硬件配置、带宽类型、机房位置以及服务商附加服务共同决定,了解这些因素,才能判断你是否买贵了,服务器……

    2026年7月23日
    500
  • ai人工智能是那种语言_人工智能,人工智能主要用什么编程语言

    人工智能并非单一语言,而是由Python、C++、Java等多种编程语言共同构建的技术体系,其中Python因生态丰富成为主流开发语言,当我们谈论“AI是什么语言”时,往往陷入一种误解,以为存在某种像英语或汉语那样通用的自然语言来编写智能,人工智能是一个庞大的技术栈,它依赖于底层硬件驱动、中间层算法框架以及上层……

    2026年6月4日
    4900

发表回复

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