为su root设置umask

强壮的坏

在我的用户帐户中,我将设置umask022with .bashrc,但是无论我如何成为root ,我都希望root使用aumask的值077(例如,以root身份直接在tty上登录或使用sudo或su)。如果我以root用户身份登录tty,我会得到077,所以很好。对于sudo/etc/sudoers我设置

Defaults umask = 0022
Defaults umask_override

我得到了077,所以又好了。对于su/root/.bashrc中的,我可以设置

umask 022

我得到了umask077,但我不相信这是做了正确的道路。

你如何设置umasksu root

可能相关的是,我/etc/login.defs

UMASK           077
USERGROUPS_ENAB yes
你好

这个答案是特定于bash的,其他shell具有类似的功能,但是由于提到了您的答案,因此.bashrc我假设您使用的是Bash。

您遇到的是,外壳程序可以作为交互式外壳程序或登录外壳程序被调用。

  • bash -l - 登录
  • bash -i - 交互的

如果您在“邀请”部分的Bash手册页中查看,则会注意到以下2条评论:

  • 登录

    登录外壳是一个参数为零的第一个字符为-的外壳程序,或以--login选项开头的外壳程序。

  • 交互的

    交互式外壳程序是一个不带非选项参数且不带-c选项(其标准输入和错误均连接到终端(由isatty(3)确定))启动的外壳程序,或一个以-i选项启动的外壳程序。
    如果bash是交互式的,则设置PS1并且$-包括i,从而允许shell脚本或启动文件测试此状态。

交互式和登录Shell按以下顺序读取配置文件。它首先执行此操作:

  1. / etc / profile

依次按以下顺序之一(以先找到的为准):

  1. 〜/ .bash_profile
  2. 〜/ .bash_login
  3. 〜/ .profile

交互式外壳程序(不是登录外壳程序)读取其他配置文件~/.bashrc请注意,他们从不/etc/bashrc直接读取配置文件。~/.bashrc由于此节,他们通过文件读取了该文件:

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

那umask呢

为了使两种类型的Shell都可以读取,umask您需要将其包括在上述两种类型的Shell调用都将读取的文件中,因此我将其放入/root/.bash_profile

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章