【发布时间】:2014-08-25 00:08:01
【问题描述】:
我创建了一个专门由某个进程使用的系统帐户。我想为它设置umask 002。对于普通用户帐户,我通常将这样的配置放在.profile 中。这种方法不适用于系统帐户,因为.profile 来源于登录,系统帐户不需要登录。
我在哪里可以为系统帐户设置umask 002?
【问题讨论】:
我创建了一个专门由某个进程使用的系统帐户。我想为它设置umask 002。对于普通用户帐户,我通常将这样的配置放在.profile 中。这种方法不适用于系统帐户,因为.profile 来源于登录,系统帐户不需要登录。
我在哪里可以为系统帐户设置umask 002?
【问题讨论】:
在大多数Linux系统上,通常设置在/etc/profile,但也可以设置在/etc/bashrc。
后者获取所有bash 脚本调用的来源,而不仅仅是登录。
但是,如果系统进程不是从 bash 脚本启动的,那么您将需要使用 PAM 配置。
【讨论】:
编辑/etc/profile 并试试这个:
if [ `id -u` -eq $user_id_to _change ]; then
umask 002
else
umask 022
fi
当然,您必须将$user_id_to_change 更改为您要更改umask 的用户ID。比重新启动。
此代码 sn-p 绝对适用于“普通”用户。无法想象,为什么这不适用于系统用户。
【讨论】: