在我的系统中,我将 root 用户的 umask 设置为 0077,将非 root 用户的 umask 设置为 0027(通过 /etc/profile)。这适用于正常的终端登录。但是如果我以 root 身份登录并使用 su 命令更改用户,如下所示:
su user
umask
0077
我得到的0077
是 umask 而不是0027
.这是正常行为吗?如何配置命令的umask0027
设置?我的非 root 用户的默认 shell 是破折号而不是 bashsu
0027
答案1
您可以运行su - user
以获得一个登录 shell,它可能会读取/etc/profile
.
答案2
问题是,当您切换使用时,它不会获取该profile
文件,因此您必须将umask
命令放在适当的位置,每次切换用户时都会获取该命令。
通常,对于每个用户单独设置 a ,umask
我们将其放入,~/.bashrc
因为每次您为用户打开新会话时都会获取它,但在您的情况下,您必须查看您的~/.bashrc
文件并找出它/etc/
在调用时来自哪个文件在CentOS
文件中/etc/bashrc
每次都会被调用~/.bashrc