首页 > 系统相关 >Linux命令(110)之umask

Linux命令(110)之umask

时间:2023-11-04 10:35:57浏览次数:35  
标签:-- umask 110 Linux 掩码 权限 root rhel77

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 ~]#

标签:--,umask,110,Linux,掩码,权限,root,rhel77
From: https://blog.51cto.com/ztj1216/8179106

相关文章

  • linux 常用命令
     1.可以通过"netstat "来查看哪些端口被打开。1netstat-atnp//看所有tcp连接中每个应用程序占用的端口 netstat-nupl(UDP类型的端口)netstat-ntpl(TCP类型的端口)a表示所有n表示不查询dnst表示tcp协议u表示udp协议p表示查询占用的程序l表示查询正......
  • Linux的安装与维护
    1)根据以下要求,安装redhatenterpriselinux8.x或9.0a)创建一个新的虚拟机,选择稍后安装操作系统,内存2G,硬盘选择Sata,其他默认;    b)用ISO映像文件启动虚拟机进行安装; c)语言选择简体中文,时区选择上海,设置好root用户密码,主机名设置为自己姓名拼音的首字母(如姓名张三,......
  • 如何使用 Linux xargs 命令
    一、xargs命令是什么?该xargs命令构建并执行通过标准输入提供的命令。它接受输入并将其转换为另一个命令的命令参数。此功能在文件管理中特别有用,可与rm、cp、mkdir和其他类似命令结合使用。  二、使用xargs命令示例单独使用时,xargs提示用户输入文本字符串,然后将其传递......
  • Linux rm命令:删除文件或目录
    当Linux系统使用很长时间之后,可能会有一些已经没用的文件(即垃圾),这些文件不但会消耗宝贵的硬盘资源,还是降低系统的运行效率,因此需要及时地清理。rm是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用rm命令删除文件或目录时,系统不会产生任何提示信息。此命......
  • linux使用top命令java进程占用65%内存和160%CPU,是因为什么咋解决?
    Java进程占用大量内存和CPU的原因可能有多种,以下是一些可能的原因和解决方法:内存泄漏:Java应用程序可能存在内存泄漏,即未正确释放不再使用的内存。您可以使用Java内存分析工具(如VisualVM、MAT等)来检测和分析应用程序的内存使用情况,并查找潜在的内存泄漏问题。一旦发现内存泄漏,您可以......
  • 每日总结20231103
    代码时间(包括上课)5h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周五,本身是期中测试的,但是软考的考试马上就要来了,所以期中考试延迟了。2、今天一天都在看软考,但是在软考之来之前我的结业考试比他还早,我这会儿要开始背相关知识了。3、今天晚会儿还打算看看软件设计师相关的......
  • Linux第五章 计时器和计时器服务
    #5.计时器和计时器服务本章介绍计时器和计时器服务。它解释了硬件定时器的原理和基于Intelx86的PC中的硬件定时器。它涵盖了CPU操作和中断处理。它描述了与计时器相关的系统调用、库函数和Linux计时器服务的命令。它讨论了进程间隔定时器、计时器生成信号,并通过示例演示了进程......
  • Linux查看物理CPU个数、核数、逻辑CPU个数
    Linux查看物理CPU个数、核数、逻辑CPU个数|总核数=物理CPU个数X每颗物理CPU的核数总逻辑CPU数=物理CPU个数X每颗物理CPU的核数X超线程数查看物理CPU个数cat/proc/cpuinfo|grep"physicalid"|sort|uniq|wc-l查看每个物理CPU中core的个数(即核数)cat/proc......
  • 第10周linux课堂总结
        这周的linux课程我们学习了进程管理,首先我们学习的是查看进程,查看进程分为静态查看进程和动态查看进程,ps命令可以查看静态进程,仅仅是捕捉某一个瞬间某一个进程的状态,类似于给进程制作快照,使用“psaux”命令可以查看当前目录的进程,查询出来的进程状态表中每一列的含义......
  • 虚拟机中的Linux系统如何联网
    Step1:开启虚拟机后,在命令行输入pingwww.baidu.com回车,若发现无法ping通,说明虚拟机此时无法与外界网络互连,需要修改设置,以使其能联网。Step2:先关闭虚拟机,在VMware界面单击虚拟机,进入初始界面后,首先点击编辑虚拟机设置,然后将网络适配器中网络连接改为NAT模式。Step3:将网络连接改......