При установке Linux ubuntu по умолчанию используется оболочка bash. Однако вы знаете, что на самом деле можно использовать и другие оболочки?
При создании нового пользователя в Linux можно указать, какую оболочку будет использовать пользователь по умолчанию. Для этого используется опция useradd
с флагом -s
. Если пользователь уже создан, вы также можете изменить оболочку с помощью команды usermod -s.
В этой статье мы обобщим основные оболочки, доступные с помощью опции useradd
с флагом -s
, их особенности, а также способ проверки списка оболочек, доступных в текущей системе.
1. Основные виды оболочек и их особенности
Путь к оболочке | Название оболочки | Особенности |
---|---|---|
/bin/bash |
Bash | Наиболее широко используемая стандартная оболочка. Предоставляет множество функций, таких как редактирование команд, автозаполнение, написание скриптов и другие. |
/bin/sh |
Bourne Shell | Легкая, минималистичная оболочка. Используется преимущественно в скриптах и ограниченных средах. |
/bin/zsh |
Z Shell (Zsh) | Расширенная версия Bash. Предлагает отличные функции автозаполнения и настройки. В последнее время становится все более популярной. |
/bin/ksh |
Korn Shell | Широко используемая оболочка в коммерческой среде. Подчеркивает скорость и эффективность. |
/usr/bin/fish |
Fish Shell | Рекомендуется для новичков благодаря интуитивно понятному интерфейсу и мощным функциям автозаполнения. |
/usr/sbin/nologin или /bin/false |
Оболочка без входа | Используется для блокировки прямого входа. Часто используется при создании системных или сервисных учетных записей. |
2. Проверка доступных оболочек в текущей системе
Список доступных оболочек в текущей системе хранится в файле /etc/shells
. Вы можете проверить это с помощью следующей команды.
cat /etc/shells
Пример вывода:
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
Только оболочки, указанные в этом файле, могут быть использованы с опцией -s
команды useradd
.
3. Проверка точного пути оболочки nologin
Чтобы проверить точное местоположение оболочки для блокировки входа (nologin
), используйте следующую команду.
which nologin
Пример вывода:
/usr/sbin/nologin
Так как на разных системах оно может отличаться, обязательно проверьте это.
4. Примеры использования
Добавление пользователя с использованием оболочки Bash
sudo useradd -m -s /bin/bash username
Добавление пользователя с использованием оболочки Zsh
sudo useradd -m -s /bin/zsh username
Добавление системного пользователя без возможности входа
sudo useradd -r -s /usr/sbin/nologin username
Пример изменения оболочки для существующего пользователя:
sudo usermod -s /usr/sbin/nologin username
Команда для проверки измененного результата:
cat /etc/passwd | grep username
Пример вывода:
username:x:1004:1004::/home/django:/usr/sbin/nologin
Теперь вы четко понимаете опцию -s
команды useradd
и доступные оболочки, безопасно управляя учетными записями с правильными настройками оболочек!
Комментариев нет.