在我的系统中,我将用户根的umask设置为0077,对非根用户设置为0027 (via /etc/profile)。这适用于正常的终端登录。但是,如果我以root身份登录并使用su命令更改用户,如下所示:
su user
umask
0077我得到的是0077 umask而不是0027。这是正常行为吗?如何将su命令的umask 0027设置配置为0027?对于非根用户,我的默认shell是破折号而不是bash。
发布于 2016-12-05 15:34:59
您可以运行su - user来获得一个登录shell,它可能会读取/etc/profile。
发布于 2016-12-05 11:26:53
问题是,当您切换use时,它没有来源于profile文件,因此您必须在每次切换用户时都将umask命令放在适当的位置。
通常,为了为每个用户单独设置一个umask,我们将其放在~/.bashrc中,因为每次您为用户打开新会话时都会使用它,但在您的情况下,您必须查看您的~/.bashrc文件,并确定它在调用时从/etc/中获得的文件,例如在CentOS中,~/.bashrc每次都会调用/etc/bashrc文件。
https://unix.stackexchange.com/questions/328104
复制相似问题