Как проверить, что такое оболочка по умолчанию

519
faressoft

Существует ли файл конфигурации, в котором хранится оболочка по умолчанию (bash, zsh и т. Д.) Для текущего пользователя?

0
У терминалов нет оболочек, у пользователей есть. Ignacio Vazquez-Abrams 6 лет назад 0
@ IgnacioVazquez-Abrams Спасибо, отредактировано faressoft 6 лет назад 0

1 ответ на вопрос

5
Ignacio Vazquez-Abrams

Оболочка по умолчанию, используемая пользователем, содержится в седьмом поле /etc/passwdили его эквиваленте.

$ getent passwd xxxxxx | awk -F: '{ print $7 }' /bin/bash 
Есть ли другой способ, который не требует доступа к такому файлу, как passwd faressoft 6 лет назад 0
* Единственное * надежное место, где эта информация может быть найдена, это `passwd`. Ignacio Vazquez-Abrams 6 лет назад 0
Когда я устанавливаю zsh, как не помечает себя как оболочку входа faressoft 6 лет назад 0
Вы использовали `chsh`, чтобы указать системе использовать его? Ignacio Vazquez-Abrams 6 лет назад 1
О, может быть, это так, поэтому он спрашивает у меня разрешения faressoft 6 лет назад 0
Чш изменяет файл passwd faressoft 6 лет назад 0
@faressoft: вы можете проверить это с помощью `strace`, например` strace chsh -s $ (команда -v bash) | & grep open` Arkadiusz Drabczyk 6 лет назад 1
@faressoft Обратите внимание, у вас всегда должен быть доступ к `/ etc / passwd`. Это место, где отображаются ваш идентификатор пользователя и имя пользователя, а также ваш домашний каталог и оболочка по умолчанию, и она должна быть доступна многим вещам. Возможно, вы думаете о `/ etc / shadow` (где хранятся пароли), и это, как правило, не доступно для чтения. BenjiWiebe 6 лет назад 0
@faressoft На самом деле, когда вы входите в систему, оболочка, которую вы на самом деле * * читаете из вашего `/ etc / passwd`, через тот же механизм, который использует getent. BenjiWiebe 6 лет назад 0

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