Команда chsh
в Linux используется для изменения оболочки входа пользователя (в настоящее время оболочка входа).
Содержание
Оболочка — интерактивный пользовательский интерфейс с операционной системой, который можно рассматривать как внешний уровень операционной системы.
Суперпользователь может изменить оболочку входа в систему для существующих учётных записей.
Синтаксис
$ chsh [options] []
Параметры
- -s, --shell
- Указать шелл для входа
- -l, --list-shells
- Вывести список шеллов и выйти
- -h, --help
- Отобразить эту справку
- -V, --version
- Вывести версию
Использование в Linux команды chsh
Список доступных оболочек
Для вывода списка всех оболочек команда запускается с опцией -l
:
oleg@mobile:~:$ chsh -l
/bin/sh
/bin/bash
/usr/bin/git-shell
/bin/rbash
/usr/bin/rbash
/usr/bin/bash
/usr/bin/sh
/bin/zsh
/usr/bin/zsh
oleg@mobile:~:$
Текущая оболочка
Вывод текущей оболочки:
oleg@mobile:~:$ echo $SHELL
/bin/bash
oleg@mobile:~:$
Изменение оболочки входа
Для изменения оболочки входа в систему утилита, запущенная без опций, предлагает изменить оболочку для текущего пользователя.
Терминалом запрашивается пароль текущего пользователя и далее команда требует указать новую оболочку. Для отказа от смены оболочки достаточно нажатия Enter:
oleg@mobile:~:$ chsh
Изменение шелла для oleg.
Пароль:
chsh: Сбой при проверке подлинности
oleg@mobile:~:$
Изменение оболочки другого пользователя
Пользователь root
или пользователь с привилегиями sudo
может установить новую оболочку входа в систему для другого пользователя, указав имя пользователя в качестве аргумента.
Для примера изменяем оболочку по умолчанию для пользователя oleg
:
oleg@mobile:~:$ sudo chsh oleg
Изменение шелла для oleg.
Новый шелл [/bin/bash]: /bin/sh
Шелл изменён.
oleg@mobile:~:$
В этом примере в качестве выбранной оболочки показан /bin/sh
.
Проверяем:
oleg@mobile:~:$ echo $SHELL
/bin/sh
oleg@mobile:~:$
Неинтерактивное изменение оболочки
По умолчанию утилита запрашивает у пользователя новую оболочку. Запуск утилиты с опцией -s
изменяет оболочку неинтерактивным способом.
Изменим оболочку входа текущего пользователя на /bin/sh
:
oleg@mobile:~:$ chsh -s /bin/sh
Изменение шелла для oleg.
Пароль:
Шелл изменён.
oleg@mobile:~:$
Заключение
Из этой короткой статьи следует, что изменение оболочки командой chsh
для входа в систему Linux не представляет никаких сложностей. Даже начинающие пользователи легко смогут с этим справиться.