快速说明:我不确定是否有必要提及这一点,但我在 /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 的提示