LINUX 文件/目录的默认权限

本文通过用户root和zhangsan的登录实例,探讨umask值如何决定Linux环境下创建文件及目录的默认权限。首先,展示root用户下不同umask值(0022, 077)对新目录和文件权限的影响,然后讨论普通用户家目录权限通常为700的原因,涉及useradd命令和相关默认配置文件。" 101110489,8171441,使用Django构建可视化大屏,"['Python', '后端开发', 'Django框架', 'Web开发', '可视化']

问题
1)以用户root登入,测试umask掩码值
查看当前的umask值
新建目录udir1、文件ufile1,查看默认权限
将umask设为077,再新建目录udir2、文件ufile2,查看默认权限
请把umask值重新设置为022
2)以用户zhangsan登入,查看当前的umask值
3)请问为什么普通用户的家目录权限都是700
方案
本题的主要目的主要是让大家能够记住并理解umask值的作用,它决定着这个Shell环境创建文件以及目录的默认权限。
步骤
实现此案例需要按照如下步骤进行。
步骤一:以用户root登入,测试umask掩码值
查看当前的umask值
新建目录udir1、文件ufile1,查看默认权限
将umask设为077,再新建目录udir2、文件ufile2,查看默认权限
请把umask值重新设置为022
命令操作如下所示:

[root@localhost ~]# whoami       //确保自己登录身份是root
root
[root@localhost ~]# umask        //查看当前umask值,需用最大权限777减去022
0022
[root@localhost ~]# umask –S     //另外一种查看方式,-S选项是直接显示默认权限
u=rwx,g=rx,o=rx

分析: 查看创建目录以及文件的默认权限,是否与umask一致,注意文件默认安全起见没有赋予x执行权限

[root@localhost ~]# mkdir /udir1        //创建测试目录
[root@localhost ~]# touch /ufile1       //创建测试文件
[root@localhost ~]# ls -ld /udir1/      //查看是否与umask值相符合
drwxr-xr-x. 2 root root 4096 2月  26 16:37 /udir1/
[root@localhost ~]# ls -l /ufile1        //查看是否与umask值相符合
-rw-r--r--. 1 root root 0 2月  26 16:37 /ufile1
[root@localhost ~]# umask 077            //更改umask值
[root@localhost ~]# umask                //查看是否修改成功
0077
[root@localhost ~]# umask –S             
u=rwx,g=,o=
[root@localhost ~]# mkdir /udir2         //创建测试目录
[root@localhost ~]# touch /ufile2        //创建测试文件
[root@localhost ~]# ls -ld /udir2        //查看是否与umask值相符合
drwx------. 2 root root 4096 2月  26 16:43 /udir2
[root@localhost ~]# ls -l /ufile2        //查看是否与umask值相符合
-rw-------. 1 root root 0 2月  26 16:44 /ufile2
[root@localhost ~]# umask 022             //更改umask值为022
[root@localhost ~]# umask                 //查看是否修改成功
0022

步骤二:以用户zhangsan登入,查看当前的umask值(本题的目的主要是为了让大家知道管理员与普通用户的默认umask是不同的)
命令操作如下所示:

[root@localhost ~]# umask    //查看root的umask值
0022
[root@localhost ~]# su – zhangsan   //切换zhangsan用户身份
[zhangsan@localhost ~]$ umask       //查看zhangsan的umask值
0002

步骤三:请问为什么普通用户的家目录权限都是700
分析: 本题主要考察,useradd这条命令在执行的时候,与那些默认配置文件相关,有两个配置文件分别为/etc/default/useradd、/etc/login.defs。
命令操作如下所示:

[root@localhost ~]# grep -v "^#" /etc/login.defs | grep -v "^$" | grep -i umask
UMASK           077       //此配置文件规定创建用户家目录时,需遵循的umask值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值