Linux命令(110)之umask

简介: Linux命令(110)之umask

linux命令之umask

1.umask介绍
linux命令umask为linux内建命令,用于设置创建文件/目录时的权限掩码。

默认umask值为偶数,创建文件时,直接相减;如果有奇数,创建文件时,对应结果要加一。

另外,之所以文件用666去减,表示文件默认不能有执行权限(x);如果减得的结果中有执行权限(x),则需要将其加一。这个对目录而言,是没有任何效果。

2.umask用法
umask [参数] [MODE]

umask参数
参数 说明
-p 以八进制数字形式显示或设置权限掩码
-S 以字符形式显示或设置新建文件的默认权限
备注:出于安全性考虑,文件的执行权限(x)无法通过权限掩码进行设置,需手动更改。

3.实例
3.1.查看当前默认权限掩码文件
命令:

tail -n 20 /etc/profile | head -n 10

[root@rhel77 ~]# tail -n 20 /etc/profile | head -n 10

You could check uidgid reservation validity in

/usr/share/doc/setup-*/uidgid file

if [ $UID -gt 199 ] && [ "/usr/bin/id -gn" = "/usr/bin/id -un" ]; then
umask 002 --当uid大于199且id -gn等于id -un时,umask设置为002
else
umask 022 --不满足上述条件时,umask设置为022
fi

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
if [ -r "$i" ]; then
[root@rhel77 ~]#
3.2.显示当前权限掩码
目录:

umask

OR

umask -p

[root@rhel77 ~]# umask
0022
[root@rhel77 ~]# umask -p
umask 0022
[root@rhel77 ~]#
3.3.以字符形式显示新建文件(针对目录)的默认权限
命令:

umask -S

[root@rhel77 ~]# umask -S
u=rwx,g=rx,o=rx
[root@rhel77 ~]#
3.4.创建默认文件(以当前默认权限掩码)
命令:

umask

touch aa

ls -l aa

[root@rhel77 ~]# su - tomcat
Last login: Tue Oct 31 09:42:34 CST 2023 on pts/0
[tomcat@rhel77 ~]$ umask
0002
[tomcat@rhel77 ~]$ exit
logout
[root@rhel77 ~]# umask
0022
[root@rhel77 ~]# touch aa
[root@rhel77 ~]# ls -l aa
-rw-r--r-- 1 root root 0 Oct 31 09:42 aa
[root@rhel77 ~]#
3.5.设置新的权限掩码,并创建文件
命令:

umask -p 023

touch aa

ls -l aa

[root@rhel77 ~]# umask
0022
[root@rhel77 ~]# umask -p 023
[root@rhel77 ~]# umask
0023 --umask中有奇数
[root@rhel77 ~]# touch aa
[root@rhel77 ~]# ls -l aa
-rw-r--r-- 1 root root 0 Oct 31 09:46 aa --创建的文件对应位加一
[root@rhel77 ~]#
3.6.基于默认权限掩码,创建目录
目录以777去减默认umask权限掩码

命令:

mkdir bb

ls -ld bb

[root@rhel77 ~]# mkdir bb
[root@rhel77 ~]# ls -ld bb
drwxr-xr-- 2 root root 6 Oct 31 09:51 bb
[root@rhel77 ~]#
————————————————
版权声明:本文为CSDN博主「小黑要上天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z19861216/article/details/134132780

目录
相关文章
|
3天前
|
Linux
Linux的cp命令如何使用?
Linux的cp命令如何使用?
11 5
|
7天前
|
Linux
Linux常用命令包括
Linux常用命令包括
16 5
|
7天前
|
Linux
Linux命令
Linux命令
18 5
|
3天前
|
安全 Linux Shell
常见的 Linux 命令大全(表格形式)
常见的 Linux 命令大全(表格形式)
|
11天前
|
Linux Python Perl
Linux命令删除文件里的字符串
Linux命令删除文件里的字符串
26 7
|
11天前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
13天前
|
Linux Perl
Linux之sed命令
Linux之sed命令
|
13天前
|
Linux
深入理解Linux中的cp命令:文件与目录的复制利器
深入理解Linux中的cp命令:文件与目录的复制利器
|
13天前
|
Linux Docker 容器
9. 同步执行Linux多条命令
9. 同步执行Linux多条命令
|
13天前
|
Linux Shell
10-10|linux命令查询 关键字在文本中出现的行数
10-10|linux命令查询 关键字在文本中出现的行数