linux命令--umask

2023-11-03

一、umask介绍

在linux系统中,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。若用户创建一个文件,则文件的默认访问权限为 -rw-rw-rw- ,创建目录的默认权限 drwxrwxrwx ,而umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。

二、umask值的含义

可以使用命令 umask 来查看umask值

hadoop@sench-pc:~$ umask 
0002

可以看到umask值为0002,其中第一个0与特殊权限有关,可以暂时不用理会,后三位002则与普通权限(rwx)有关,其中002中第一个0与用户(user)权限有关,表示从用户权限减0,也就是权限不变,所以文件的创建者的权限是默认权限(rw),第二个0与组权限(group)有关,表示从组的权限减0,所以群组的权限也保持默认权限(rw),最后一位2则与系统中其他用户(others)的权限有关,由于w=2,所以需要从其他用户默认权限(rw)减去2,也就是去掉写(w)权限,则其他人的权限为rw - w = r,则创建文件的最终默认权限为  -rw-rw-r-- 。同理,目录的默认权限为 drwxrwxrwx ,则d rwx rwx rwx - 002 = (d rwx rwx rwx) - (- --- --- -w-) = d rwx rwx r-x,所以用户创建目录的默认访问权限为 drwxrwxr-x 。我们通过下面的例子验证一下:

hadoop@sench-pc:~$ umask 
0002
hadoop@sench-pc:~$ touch test.txt
hadoop@sench-pc:~$ ls -l test.txt 
-rw-rw-r-- 1 hadoop hadoop 0 4月  24 20:31 test.txt
hadoop@sench-pc:~$ mkdir test
hadoop@sench-pc:~$ ls -al test
总用量 8
drwxrwxr-x  2 hadoop hadoop 4096 4月  24 20:32 .
drwxr-xr-x 52 hadoop hadoop 4096 4月  24 20:32 ..

可以看到文件test.txt的权限为 -rw-rw-r-- ,目录test的权限为 drwxrwxr-x ( . 代表当前目录,也就是test目录的属性)。

 umask 命令显示的为umask的数字值,还可以使用命令 umask -S 来显示umask的符号值:

hadoop@sench-pc:~$ umask -S
u=rwx,g=rwx,o=rx

可以看出(rwx rwx rwx) - (rwx rwx r-x) = (--- --- -w-) = 002 。

三、更改umask值

可以通过命令 umask 值 的方式来更改umask值,比如我要把umask值改为027,则使用命令 umask 027 即可。改成027后,用户权限不变,群组权限减掉2,也就是去掉写(w)权限,其他用户减7,也就是去掉读写执行权限(rwx),所以其他用户没有访问权限。

hadoop@sench-pc:~$ umask 027
hadoop@sench-pc:~$ umask
0027
hadoop@sench-pc:~$ touch test.txt
hadoop@sench-pc:~$ ls -l test.txt
-rw-r----- 1 hadoop hadoop 0 4月  24 20:49 test.txt
hadoop@sench-pc:~$ mkdir test
hadoop@sench-pc:~$ ls -al test
总用量 8
drwxr-x---  2 hadoop hadoop 4096 4月  24 20:49 .
drwxr-xr-x 52 hadoop hadoop 4096 4月  24 20:49 ..

可以看到文件的默认访问权限变为了 -rw-r----- ,目录test的默认访问权限变为了 drwxr-x--- 。这种方式并不能永久改变umask值,只是改变了当前会话的umask值,打开一个新的terminal输入umask命令,可以看到umask值仍是默认的002。要想永久改变umask值,则可以修改文件/etc/bashrc,在文件中添加一行 umask 027 。

 四、总结

当我们想改变创建文件和目录时的默认访问权限,则可以通过umask命令来实现。

转载于:https://www.cnblogs.com/sench/p/8933638.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux命令--umask 的相关文章

  • 配置springboot踩到的坑

    1 卸载了eclipse 结果连带卸载了java JDK 因为没有意识到所以第一次编译报错 2 run configure不会写 最后网络上查到在run 里输入 spring boot run 普通的maven 工程 run里写 clean
  • ThinkPHP 2.x/3.0 漏洞复现

    ThinkPHP框架 ThinkPHP是一款从Struts结构移植过来进行改进和完善后的web应用的开源轻量级PHP框架 ThinkPHP可在 Windows和 Linux等操作系统运行 支持 MySql Sqlite和 PostgreSQ

