При установке Linux ubuntu по умолчанию используется оболочка bash. Однако вы знаете, что на самом деле можно использовать и другие оболочки?

При создании нового пользователя в Linux можно указать, какую оболочку будет использовать пользователь по умолчанию. Для этого используется опция useradd с флагом -s. Если пользователь уже создан, вы также можете изменить оболочку с помощью команды usermod -s.

В этой статье мы обобщим основные оболочки, доступные с помощью опции useradd с флагом -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 и доступные оболочки, безопасно управляя учетными записями с правильными настройками оболочек!