暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux的umask指令

101

点击标题下「蓝色微信名」可快速关注

碰巧看到老杨写的这篇文章《知识点 | linux系统文件和目录的权限掩码umask命令解读》,对Linux中的umask指令进行了讲解和操作,这些内容还是有很多日常工作中能用到的实践经验,可以学习了解。


Linux系统(或其他Linux发行版)中,umask命令用于设置用户创建新文件或目录时的默认权限掩码。它本身不是一个文件,而是一个设置值。

1. 命令概念

umask值定义了需要从默认权限中屏蔽掉(减去)的权限位。

文件默认最大权限:666 (rw-rw-rw-)

目录默认最大权限:777 (rwxrwxrwx)

umask值通常用八进制表示(如022, 002, 077)。

实际权限 默认最大权限 - umask 值。

2. 修改umask的方法

两种修改方式,一种临时,一种永久;

临时修改(仅对当前Shell会话有效)

直接在终端输入umask命令加新值:

umask <新值>

示例:

(1)设置umask022(常见默认值,新文件权限644,目录755):

命令:umask 022

(2)设置umask002(用户和组有写权限,新文件664,目录775,适用于协作环境):

命令:umask 002

(3)设置umask077(最严格,仅用户自己有权限,新文件600,目录700):

命令:umask 077

验证当前umask配置状态

命令:umask

永久修改(对所有新登录会话生效)

需要修改用户的Shell 配置文件(如 ~/.bashrc, ~/.profile, etc/profile, etc/bash.bashrc)。推荐优先修改用户级配置文件 (~/.bashrc)

操作步骤:

(1)打开配置文件(以 ~/.bashrc 为例):

vi  ~/.bashrc  # 使用vimgedit编辑器

(2)在文件末尾添加一行:

umask <你想要的umask>  # 例如umask 002umask 022

(3)保存并退出编辑器:

Nano: Ctrl+O保存,按Enter确认文件名,再按Ctrl+X退出。

Vim: :wq然后回车。

(4)使更改立即生效(在当前终端):

source ~/.bashrc

或者直接关闭并重新打开终端。

(5)(可选系统级修改:

如果需要为所有用户设置默认umask,需编辑系统级配置文件(需要管理员权限):

/etc/profile

/etc/bash.bashrc

提示:特定于登录Shell 的 /etc/profile.d/*.sh(推荐创建自定义文件),操作前务必备份。

重点的说明权限计算示例,

    umask 022
    文件:
    666 - 022 = 644 (rw-r--r--)
    目录:
    777 - 022 = 755 (rwxr-xr-x)


    umask 002
    文件:
    666 - 002 = 664 (rw-rw-r--)
    目录:
    777 - 002 = 775 (rwxrwxr-x)


    umask 077
    文件:
    666 - 077 = 600 (rw-------) 
    目录:
    777 - 077 = 700 (rwx------) 

    umask值表示被屏蔽的权限:

    0 = 不屏蔽任何权限(允许读、写、执行)

    2 = 屏蔽写权限

    4 = 屏蔽读权限

    6 = 屏蔽读和写权限 (4+2)

    7 = 屏蔽读、写和执行权限 (4+2+1)

    符号表示法:umask也可用符号模式设置(如u=rwx,g=rx,o=),但八进制形式更常用。

    三点安全建议:

    1)普通用户:002022是常见选择,取决于是否需要同组用户协作。

    2)严格环境/root用户:考虑077027(屏蔽其他用户的所有权限)。

    3)修改系统级umask要极其谨慎,错误设置可能导致系统服务或新用户遇到权限问题。

    场景

    命令

    生效范围

    临时修改

    umask <新值>

    当前Shell会话

    永久修改(用户级)

     ~/.bashrc 添加 umask <>

    用户所有新登录会话

    永久修改(系统级)

     /etc/profile 等文件添加

    所有用户


    如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发朋友圈,


    可以到各大平台找我,
    • 微信公众号:@bisal的个人杂货铺
    • 腾讯云开发者社区:@bisal的个人杂货铺
    • 头条号:@bisal的个人杂货铺
    • CSDN:@bisal
    • ITPub:@bisal
    • 墨天轮:@bisal
    • 51CTO:@bisal
    • 小红书:@bisal
    • 抖音:@bisal
    近期更新的文章:
    平凯数据库(TiDB 企业版)敏捷模式内测开启!报名即可获得 6 个月的企业版使用权限 & 领取考试课程券和积分奖励!
    九三阅兵的具体安排来了
    我们该如何处理复杂系统?
    神奇的足球
    驱动表 vs HASH关联
    近期Vlog:
    新疆之行(天马浴河 - 哈因塞 - 那拉提 - 依提根塞)
    新疆之行(六星街 - 伊昭公路 - 夏塔)
    京沪哪吒大战
    骑行日记
    曼联老特拉福德球场tour
    国安骑行记
    热文鉴赏:
    揭开"仿宋"和"仿宋_GB2312"的神秘面纱
    Linux的"aarch"是多了个"a"?
    中国队“自己的”世界杯
    你不知道的C罗-Siu庆祝动作
    大阪环球影城避坑指南和功略
    推荐一篇Oracle RAC Cache Fusion的经典论文
    "红警"游戏开源代码带给我们的震撼
    文章分类和索引:
    公众号1800篇文章分类和索引

    文章转载自bisal的个人杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论