随机推荐

  • 云服务器测速脚本_Linux VPS服务器带宽测速脚本:Speedtest Linux进行网络测速方法...

    新购买VPS服务器后 当然少不了对对VPS的性能做测试了 好让自己知道新购买到的VPS性能是怎么样的 下面就来为大家介绍一个Linux系统VPS带宽测速脚本Speedtest 和Linux VPS进行网络测试的方法 一 环境准备 我们使用的
  • Fibonacci 数列

    题目描述 输入一个正整数n 求 Fibonacci 数列的第n个数 Fibonacci 数列的特点 第1 2个数为1 1 从第3个数开始 概述是前面两个数之和 即 要求输入的正整数n不超过50 输入 一个不超过50的正整数 输出 Fibon
  • IntersectionObserver与无限滚动加载

    学习链接 IntersectionObserver MDN Api IntersectionObserver API详解 Intersection observer 的概念和用法 过去 要检测一个元素是否可见或者两个元素是否相交并不容易 比
  • 长连接、短连接与WebSocket 的区别

    1 长连接与短连接 1 短连接 HTTP1 0中默认使用短连接 也就是说 客户端和服务器每进行一次HTTP操作 就建立一次连接 任务结束就中断连接 HTTP的生命周期通过Request来界定 也就是说一个Request 一个Response
  • 网络请求库requests及数据解析xpath

    requests库 requests库也是一个网络请求库 基于urllib和urllib3封装的便捷使用的网络请求库 安装环境 pip install requests i https mirrors aliyun com pypi sim
  • Odoo字段设置索引-多列联合索引

    需求 在创建模块生成数据库表结构时 一般也要设计字段是否需要添加索引 或者多个字段联合索引 单字段添加索引 设置索引只需要在字段初始化时添加index参数 index bool default False index默认是False 如果需
  • 【ESP-IDF】使用SNTP进行时间同步

    description sntp初始化 return note 参考官方博客 static void esp initialize sntp void ESP LOGI TAG Initializing SNTP sntp setopera
  • 怎样招聘程序员

    在招聘程序员方面 没有所谓的神奇 银弹 但我可以分享一些建议和诀窍 它们经过我的实践证明是有效的 这些方法我多年来一直在用 我把它们总结如下 首先 要求通过几个简单的 Hello World 在线测试 我知道这听起来很疯狂 但有些自称是程序
  • 必会Python技能!教你如何从官网爬取高清皮肤壁纸

    目录标题 前言 开发环境 模块使用 代码基本四个步骤 代码展示 尾语 前言 大家早好 午好 晚好吖 欢迎光临本文章 开发环境 python 3 8 运行代码 pycharm 2022 3 辅助敲代码 模块使用 requests gt 数据请
  • JavaScript知识点DOM 模型详细讲解

    DOM 模型 DOM 全称是 Document Object Model 文档对象模型 大白话 就是把文档中的标签 属性 文本 转换成为对象来管理 Document 对象 Document对象的理解 第一点 Document 它管理了所有的
  • 《产品经理修炼之道》读后感

    费杰的这本 产品经理修炼之道 说实话确实是有点坑爹 话说这是我看过的第二本产品方面的书籍 但是和 人人都是产品经理 的差距真的不是一点 那一本可以说是内容详实 对于入门来说不管是理论还是实例都写得很不错 文字也是相当的多 而费杰的这本其实内
  • tensorflow(神经网络)学习笔记(七)自动机器学习(AutoML)介绍(学习笔记)

    神经网络结构搜索算法之一 网络结构 降低神经网络结构参数 如下图 彩色框框为生成单个神经的参数 使用循环神经网络去生成卷积神经网络 左边RNN可以生成LSTM的序列表达 然后把序列解析成网络表达结构 得到网络结构的表达 然后计算得到accu
  • ChatGPT底层原理及教程

    一 发展历史 1 什么是ChatGPT ChatGPT 美国OpenAI研发的聊天机器人程序 于2022年11月30日发布 ChatGPT是人工智能技术驱动的自然语言处理工具 它能够通过学习和理解人类的语言来进行对话 还能根据聊天的上下文进
  • vmos切换安卓版本_安卓之中还能运行安卓!神奇的安卓虚拟机App

    PC上的虚拟机大家玩得多了 手机上的虚拟机不知道大家玩过没 PC上装了虚拟机后 等于操作系统中多了另一个系统 可以在虚拟机的系统中安装各类软件 和真机互不干扰 而很多安卓玩家不知道的是 其实在安卓平台上 也有虚拟机类的app 这款VMOS
  • 祝您健康:抢救脑溢血患者的神奇秘方:针刺十宣穴,涌泉穴

    中风 脑出血 的抢救方法 中风 脑血管意外 是临床常见的急性病症 特别是对于中老人 更是致死致残的高发病 脑溢血抢救放血急救法是对中风最有效的一种急救方法 如能正确掌握和及时施救 将能很大程度地减少中风对人体的伤害 我想 对于每个血压有点高
  • 关于软件测试

    目录 一 了解软件测试 二 软件测试和软件开发的区别 三 一个优秀的软件测试人员需要具备的素质 一 了解软件测试 其实在早期是没有软件测试这个行业的 刚开始都是程序员自己进行调试 寻找其中的一系列问题 慢慢的人们发现测试在整个项目研发阶段都
  • centos7开启网卡命令_CentOS7 开启网卡,设置开机启用网卡

    默认centos和redhat7都是不启用有线网卡的 要么手动开启 要么安装时直接启用 安装时启用网卡和指定IP最省事 一 临时启用网卡 关机或重启后 网络不会自动开启 1 使用命令 ip addr 查看网卡的IP 1 ip addr 2
  • R语言DMwR报错问题

    使用包DMwR的SOMTE函数报错 Error in factor newCases a levels 1 nlevels data a labels levels data invalid labels length 0 should b
  • python绘制星空(菜鸟级)

    设计知识点 使用turtle绘图库与random库产生一个范围随机数完成绘制 编译环境 anaconda spyder 比较通俗 就不搞注释了 懒得写 废话不多说 直接上代码 绘制星空 import turtle as t random a
  • linux命令--umask

    一 umask介绍 在linux系统中 我们创建一个新的文件或者目录的时候 这些新的文件或目录都会有默认的访问权限 umask命令与文件和目录的默认访问权限有关 若用户创建一个文件 则文件的默认访问权限为 rw rw rw 创建目录的默认权