开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

确保UMASK配置正确

UMASK是用于控制新建文件或目录权限的掩码。当创建文件或目录时,系统会以777权限按位减去UMASK的值(文件还需去除可执行权限),得到文件或目录的默认权限设置。若UMASK设置不合理,可能导致新建文件权限过小或过大,从而影响业务正常运行或导致安全风险。

为兼顾不同场景下的易用性,openEuler发行版默认不配置UMASK,请根据实际场景按需配置。

操作步骤

按规范要求将UMASK配置为077后,创建的文件默认权限为600,目录默认权限为700。

  1. 检查配置文件中UMASK值是否正确,支持同时检视多个目录。以同时检查了“/etc/bashrc”和用户home目录下.bashrc文件为例。
    grep -i "^umask" /etc/bashrc ~/.bashrc

    返回信息如下,UMASK值为077。

    /etc/bashrc:umask 0077
    /root/.bashrc:umask 077
  2. 使用root用户登录,创建文件或目录,确认权限是否正确。
    • 创建文件:以创建test文件为例。
      touch test
      ll test

      返回信息如下,文件权限为600。

      -rw-------. 1 root root 0 Nov  4 17:36 test
    • 创建目录,以创建testdir目录为例:
      mkdir testdir
      ll -d testdir

      返回信息如下,目录权限为700。

      drwx------. 2 root root 4096 Nov  4 17:36 testdir
  3. 使用普通账号test登录,创建文件或目录,确认权限是否正确。
    • 创建文件:以创建test文件为例。
      touch test
      ll test

      返回信息如下,文件权限为600。

      -rw-------. 1 test test 0 Nov  4 17:37 test
    • 创建目录,以创建testdir目录为例:
      mkdir testdir
      ll -d testdir

      返回信息如下,目录权限为700。

      drwx------. 2 test test 4096 Nov  4 17:37 testdir
  4. 若权限不正确,支持以下两种方式修改。
    • 修改“/etc/bashrc”文件中“umask”参数,该文件变化会影响所有用户下次登录。
      1. 打开配置文件。
        vim /etc/bashrc
      2. 按“i”进入编辑模式,修改“umask”参数。
        umask 0077
      3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
    • “~/.bashrc”文件中添加或修改“umask”参数,仅对当前用户下次登录时应用。若该配置与“/etc/bashrc”中设置不一致,则以“~/.bashrc”文件为准。
      1. 以修改test用户的.bashrc文件为例,打开配置文件。
        vim /home/test/.bashrc
      2. 按“i”进入编辑模式,配置如下参数。
        umask 0077
      3. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。