Під час керування сервером Linux надання обмеженого доступу користувачам для передачі файлів без надання повного доступу до командного інтерпретатора є поширеною проблемою безпеки. Двома інструментами, які допомагають досягти цього, є rssh і scponly. Ці обмежені оболонки дозволяють користувачам виконувати певні операції з передачі файлів через SCP, SFTP і rsync, запобігаючи при цьому виконанню команд.
У цьому посібнику ми розглянемо встановлення та налаштування rssh і scponly у системі Linux.
Більшість дистрибутивів 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, відредагувавши його конфігураційний файл:
sudo nano /etc/rssh.conf
Розкоментуйте потрібні опції, щоб дозволити SCP, SFTP або rsync. Приклад:
allowscp
allowsftp
allowrsync
Збережіть файл і вийдіть з нього.
Щоб призначити rssh як оболонку для певного користувача, виконайте
sudo usermod -s /usr/bin/rssh ім'я користувача
Тепер користувач зможе виконувати лише дозволені операції через SCP, SFTP або rsync.
Для систем на основі Debian:
sudo apt update && sudo apt install scponly -y
Для CentOS/RHEL:
sudo yum install scponly -y
Для Arch Linux:
sudo pacman -S scponly
Щоб обмежити доступ користувача до scponly, змініть його оболонку:
sudo usermod -s /usr/bin/scponly ім'я користувача
Щоб переконатися, що користувач правильно обмежений, протестуйте з:
ssh ім'я користувача@сервер
Вона має заборонити доступ до командного рядка, але дозволити передачу файлів по SCP/SFTP.
Щоб перевірити налаштування, спробуйте передати файли за допомогою:
Для SCP:
scp file.txt ім'я користувача@сервер:/home/ім'я користувача/
Для SFTP:
sftp ім'я користувача@сервер
Якщо все налаштовано правильно, користувачі зможуть передавати файли, але не виконувати команди.
Використовуючи rssh і scponly, адміністратори можуть підвищити безпеку, обмеживши доступ користувачів лише до передачі файлів. Це запобігає несанкціонованому доступу до командного інтерпретатора, але дозволяє виконувати необхідні операції обміну файлами. Переконайтеся, що ви регулярно оновлюєте конфігурації, щоб привести їх у відповідність з політиками безпеки.