umask
Linux中umask的工作方法与chmod命令类似,它也用于定义文件或目录的权限。它们之间的区别在于chmod用于改变已有文件或目录的权限,而umask用于定义新建文件或目录的默认权限。在RedHatLInux中,是难以配置新建文件手动具有可执行权限的,由于具有可执行权限的文件越少,黑客破解系统的可借助的文件就越少红帽子linux,借以提升安全性。
每次新建一个文件时,文件的默认权限是由umask的值决定的。当我们输入umask命令时,它会输出一个4为的八补码数值,如0002。假如umask值的某位被设置,在新建文件或目录时将禁用对应的权限。
比如umask的值为0245意味着新建的目录具有(777-002)=0532八补码权限linux 给用户某个目录权限,等效于下边字符串:
dr-x-wx-w-
假如umask的值为000,该用户新建的文件具有(666-000)=666八补码权限,等效于下边字符串:
-rw-rw-rw-
Linux中umask默认值
在/etc/profile中有这样一段代码:
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
其含意是UID小于199的普通用户掩藏权限为002linux 下载,其他用户的掩藏权限是022。
例如使用UID为0的root用户创建文件的默认权限是(666-022)=644linux 给用户某个目录权限,使用root用户创建目录的默认权限是755(777-022)。
使用UID小于199的普通用户创建文件的默认权限是(666-002)=664,使用普通用户创建目录的默认权限是775(777-002)。
权限数值对照表
---
无权限
--x
只具有执行权限
-w-
只具有写权限
-wx
具有写和执行全新啊
r--
只具有读权限
r-x
具有读和执行权限
rw-
具有读和写权限
rwx
具有读、写和执行权限