为 su 用户命令设置 umask

为 su 用户命令设置 umask

在我的系统中,我将 root 用户的 umask 设置为 0077,将非 root 用户的 umask 设置为 0027(通过 /etc/profile)。这适用于正常的终端登录。但是如果我以 root 身份登录并使用 su 命令更改用户,如下所示:

su user
umask
0077

我得到的0077是 umask 而不是0027.这是正常行为吗?如何配置命令的umask0027设置?我的非 root 用户的默认 shell 是破折号而不是 bashsu0027

答案1

您可以运行su - user以获得一个登录 shell,它可能会读取/etc/profile.

答案2

问题是,当您切换使用时,它不会获取该profile文件,因此您必须将umask命令放在适当的位置,每次切换用户时都会获取该命令。

通常,对于每个用户单独设置 a ,umask我们将其放入,~/.bashrc因为每次您为用户打开新会话时都会获取它,但在您的情况下,您必须查看您的~/.bashrc文件并找出它/etc/在调用时来自哪个文件在CentOS文件中/etc/bashrc每次都会被调用~/.bashrc

相关内容