Linux运维工程师必知:如何设置umask

一、什么是umask

umask是一种权限掩码,它控制了在创建文件或目录时新文件的默认权限,即掩盖了当前用户的权限。

对于Linux系统,umask以八进制数表示,代表了文件和目录的权限位掩码的反码。例如,umask为022,则新建文件的权限位是644,新建目录的权限位是755。

二、查看当前umask

我们可以使用umask命令来查看当前系统的默认umask。

umask

三、修改umask

可以使用umask命令修改umask值,但是该变化只会在当前终端会话中生效,并不会永久保存。

umask 022

修改完毕后,我们可以用umask命令来验证是否设置成功。

umask

四、将umask永久保存

如果要永久修改umask值,可以在用户的bash配置文件中添加对应的umask值。

1. 仅对当前用户生效

打开用户的家目录下的.bashrc文件,并添加下面的两行。

echo umask new_umask_value >> ~/.bashrc
source ~/.bashrc

2. 对所有用户生效

打开/etc/profile文件,并在文件末尾添加下面的一行。

umask new_umask_value

该修改会全局生效,对所有用户的shell会话生效。

3. 对登录用户生效

将umask值写入到用户的bash_profile文件中,只在用户的ssh登录或者tty登录的时候生效。

echo umask new_umask_value >> ~/.bash_profile
source ~/.bash_profile

五、umask与权限的关系

新文件和目录的默认权限是根据umask值计算出来的。umask值与权限的计算关系如下:

umask值 文件默认权限 目录默认权限
000 666 777
002 664 775
022 644 755

六、注意事项

1. 修改umask值时,请谨慎操作,否则可能会造成系统安全问题。

2. 永久修改umask值,请仔细确认,否则可能会导致系统安全问题。

3. umask值过小会导致新文件和目录的默认权限过大,存在安全隐患。一般情况下,umask值不应小于022。

七、总结

umask是Linux中非常重要的一个权限掩码,可以控制新文件和目录的默认权限。合理设置umask值,可以提高系统安全性。我们可以通过umask命令来设置umask值,同时也可以通过修改用户的bash配置文件来持久化保存umask值。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/189866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 13:52
下一篇 2024-11-29 13:52

相关推荐

  • 如何设置Python环境变量

    Python是一种流行的脚本编程语言,它可以在不同的操作系统和平台上运行。但是,在使用Python时,我们需要设置Python环境变量,以便系统能够正确地找到Python解释器和相…

    编程 2025-04-29
  • 如何设置chrome不同步手机历史记录

    使用chrome浏览器时,在登录chrome账号的情况下,由于默认同步功能,浏览器历史记录等数据都会同步到其他设备上,但是有时候我们并不想这么做,比如为了保护隐私、避免干扰等等。所…

    编程 2025-04-29
  • lsw2u1:全能编程开发工程师的利器

    lsw2u1是一款多功能工具,可以为全能编程开发工程师提供便利的支持。本文将从多个方面对lsw2u1做详细阐述,并给出对应代码示例。 一、快速存取代码段 在日常开发中,我们总会使用…

    编程 2025-04-29
  • 7ezmpyh全能编程工程师

    7ezmpyh是一个完全能胜任各种编程任务的全能编程工程师。本文将从多个方面对7ezmpyh进行详细阐述,包括他的编程技能、项目经验和个人特点。 一、编程技能 7ezmpyh拥有广…

    编程 2025-04-29
  • 全能编程开发工程师必备技能——如何优化大整数的计算

    本文将会为你分享如何解决大整数计算问题,以9999999967为例,我们将从多个方面对其做详细阐述,并给出完整的代码示例。 一、大整数的表示方法 在计算机中,我们通常采用二进制数来…

    编程 2025-04-29
  • xkujs全能编程开发工程师

    本文将从以下几个方面详细阐述xkujs作为一名全能编程开发工程师的技术能力和实战经验,为初学者提供学习参考。 一、JavaScript基础 作为一名全能编程开发工程师,JavaSc…

    编程 2025-04-29
  • Spring Cloud Greenwich.Release:全能编程开发工程师的首选

    本文将从以下几个方面对Spring Cloud Greenwich.Release进行详细阐述,包括项目概述、核心组件、应用案例、配置和部署等,旨在为全能编程开发工程师提供更好的解…

    编程 2025-04-29
  • 全能编程开发工程师必知——DTD、XML、XSD以及DTD参数实体

    本文将从大体介绍DTD、XML以及XSD三大知识点,同时深入探究DTD参数实体的作用及实际应用场景。 一、DTD介绍 DTD是文档类型定义(Document Type Defini…

    编程 2025-04-29
  • 全能编程开发工程师必备技能:Source Where 1=1

    如果你想成为一名全能的编程开发工程师,那么掌握SQL查询语言中的Source Where 1=1是非常必要的。 一、简介 Source Where 1=1是SQL语句的一种常见写法…

    编程 2025-04-29
  • 99mav全能编程开发工程师专题

    本文介绍99mav的全能编程开发工程师的各种技能点,以及如何成为一名全能的开发工程师。 一、全面掌握编程技能 一个全能的开发工程师需要全面掌握编程技能,包括但不限于: 熟练掌握多种…

    编程 2025-04-29

发表回复

登录后才能评论