Вступ

Під час керування сервером Linux надання обмеженого доступу користувачам для передачі файлів без надання повного доступу до командного інтерпретатора є поширеною проблемою безпеки. Двома інструментами, які допомагають досягти цього, є rssh і scponly. Ці обмежені оболонки дозволяють користувачам виконувати певні операції з передачі файлів через SCP, SFTP і rsync, запобігаючи при цьому виконанню команд.

У цьому посібнику ми розглянемо встановлення та налаштування rssh і scponly у системі Linux.

Встановлення rssh

Встановлення rssh

Більшість дистрибутивів Linux надають rssh у своїх сховищах пакунків. Ви можете встановити його за допомогою наступних команд:

Для Debian/Ubuntu:

sudo apt update && sudo apt install rssh -y

Для CentOS/RHEL

sudo yum install rssh -y

Для Arch Linux:

sudo pacman -S rssh

Налаштування rssh

Після встановлення налаштуйте rssh, відредагувавши його конфігураційний файл:

sudo nano /etc/rssh.conf

Розкоментуйте потрібні опції, щоб дозволити SCP, SFTP або rsync. Приклад:

allowscp
allowsftp
allowrsync

Збережіть файл і вийдіть з нього.

Створення користувача за допомогою rssh

Щоб призначити rssh як оболонку для певного користувача, виконайте

sudo usermod -s /usr/bin/rssh ім'я користувача

Тепер користувач зможе виконувати лише дозволені операції через SCP, SFTP або rsync.

Встановлення scponly

Встановлення scponly

Для систем на основі Debian:

sudo apt update && sudo apt install scponly -y

Для CentOS/RHEL:

sudo yum install scponly -y

Для Arch Linux:

sudo pacman -S scponly

Налаштування scponly для користувача

Щоб обмежити доступ користувача до scponly, змініть його оболонку:

sudo usermod -s /usr/bin/scponly ім'я користувача

Щоб переконатися, що користувач правильно обмежений, протестуйте з:

ssh ім'я користувача@сервер

Вона має заборонити доступ до командного рядка, але дозволити передачу файлів по SCP/SFTP.

Тестування та перевірка

Щоб перевірити налаштування, спробуйте передати файли за допомогою:

Для SCP:

scp file.txt ім'я користувача@сервер:/home/ім'я користувача/

Для SFTP:

sftp ім'я користувача@сервер

Якщо все налаштовано правильно, користувачі зможуть передавати файли, але не виконувати команди.

Висновок

Використовуючи rssh і scponly, адміністратори можуть підвищити безпеку, обмеживши доступ користувачів лише до передачі файлів. Це запобігає несанкціонованому доступу до командного інтерпретатора, але дозволяє виконувати необхідні операції обміну файлами. Переконайтеся, що ви регулярно оновлюєте конфігурації, щоб привести їх у відповідність з політиками безпеки.