讲师中心 微信公众号
AI工具推荐 视频效率加速

如何使用 umask 设置 Linux 进程创建文件的默认权限

小浩大大_6550

小浩大大_6550

发布时间:2026-07-08 08:29:11

|

575人浏览过

|

来源于php中文网

原创

umask不是设置默认权限,而是定义创建文件或目录时自动屏蔽的权限位;实际权限由“文件0666 & (~umask)、目录0777 & (~umask)”计算,且普通文件永远无执行位。

如何使用 umask 设置 linux 进程创建文件的默认权限

umask 不是“设置默认权限”,而是定义进程创建文件或目录时自动屏蔽哪些权限位。它作用于 open()、mkdir() 等系统调用传入的初始权限,影响的是新对象的起点权限,而不是事后 chmod。

实际权限由公式决定:
文件:0666 & (~umask)
目录:0777 & (~umask)
注意:普通文件永远不带执行位(x),这是内核强制行为,umask 无法绕过。


查看当前 umask 值

umask        # 显示八进制值,如 0022
umask -S     # 显示符号形式,如 u=rwx,g=rx,o=rx

输出 0022 表示:用户(u)不限制、组(g)屏蔽写(w)、其他(o)屏蔽写(w)。


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

适合测试或单次任务:

  • umask 002 → 文件 664(-rw-rw-r--),目录 775(drwxrwxr-x)
  • umask 027 → 文件 640(-rw-r-----),目录 750(drwxr-x---)
  • umask 077 → 文件 600(-rw-------),目录 700(drwx------)

⚠️ 错误写法:umask 22(无前导零)会被解释为十进制 22 → 八进制 026,结果不可控。

验证是否生效:

touch testfile && mkdir testdir
ls -ld testfile testdir

永久设置(按场景选对位置)

单用户生效(推荐开发机/个人环境)

编辑对应 shell 的初始化文件(先查 echo $SHELL):

  • Bash 用户:~/.bashrc 或 ~/.profile(GUI 终端更可能读 ~/.profile)
  • Zsh 用户:~/.zshrc
  • Fish 用户:~/.config/fish/config.fish

添加一行:

umask 002

然后运行:

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载
source ~/.bashrc  # 或对应文件

所有新用户生效(服务器部署首选)

修改 /etc/login.defs:

sudo nano /etc/login.defs

确保有未注释行:

UMASK 027

该设置只影响 useradd 创建的新用户首次登录。

覆盖 su/sudo/cron/systemd 等非标准登录(生产必须配)

PAM 是唯一可靠方式:

  • Debian/Ubuntu:在 /etc/pam.d/common-session 末尾加
    session optional pam_umask.so umask=0027

  • RHEL/CentOS:在 /etc/pam.d/system-auth 的 session 段加同上行

若提示 pam_umask.so 不存在,先安装:

sudo apt install libpam-umask   # Ubuntu/Debian
sudo yum install pam-devel      # RHEL/CentOS(旧版需编译或找包)

特殊场景补救(配置写了却没用?)

  • IDE、VS Code、Git、npm 创建的文件不受 umask 控制
    因为它们不走 shell 初始化流程,而是直接解压或复制预设权限(如 git blob 固定为 100644)。
    补救:

    • Git 仓库设 git config core.sharedRepository group
    • CI 脚本开头显式写 umask 002
    • 共享目录用 setfacl -d -m g:groupname:rwx /path 配合 ACL(需 ext4/xfs)
  • Cron 任务、systemd service、Docker 容器
    默认不加载任何 shell 配置。必须在脚本或 entrypoint 第一行写:

    #!/bin/bash
    umask 002
    ...

常见误区澄清

  • umask 000 ≠ 文件带 x 权限 → 内核强制过滤,新建普通文件永远无 x
  • umask 022 计算不是 666 - 022 = 644,而是 666 & (~022),但结果一致;减法可作速算,但本质是位运算
  • 只改 ~/.bashrc,但终端启动的是非登录 shell(如 GNOME Terminal 默认)→ 改 ~/.profile 更稳妥
  • 修改后只 umask 命令显示正确 ≠ 实际创建有效 → 务必 touch && ls -l 实测

不复杂但容易忽略。

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3970

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3393

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2553

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6210

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5842

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3413

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2925

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3139

2023.07.25

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

40

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn