ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

rbash – ограниченная оболочка Bash, объясненная практическими примерами

rbash – ограниченная оболочка Bash, объясненная практическими примерами

В мире Linux и Unix-подобных систем безопасность имеет решающее значение, особенно когда системой пользуются несколько пользователей. Один из способов повысить безопасность — использовать ограниченные оболочки. Одной из таких оболочек является rbash, или ограниченная оболочка Bash.

В этой статье объясняется, что такое rbash, чем он отличается от обычной оболочки Bash, и приводятся практические примеры его использования.

 

Что такое оболочка?

Прежде чем углубляться в rbash, давайте проясним, что такое оболочка.

Оболочка — это программа, которая позволяет пользователям взаимодействовать с системой Linux через интерфейс командной строки. Она интерпретирует команды, введённые пользователем, и взаимодействует с системой для выполнения этих команд.

Bash (Bourne Again SHell) — одна из наиболее широко используемых оболочек в средах Linux.

 

Что такое rbash?

rbash — это ограниченная версия оболочки Bash, которая предназначена для ограничения доступа пользователей к определённым командам и функциям, повышая безопасность системы.

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

 

Ключевые различия между Bash и rbash

Ниже приведены некоторые ключевые различия между bash и rbash:

 

Эти ограничения делают rbash подходящим для сценариев, в которых вы хотите предоставить пользователям ограниченный доступ, сохраняя при этом уровень безопасности.

 

Когда использовать rbash

Вот несколько ситуаций, в которых использование rbash выгодно:

 

Как настроить rbash в Linux

Настройка rbash в вашей системе Linux — простой процесс, вам нужно лишь выполнить следующие действия:

 

1. Установите Bash в Linux

В большинстве дистрибутивов Linux по умолчанию установлен Bash. Вы можете проверить, установлен ли он, выполнив команду:

bash --version

2. Создайте пользователя с ограниченной оболочкой

Вы можете создать пользователя специально для rbash.

sudo adduser anusha

 

После создания пользователя измените его оболочку по умолчанию на rbash:

sudo usermod -s /bin/rbash restricteduser

 

Чтобы ещё больше ограничить среду этого пользователя, вы можете создать специальный каталог и сделать его домашним каталогом пользователя:

sudo mkdir /home/anusha/bin

 

Затем вы можете поместить в этот каталог любые скрипты или команды, к которым вы хотите предоставить доступ пользователю.

Чтобы ограничить набор доступных пользователю команд, установите значение для переменной PATH, включающее только каталог bin:

echo 'export PATH=$HOME/bin' | sudo tee -a /home/anusha/.bashrc

 

Теперь вы можете войти в систему как ограниченный пользователь:

su - annaK

 

Как использовать rbash в Linux

Давайте рассмотрим несколько практических примеров, чтобы понять, как работает rbash.

 

Пример 1: Попытка изменить каталог

После входа в систему как ограниченный пользователь, попробуйте изменить каталоги:

cd /tmp

 

Вы получите сообщение об ошибке, например -rbash: cd: restricted, которое подтверждает, что пользователь не может выйти за пределы своего домашнего каталога.

 

Пример 2: выполнение ограниченных команд

Попробуйте выполнить такие команды, как exec или set:

exec bash

 

Вы получите сообщение об ошибке -rbash: exec: restricted, которое показывает, что пользователю запрещено запускать новые экземпляры оболочки.

 

Пример 3: перенаправление файла

Попытка перенаправить выходные данные в файл:

echo "Тест" > test.txt

 

Вы получите сообщение об ошибке, в котором будет указано, что пользователи не могут перенаправлять вывод в файлы.

-rbash: test.txt: restricted: cannot redirect output

 

Пример 4: Разрешенные команды

Чтобы посмотреть, какие команды может выполнять ограниченный пользователь, вы можете создать простой скрипт в его каталоге bin.

Например, создайте файл с именем hello.sh:

echo "echo 'Привет, мир!'" > /home/restricteduser/bin/hello.sh
chmod +x /home/restricteduser/bin/hello.sh

 

Теперь, когда ограниченный пользователь запускает:

./hello.sh

 

Они увидят на экране надпись «Привет, мир!», которая показывает, что они могут выполнять разрешённые команды.

 

Заключение

Таким образом, rbash — это мощный инструмент для повышения безопасности в многопользовательских средах Linux. Ограничивая доступ к определённым командам и функциям, он помогает поддерживать целостность системы, позволяя пользователям выполнять базовые задачи.

Exit mobile version