我最近重新安装了 Ubuntu 服务器(12.10),但碰巧遇到了 OpenSSH 的一个小问题。
一旦我创建了一些新帐户并登录,终端总是会回复 “$”. 与 root 帐户相反,root 帐户通常会提示 “名称@服务器路径:”。
那么,我究竟是如何禁用普通账户的路径和名称显示的呢?我想恢复它。
答案1
发生这种情况的最常见原因是新用户的 shell 配置文件没有任何设置来调整 shell 提示符;而且它还依赖于为用户配置的 shell。
当我做:
useradd -m freddy
然后su - freddy
,我收到提示
$
和 ps 列表:
$ ps
PID TTY TIME CMD
7258 pts/28 00:00:00 su
7266 pts/28 00:00:00 sh
7300 pts/28 00:00:00 ps
即不使用 bash。
如果我们添加具有 shell 的用户bash
,
userdel -r freddy
useradd -m -s /bin/bash freddy
su - freddy
我们得到提示:
freddy@host:~$
如果您想修改用户帐户的登录 shell 以便他们有一个提示,那么您可以执行以下操作:
usermod -s /bin/bash <account name>
对于每个帐户。
再次,所有useradd
、userdel
和usermod
命令都按 执行root
!
答案2
此问题与 OpenSSH 无关。shell 提示符基于 PS1 环境变量。如果您想将 shell 提示符重置为“Name@Server Path:”,请在 .bashrc 或 .bash_profile 或 .profile 中添加以下行
PS1="\u@\h:\w"
有关设置(彩色)提示的更多方法,请参阅这里