1.8 umask
当最初登录到系统时,umask命令确定了你创建文件的缺省模式
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。
对于文件来说,这一数字最大值分别是6.(系统不允许你在创建一个文本文件时就赋于执行权限,需用chmod增加)
对于目录来说,这一数字最大值分别是7
计算umsak值:
计算umsak值的方法 我们只要记住umask是从权限中"拿走"相应的位即可
示例:
1.首先写下具有全部权限的模式,即777(所以用户具有读、写、执行权限)
2.按照umask值写下相应的位
3.对于目录来说,写下上面两行没有匹配的位
4.对于文件来说 ,在创建是不具有执行权限,拿掉相应的执行权限位即可
我们按照上面的假设umask值为002:
1. rwx rwx rwx (777)
2. --- --- -w- (umask值为:002)
3.rwx rwx r-x (写下没有匹配的位:775) 两行匹配位为其他用户的w权限位 所以把其它位写下 即是目录创建缺省权限
4.rw- rw- r-- (写下没有匹配的位,并去掉执行权限:664) 即是文件创建的缺省权限
下面我们在Linux下使用umask:
1.首先使用下面命令设置umask值:
# umask 002
2.接着创建一个目录和一个文件
使用下面命令创建目录
# mkdir cs
#ls -l
drwxrwxr-x 2 root root 4096 05-23 12:57 cs 创建了一个cs目录 其缺省值为775
使用下面命令创建文件
# touch css
#ls -l
-rw-rw-r-- 1 root root 0 05-23 12:58 css 创建了一个css文件 其缺省值为 664
使用如下命令查看当前使用umask值:
# umask
如果想要修改其值 只需重新设置即可
# umask 002
一般来说,umask命令是在/etc/profile文件中设置的,每个用户在登录时候会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应条目。如果希望永久性的设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile文件中。