如何在登录时为没有主文件夹和个人 .bashrc 文件的系统用户执行命令?

Bry*_*son 5 bash users ubuntu su bashrc

我通过 /etc/passwd 文件设置了这些用户的主文件夹,但是当他们登录时,我希望他们激活 python virtualenv。如果他们有个人.bashrc文件,我只需要在activate那里包含命令,然后将目录更改为带有 virtualenv 的激活后挂钩。

但是,这些用户没有主文件夹,也没有个人.bashrc文件。

如何在登录时为每个用户执行不同的命令?(只需要执行一个命令。)

这些用户仅使用 登录su,从不使用SSH。该机器是运行 Ubuntu 12.04.3 LTS 的 VPS。

slm*_*slm 8

您可以将一个文件添加到系统/etc/profiile.d目录中,该文件包含if/then您要为其运行的每个用户的语句virtualenv

例子

假设我创建了一个这样的文件,/etc/profile.d/me.sh.

if [ "$USER" == "saml" ]; then
  touch /tmp/samsfile
fi
Run Code Online (Sandbox Code Playgroud)

使其可执行:

$ chmod +x /etc/profile.d/me.sh
Run Code Online (Sandbox Code Playgroud)

然后以身份登录saml,使用su

$ su saml
Run Code Online (Sandbox Code Playgroud)

如果我们检查一下是否创建了临时文件,它是:

$ ls -l /tmp/samsfile 
-rw-rw-r-- 1 saml saml 0 Oct 14 00:31 /tmp/samsfile
Run Code Online (Sandbox Code Playgroud)