Linux umask命令(linux umask命令详解)

linux Linux umask命令 在Linux和Unix操作系统上,所有新文件都是使用默认权限创建的。umask允许您查看或设置创建文件时使用的掩码模式,该掩码确定新创建的文件或目录的权限 By myfreax 8 Apr 2022

在Linux和Unix电脑系统上,所有新文件都是使用默认权限创建的。umask允许您查看或设置创建文件时使用的掩码方法,该掩码确立创好的文件或目录的权限。mkdir,touch,tee和其他创建文件和目录的命令都使用这个。

在教学中,大伙儿讲述了Linux权限数字模型加载权限,载入权限,推行权限和使用umask命令为创好的文件或目录设置权限位。权限的标识与数字表达形式,创建文件与目录的默认权限,计算创建文件mask掩码值,依据mask计算创建文件与目录的权限,分布式锁创建文件mask掩码值。

Linux权限

还在持续之前,让我们简短地解释一下Linux权限数字模型。在Linux中,每一个文件都与一个使用人和一个组息息相关,并且为文件使用人,成员,他人分配权限。Linux有三种权限类型,分别加载权限,载入权限,推行权限。

此界定使大家能够特殊允许哪些顾客加载文件,载入文件或推行文件。要查看文件权限,挑选以下ls命令:

ls -l dirname
drwxr-xr-x 12 myfreax users 4.0K Apr  8 20:51 dirname
|[-][-][-]    [------] [---]
| |  |  |        |       |       
| |  |  |        |        -----------> Group 组名
| |  |  |         -------------------> Owner 使用人名称
| |  |   ----------------------------> Others Permissions 其他人权限
| |   -------------------------------> Group Permissions 团的权限
|  ----------------------------------> Owner Permissions 所有者的权限
 ------------------------------------> File Type 文件类型

第一个标志符代表着文件类型,可以是基本上文件-,目录d,符号链接l或任何其他帐户的文件。

下面9标识符代表着权限,每三个字符为一组。第一组说明所有者的权限,第二组说明团的权限,最后一组说明其他人权限。

r用一个八进制值4代表着读,w与一个八进制值2代表着写,x用一个八进制值1代表着易操作权限和,-用八进制值0的所有权限。还有其他三个独特文件权限类型:setuidsetgidSticky Bit

在之后的案例中,rwxr-xr-x说明使用人拥有加载,载入和执行权限rwx,组与其它客户具有加载和执行权限r-x

如果我们运用数字符号说明文件权限,使用人是rwx=4 2 1 = 7,组是r-x=4 0 1 = 5,别人呢r-x=4 0 1 = 5。我们在这里获得数据信息755

以数字符号表示时,权限可以具有三个或四个八进制数据信息0-7。第一位数字意思与众不同权限,倘若省掉,则意味着无法文件设置与众不同权限。在我们的情况之下7550755 一样。第一位可以是4 代表着 setuid2代表着 setgid1代表着Sticky Bit

能用chmod命令变动文件权限,并且用chown命令变动所有权。

把握umask

默认情况下,在Linux系统上,针对文件的默认创建权限是666,它为客户,组和其他人授予读和写权限,对于目录原是777,对用户,组与所有人想报,写和执行权限。Linux不能创建具有易操作权限的文件。

能用umask命令修改默认设置掩码方法,来调整创建文件与目录时的默认权限。umask仅伤害目前的shell生态环境。在大多数Linux发行版中,默认的umask值在pam_umask.so/etc/profile文件中设置。

如果要依据每个用户特殊mask掩码值,请撰写顾客的Shell配置文件,例如~/.bashrc~/.zshrc。您还可以依据运行umask命令变动所需的值来调整目前会话值。要查看目前的mask掩码值,只需没有任何的基本参数运行umask命令:

umask

导出来将如下所示:

022

umask值会对在创好的文件和目录上权限位。好似已经提到的,文件的默认创建权限是666,目录是777。要计算新文件的权限位,也可以从初值中减去umask值。

例如,要计算mask掩码值022,如何影响创好的文件和目录权限。文件权限是666 - 022 = 644,使用人可以加载和优化文件。组和其他人仅有加载文件。

目录权限是777 - 022 = 755,使用人能够进入目录并排出来目录,加载,修改,创建删掉文件。组和其他人能用cd命令进入目录例举与加载文件。

您还可以运用-S选项以标识方法说明mask掩码值:

umask -S
u=rwx,g=rx,o=rx

与数字符号不一样,标识呈现标值就是创好目录应该设置的权限。

设置mask掩码值

能用八进制或符号表达形式设置mask掩码值。想让变动永久见效,请在全局配置文件(如/etc/profilefile中设置一个新的mask掩码值,这将影响所有用户,或在顾客的shell操作程序配置文件中~/.profile~/.bashrc~/.zshrc仅伤害顾客。顾客文件的优先选择高于全面性文件。

在变动mask掩码值之前,请确保新值不会造成潜在性安全隐患。限定值要比022宜选用限定尽量避免,应多多注意。例如umask 000代表了每个人都将具有对每一个新创建文件的加载,载入和执行权限。

假设我们要为创好的文件和目录设置大量限制性权限,那般他人将无法使用cd访问目录和加载文件。我们需要的权限是目录750和文件640的权限。

要计算mask掩码值,只需从初值中减去所需的权限。mask掩码值是 777-750 = 027。需要在系统范围内永久设置mask掩码值,挑选你喜欢的文本处理打开文件/etc/profile。在入门教程我们在这里运用vim打开文件:

sudo vim /etc/profile

复制以下行粘帖到文件逐渐:

umask 027
/etc/profile

为了让变动见效,请运行以下source命令或注销并登录:

source /etc/profile

为了能够验证新设置,我们在这里运用mkdirtouch命令创建一个新文件和目录:

mkdir newdir
touch newfile

然后使用ls命令检查权限,我们将留意到新文件具有640,目录具有750权限,如下所示:

drwxr-x--- 2 myfreax users 4096 Jul  4 18:14  newdir
-rw-r----- 1 myfreax users    0 Jul  4 18:14  newfile

设置创建文件掩码的另一种方法有哪些运用标识表达形式。例如umask u=rwx,g=rx,o=umask 027一样。

结论

在教学中,大伙儿讲述了Linux权限如何有效运用umask命令为创好的文件或目录设置权限位。很多相关信息,请在智能终端中输入man umask。如有任何疑问,请在下面。

LINUX

Linux nano命令行编辑器(linuxnano编辑器使用)

2023-1-19 11:55:10

LINUX

如何在Linux查找内核版本(linux最新内核版本)

2023-1-19 11:59:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索