首页 > 系统相关 >关于linux系统中umask值的说明-以及计算转换成默认权限符号的方法

关于linux系统中umask值的说明-以及计算转换成默认权限符号的方法

时间:2023-05-25 19:33:40浏览次数:80  
标签:rw rx umask 默认 linux rwx 权限

关于linux系统中的umask值,我们可以通过man手册的解释为:The user file-creation mask is set to mode

简单的理解,就是用户的umask的值决定着文件(也包括目录)创建时的默认权限,对于root用户来说,一般为0022

[root@qq-5201351 ~]# umask
0022

这样可能还是不能很直观的表达出,可以通过如下的命令进行计算,以更容易理解的格式展示出来

[root@qq-5201351 ~]# umask -S
u=rwx,g=rx,o=rx

但上面的仅仅是针对的创建一个新目录后的默认权限将是 u=rwx,g=rx,o=rx    

这个是如何计算出来的,笔者经常使用的方法如下:

对于目录的默认权限:(rwx rwx rwx)  -  (0022)  -->   (rwx rwx rwx)  -  (--- -w- -w-)  = rwxr-xr-x  这样也就是上面的结果:u=rwx,g=rx,o=rx

对于文件的默认权限:(rw- rw- rw-)  -  (0022)  -->   (rw-  rw-  rw-)  -  (--- -w- -w-)   = rw- r-- r--  这样最后的权限结果就将是:u=rw,g=r,o=r

注意:因为对于文件,默认是不能有执行权限的,所以在计算时,被减数就只能为 rw-rw-rw- , 这样也能防止计算出的结果会有执行权限,那样就不安全了

 

还有一点需要说明一下,umask的值是4位,当然linux文件的权限也可以写成4位的形式,这里说明一下umask的第一位数字

笔者是参考至官网文档(Red Hat Enterprise Linux / 8 /Configuring basic system settings / Chapter 26. Managing the umask):

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/assembly_managing-the-umask_configuring-basic-system-settings

其中有一段Note,还特意解释了一下umask的第一位:

When displaying the umask in octal mode, you may notice it displayed as a four digit number (0002 or 0022). The first digit of the umask represents a special bit (sticky bit, SGID bit, or SUID bit). If the first digit is set to 0, the special bit is not set.

也即是说,umask的第一个数字表示一个特殊位(SBIT粘性位、SGID位或SUID位),如果第一个数字设置为0,则不设置特殊位。

但实际上,对于umask,要么我们就写三位,前面就默认为0

如果写成4位,那么第一个数字,也只能为0 ,否则会报错:-bash: umask: 1000: octal number out of range

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17432433.html

 

标签:rw,rx,umask,默认,linux,rwx,权限
From: https://www.cnblogs.com/5201351/p/17432433.html

相关文章

  • Linux下安装golang
    1.下载golang安装包官网:https://studygolang.com/dl2.将golang安装包上传到Linux服务器,解压到/usr/local/目录(root用户)tar-zxvfgo1.13.4.linux-amd64.tar.gz-C/usr/local/3.配置golang环境变量cd~vi.bash_profile[添加以下内容]exportGOROOT=/usr/local/goexportGOPAT......
  • LINUX下定时备份MYSQL数据库SHELL脚本
    备份脚本backupMysqlData.sh#!/bin/bash#备份SQL文件的路径backupdir=/home/hdkg/mysqldata/#执行导出数据库操作mysqldump--user=root--password=password--host=localhost--port=3306dataBaseName>$backupdir/backupfile_$(date+%Y%m%d).sql#删除七天前的备份数......
  • Linux定时删除过期日志文件
    1.问题Linux服务器上有程序持续产生临时文件供其它程序使用,但这些文件只需保留一段时间,后续要经常进行删除过期文件,人工删除一是输出时间长,二是多个目录删除繁琐2.解决方案使用Linux自带的删除文件命令进行模糊匹配文件名称+设置定时机制3.实现步骤删除目录(ome/linux1/newServer/S......
  • Linux查看端口被那个进程占用
    netstat-antunlp|grep1521......
  • Linux挂载iso文件步骤
    1.确认ios文件路径,我的iso文件在"/ext/bak/"路径下 2.设置将来需要挂载的路径该路径在"/mnt/rheliso/"路径下,如果没有此路径,可以自己建立该文件夹3.通过以下命令实现挂载mount-tiso9660-oloop/ext/bak/rhelxxx.iso/mnt/rheliso/-tiso9660是指定挂载格式。-oloop表......
  • 查看Linux磁盘文件占用大小
    1、查看磁盘占用(KB)df-lk2、查看磁盘占用(GB)df-hl3、查看每个目录占用大小:du--max-depth=1-h4、查看文件的大小ls-lht......
  • 恒创科技:5种易实现的Linux和 Windows VPS速度提升方法
    ​无论是LinuxVPS还是WindowsVPS,网站速度的提高都是非常重要的。它们在提高网站速度方面都有很多的优化方法。下面我们将介绍5种提高网站速度的方法。1.通过缓存加速缓存通常是用来加快商业网站加载时间的技术,因此它也可以用在VPS上。没有它,不断的静态文件请......
  • linux shell编程规范和变量
    目录一、shell简述二、shell脚本三、重定向四、管道符五、变量六、shell脚本基本知识 七、预定义变量小实验           一、shell简述概念:shell解释器,翻译官功能,与内核进行沟通的应用程序。把代码翻译为二进制,让内核处理,负责接收......
  • Linux首次登录入与寻求帮助(Linux的简单使用)
    Linux首次登录入与寻求帮助一些Linux中使用的常用命令与技巧:进入终端系统方式(纯文本环境):按ctrl+alt+F2会进入tty2,同理F3~F7均可分别进入tty3~tty7,只有tty1是图形化界面(如果已经安装了图形界面了),在文本环境中按ctrl+alt+F1会进入图形化界面在文本模式注销......
  • Linux目录树与文件系统(挂载)
    Linux目录树与文件系统目录树结构(directorytree)目录树架构就是以根目录为主,然后向下呈现分支状的目录结构的一种文件架构。整个目录树最重要的就是那个根目录(rootdirectory),这个根目录的表示方法为一条斜线『/』,如图所示:目录树架构目录树与文件系统的关系目录树与磁......