文件目录的默认权限

    xiaoxiao2022-07-07  150

    问题

    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值

    最新回复(0)