umask命令详解

umask命令在Linux或Unix系统中的作用和用法

umask命令用于设置默认文件和目录权限,它定义了新创建的文件和目录的默认权限掩码。通过调整掩码值,可以控制用户、组和其他用户对新文件和目录的访问权限。

默认权限计算

当创建一个新文件或目录时,操作系统会根据预定义的最大权限值减去umask值来确定最终的权限。对于文件,默认最大权限为666(读和写),而对于目录,默认最大权限为777(读、写和执行)。例如,如果umask值为022,则新文件的权限为644,新目录的权限为755。

设置和查看umask值

可以通过以下命令查看当前的umask值:

umask

此命令将返回一个八进制数,表示当前的掩码值。

若要临时更改umask值,可以在终端中运行以下命令:

umask 022

这将设置新的掩码值为022,仅影响当前shell会话。

若要在系统范围内永久更改umask值,可以编辑/etc/profile或用户的个人配置文件(如~/.bashrc)并添加或修改umask命令。

示例:umask在脚本中的应用

以下是一个示例脚本,展示如何在脚本中使用umask命令来设置特定的权限:

#!/bin/bash
# 设置umask值为002
umask 002

# 创建新目录
mkdir test_directory

# 创建新文件
touch test_directory/test_file

# 查看权限
ls -l test_directory

此脚本首先设置umask值为002,然后创建一个目录和一个文件,并显示它们的权限。由于umask值为002,新目录的权限将是775,新文件的权限将是664。

系统级umask配置

在某些系统配置文件中,如/etc/profile,可以根据用户的UID设置不同的umask值。例如,当UID大于199且用户的组名与用户名相同时,umask值被设置为002;否则,umask值为022。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值