Linux设置umask值后创建文件目录的权限

目标:将umask改为003,在root用户和普通用户下创建文件和目录,查看权限是否分别符合777-003和666-003?

  • root用户下
[root@sotneC6 ~]# umask
0022
[root@sotneC6 ~]# umask 0003        # 设置umask为0003
[root@sotneC6 ~]# umask
0003
[root@sotneC6 ~]# mkdir /testdir
[root@sotneC6 ~]# ll /testdir -d     # 查看目录权限
drwxrwxr-- 2 root root 4096 Sep 25 23:50 /testdir
[root@sotneC6 ~]# touch /testdir/test
[root@sotneC6 ~]# ll /testdir/		# 查看文件权限
total 0
-rw-rw-r-- 1 root root 0 Sep 25 23:52 test

注意:计算默认权限时,实际上不能直接最大权限减去umask值,要列出数字对应的权限再相减才能得到正确结果。root用户下创建的testdir目录权限为777-003 = rwxrwxrwx - -------wx = rwxrwxr–; test文件权限为666-003 = rw-rw-rw- - -------wx = rw-rw-r–。

  • 普通用户下
[root@sotneC6 ~]# su - haha		# 切换普通用户haha
[haha@sotneC6 ~]$ umask			# 默认umask值和root用户不同
0002
[haha@sotneC6 ~]$ umask 0003	# 设置umask值为0003
[haha@sotneC6 ~]$ umask 
0003
[haha@sotneC6 ~]$ mkdir ./testdir	# 创建目录
[haha@sotneC6 ~]$ ll				# 查看权限
total 4
drwxrwxr-- 2 haha haha 4096 Sep 26 00:06 testdir
[haha@sotneC6 ~]$ touch ./testdir/test	# 创建文件
[haha@sotneC6 ~]$ ll ./testdir/test		# 查看权限
-rw-rw-r-- 1 haha haha 0 Sep 26 00:06 ./testdir/test

可以看出,普通用户下创建的文件目录权限和root用户下的同样符合最大权限 - umask值 = 默认权限


版权声明:本文为weixin_43733092原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。