Під час керування сервером 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, адміністратори можуть підвищити безпеку, обмеживши доступ користувачів лише до передачі файлів. Це запобігає несанкціонованому доступу до командного інтерпретатора, але дозволяє виконувати необхідні операції обміну файлами. Переконайтеся, що ви регулярно оновлюєте конфігурації, щоб привести їх у відповідність з політиками безпеки.