В командной строке SSH не отображается user @ host для одного пользователя

У меня работает сервер Ubuntu 12.04. Я создал user1, когда я установил, и создал user2 сегодня с '1useradd', и я добавил его во все те же группы, что и user1.

Но когда я вхожу удаленно, используя SSH, приглашение для user1 выглядит так:

user1@host:~$

И приглашение для user2 выглядит так:

$

Самое главное, что оболочка ведет себя не так хорошо, как я привык, когда я вошел в систему как user2. Не существует автозаполнения команд или файлов с вкладкой, и я не могу получить доступ к MRU с помощью.

4
задан 9 June 2013 в 20:18

3 ответа

Это потому, что их оболочка установлена ​​на / bin / sh, а не на / bin / bash. Вы можете использовать программу chsh (CHange SHell), чтобы изменить оболочку этого пользователя. Когда вы вошли в систему как этот пользователь, запустите:

chsh /bin/bash

Я бы рекомендовал не редактировать / etc / passwd вручную, так как вы можете случайно ввести в него синтаксически неправильную строку (не осознавая этого), что может нарушать логины для других пользователей.

0
ответ дан 9 June 2013 в 20:18

Примечание: Используйте метод в обновлении, это безопаснее, чем редактирование файла passwd вручную.

команда useradd, по-видимому, устанавливает /bin/sh в качестве оболочки по умолчанию (которая, в свою очередь, связана с /bin/dash). Попробуйте отредактировать /etc/passwd и изменить /bin/sh на /bin/bash для пользователя 2.

В будущем используйте вместо него adduser.

UDPATE: Как предложено ниже @Scott, вместо редактирования /etc/passwd используйте команду chsh:

chsh /bin/bash

Источник: http: //the-hydra.blogspot.com.ar/2012/03/useradd-and-adduser-are-same-think.html

0
ответ дан 9 June 2013 в 20:18

В то время как chsh выполняет свою работу, точно так же, как можно изменить несколько других аспектов пользователя, команда usermod - ваш друг:

usermod -s /bin/bash user

Она имеет Редактирование аналога useradd.

0
ответ дан 9 June 2013 в 20:18

Другие вопросы по тегам:

Похожие вопросы: