管理员和非管理员用户使用的 /bin/bash shell 不同吗?

管理员和非管理员用户使用的 /bin/bash shell 不同吗?

快速说明:我不确定是否有必要提及这一点,但我在 /home 目录中运行 chroot 环境

所以我不知道如何真正地用谷歌搜索这个。如果这是重复的,我提前道歉。

问题 1:

我正在运行 Ubuntu-server 14.04,并且能够成功连接到 ssh。但是,我注意到管理员用户和非管理员用户的前缀不同。

Nebulous 是管理员帐户(系统安装期间为我创建的帐户)。

Using username "nebulous".
Authenticating with public key "" from agent
nebulous@Nebulous-Linux:~$

Appmanager 是非管理员帐户。

Using username "appmanager".
Authenticating with public key "" from agent
-bash-4.3$

要比较的前缀是:

  • nebulous@Nebulous-Linux:~$
  • -bash-4.3$

如果两个用户都设置为使用 /bin/bash:

nebulous:x:1000:1000:nebulous,,,:/home/nebulous:/bin/bash
appmanager:x:1002:1001:,,,,:/:/bin/bash

为什么前缀不同?

这似乎也导致了别名的问题。

问题2:

如果我使用 nebulous 登录,然后su appmanager执行别名,它会正常工作。但是,如果我使用非管理员帐户登录并尝试执行别名,它不会识别相同的别名

管理终端:

appmanager@Nebulous-Linux:/home/appmanager$ helloworld
Hello, World!

非管理员终端:

-bash-4.3$ helloworld
-bash: helloworld: command not found

什么原因导致 shell 无法识别别名?

答案1

我解决了我的两个问题。

需要做的就是source path/to/user/.bashrc

我得到了一个正确的前缀:

appmanager@Nebulous-Linux:/$

而且我的别名也有效。

appmanager@Nebulous-Linux:/$ helloworld
Hello, World!

我还对 AskUbuntu 问答网站的误用表示歉意。感谢 @Fabby 的提示

相关内容