Linux umask默认权限分配命令

Linux系统为什么目录和文件的默认权限是755,644而不是其它的值呢?

因为:网站目录安全权限:目录755,文件644是相对安全的权限(用户root以及用户组root)

Linux系统默认权限的方针:允许浏览,查看,但是禁止创建和修改,增加文件及内容。


默认权限分配的命令umask

1
2
3
4
5
6
[[email protected] test]# mkdir newdir
[[email protected] test]# touch newfile
[[email protected] test]# ls -lrt
total 4
drwxr-xr-x. 2 root root 4096 Apr 29 17:07 newdir
-rw-r--r--. 1 root root    0 Apr 29 17:08 newfile

创建目录,默认权限是755

创建文件,默认权限是644


普通用户创建文件和目录

目录775,文件664

1
2
3
4
5
6
7
8
9
[[email protected] ~]$ touch newfile
[[email protected] ~]$ mkdir newdir
[[email protected] ~]$ ls -lrt
total 8
-rw-r--r--. 1 zjj zjj    6 Apr 21 11:22 hi.txt
-rw-rw-r--. 1 zjj zjj    0 Apr 29 17:23 newfile
drwxrwxr-x. 2 zjj zjj 4096 Apr 29 17:23 newdir
[[email protected] ~]$ umask
0002


控制umask的地方在/etc/profile

Linux umask默认权限分配命令

如:

1
2
3
4
5
6
[[email protected] ~]$ id -gn
zdw
[[email protected] ~]$ id -un
zdw
[[email protected] ~]$ umask
0002

注意:普通用户的umask未必是002


文件仅限的一般计算方法:

root下默认文件权限计算方法

1.假设umask值为:022(所有位为偶数)

   666    ==>文件的起始权限值

   022-   ==>umask的值

   ------

   644

2.假设umask值为:045(其它用户组位为奇数)

   666    ==>文件的起始权限值

   045-   ==>umask的值

   ------

   621    ==>计算出来的权限。由于umask的最后一位数字是5,所以,在用户组奇数位加1

   001+

   ------

   622    ==>真实文件仅限

Note:如果某类的用户的权限减得的结果存在x权限,则将其权限+1


命令示例:

1.umask默认022时创建目录及文件

1
2
3
4
5
6
7
8
9
[[email protected] ~]# umask                                        #默认为022
0022
[[email protected] ~]# cd /home/zdw/
[[email protected] zdw]# mkdir 022dir                               #创建文件夹
[[email protected] zdw]# ls -ld 022dir/                             #777-022权限为755
drwxr-xr-x. 2 root root 4096 May  3 10:25 022dir/
[[email protected] zdw]# touch 022file                              #创建文件
[[email protected] zdw]# ls -l 022file                              #666-022权限为644
-rw-r--r--. 1 root root 0 May  3 10:26 022file


注:文件夹的权限最大为777,用777-022,就得出文件夹的权限,文件的权限最大为666,用666-022,就得出文件的权限

2.umask设置为333(此设置方法只对当前有效)

1
2
3
4
5
6
7
8
9
[[email protected] zdw]# umask 333                                  #更改umask为333
[[email protected] zdw]# umask
0333
[[email protected] zdw]# mkdir 333dir                               #创建文件夹
[[email protected] zdw]# ls -ld 333dir/                             #777-333权限为444
dr--r--r--. 2 root root 4096 May  3 10:31 333dir/        
[[email protected] zdw]# touch 333file                              #创建文件
[[email protected] zdw]# ls -l 333file                              #666-333在奇数位加1权限为444
-r--r--r--. 1 root root 0 May  3 10:32 333file


注:奇数权限位对目录没影响,文件位有奇数时,加上1即可







      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1769604
,如需转载请自行联系原作者