Linux命令之umask

简介: Linux命令之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

————————————————
版权声明:本文为CSDN博主「小黑要上天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z19861216/article/details/134132780

目录
相关文章
|
17天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
124 5
|
17天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
57 4
|
4天前
|
缓存 监控 Linux
|
7天前
|
Linux Shell 数据安全/隐私保护
|
8天前
|
域名解析 网络协议 安全
|
14天前
|
运维 监控 网络协议
|
15天前
|
监控 Linux Shell
|
18天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
29 3
Linux | Rsync 命令:16 个实际示例(下)
|
2天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
23 7
|
2天前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
21 5