ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

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