以 root 身份登录,环境变量很棒。我输入了“set”
我做到了:
useradd -m alex
su alex
出于某种原因,当我输入“set”时,所有内容都消失了。当我第一次登录时,如何让 alex 拥有与 root 一样的所有环境变量(除了作为标准用户)?
例如,我希望设置 PS1,就像 root 帐户一样。创建这个新用户时,我的所有环境变量都被删除了。
**编辑:人们不理解这个问题。目前,“alex”用户帐户完全空白,没有环境变量。我只希望它具有与 ROOT 类似的环境变量。所有目录都没有颜色。PS1 只是一个美元符号。这不正常。
答案1
所有用户(假设您使用 bash)将/etc/profile
在登录时执行。您可能还需要设置~/.profile
文件。为此,您可以复制 root 的配置文件或捕获(以 root 身份运行)的输出:
set
然后编辑该文件以将其合并到 alex 的文件中.profile
。
答案2
你想用su - alex
,不是su alex
。
从man su
:
Options:
-, -l, --login
make the shell a login shell
登录 shell 意味着你的 shell 将正确处理初始登录脚本。
您可以通过注销并以新用户身份重新登录来执行相同的操作。
答案3
首先,检查一下其中有什么/etc/profile
。
接下来,您的alex
用户在 中设置了什么 shell /etc/passwd
?尝试查看所设置 shell 的相应 rc 文件 - 例如,如果使用 bash,请查找默认bashrc
文件(通常位于/etc/bashrc
或类似路径)。其他 shell 及其默认启动脚本也一样。
答案4
您可以向 useradd 传递更多参数。
useradd -ms /bin/bash username
这将创建一个用户、它的主目录并将其 shell 设置为 bash(使用存储在 /etc/bash.bashrc 中的默认设置)。