Проблема с оболочкой по умолчанию и домашним каталогом

Недавно мне был предоставлен доступ к машине на работе. Однако у меня возникли проблемы с настройкой среды разработки. Соответствующая информация о машине:

$ uname -a
Linux blackhawk2 3.2.0-41-generic #66-Ubuntu SMP Thu Apr 25 03:27:11 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

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

$ echo $HOME
/

Далее, моя оболочка предпочтений - Bash, но:

$ echo $SHELL
/bin/csh

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

glperez:x:1015:1015:glperez,,,:/home/glperez:/bin/bash

РЕДАКТИРОВАТЬ: мой домашний каталог определенно существует, и / bin / bash работает правильно. Кроме того, аутентификация пользователя выполняется на каком-либо сервере аутентификации. К сожалению, эта информация сейчас недоступна для меня.

Странно то, что в обоих случаях, когда я пытался решить эту проблему, первый вход в систему приводит к ожидаемому поведению. То есть мой домашний каталог установлен правильно, а моя оболочка - Bash. При повторном входе в систему проблема появляется.

0
задан 23 August 2013 в 11:14

4 ответа

Читать man 1 login, читать /etc/login.defs. Также посмотрите, что у вас есть в $PATH, $LOGNAME.

Я бы удостоверился, что /home/glperez действительно существует, с ls -ld /home/glperez. Если он не существует и /etc/login.defs разрешает, вам будет предоставлен каталог, в котором логин уверен, что существует, /.

Вы также можете проверить, что /bin/bash существует, является исполняемым и включен в /etc/shells

ls  -l /bin/bash;ldd /bin/bash;grep /bin/bash /etc/shells  

Вы должны спросить у системного администратора blackhawk2, как он / она создал glperez аккаунт. useradd или adduser? Какие параметры? Вы должны иметь зашифрованный домашний каталог? Аутентифицирует ли blackhawk2 пользователей локально или по сети (проверьте /etc/nsswitch.conf)? Если по сети, что сервер думает о вас?

0
ответ дан 23 August 2013 в 11:14

Если вы уверены, что у вас есть именно эта строка:

glperez:x:1015:1015:glperez,,,:/home/glperez:/bin/bash

в файле /etc/passwd, то вам следует проверить все ваши файлы инициализации оболочки , например ~/.bashrc, [ 114] и так далее. Скорее всего, у вас есть что-то вроде следующих команд в одном из этих файлов:

ksh              #change the shell to ksh
cd /             #chenge the working directory to /

HOME=/
SHELL=/bin/ksh
0
ответ дан 23 August 2013 в 11:14

Следующее будет запускать bash аналогично тому, как он запускается при входе в систему, но выводит имя файла и номер строки каждой команды, которую он запускает. Это должно помочь вам выяснить, где он изменяет переменную SHELL.

PS4='+ $BASH_SOURCE:$LINENO:' bash -xlic ''
0
ответ дан 23 August 2013 в 11:14

Проблема была / была с моим UID. По какой-то причине мой UID не соответствует.

Кажется, что что-то идет не так, когда ищется имя пользователя, и мне дают временный UID.

Я сейчас нахожусь в контакте с системным администратором, чтобы решить эту проблему.

Спасибо за все ответы!

0
ответ дан 23 August 2013 в 11:14

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

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