Недавно я переустановил сервер Ubuntu (12.10), и у меня возникла небольшая проблема с OpenSSH.

После того, как я создал несколько новых учетных записей и вошел в них, терминал всегда отвечает «$». В отличие от учетной записи root, которая обычно выдает «Имя @ Путь к серверу:».

Итак, как именно я отключил отображение пути и имени для обычных учетных записей? Я хотел бы получить это обратно.

2 ответа2

3

Наиболее распространенная причина этого заключается в том, что профиль оболочки для новых пользователей не имеет никаких настроек для настройки приглашения оболочки; плюс это также зависит от оболочки, настроенной для пользователя.

когда я делаю:

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.

если мы добавим пользователя с оболочкой bash ,

userdel -r freddy
useradd -m -s /bin/bash freddy
su - freddy

мы получаем подсказку:

freddy@host:~$

Если вы хотите изменить оболочку входа учетных записей пользователей, чтобы у них была подсказка, то вы можете сделать:

usermod -s /bin/bash <account name>

для каждого из счетов.

Опять же, все команды useradd , userdel и usermod выполняются от имени пользователя root !

1

Эта проблема не связана с OpenSSH. Приглашение оболочки основано на переменной среды PS1. Если вы хотите сбросить приглашение оболочки на «Имя @ Путь к серверу:», добавьте строки ниже в .bashrc или .bash_profile или .profile

   PS1="\u@\h:\w"

Дополнительные способы настройки (разноцветных) подсказок см. Здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .