У меня вопрос о создании пользователя с доступом к оболочке из тюрьмы (на самом деле все, что требуется от этого пользователя, - это sftp access
в один конкретный каталог).
Сценарий следующий - у меня есть существующий код, который защищен IonCube, поэтому я не могу с ним связываться - я застрял с выходными папками, которые он предоставляет. Что он делает, он создает папки с некоторыми файлами для загрузки во время работы. Все, что попадает в /var/www/xy/backup/orderbackup/random-name-folder-here/files_here
Теперь я хотел бы создать пользователя, у которого будет доступ sftp к /var/www/xy/backup/files/
и его подчиненных, но лучше нигде больше.
Должен ли я создать обычного пользователя, а затем поместить его в тюрьму в этот каталог (хотя я не уверен, что могу создать там тюрьму, потому что я не могу изменить /var/www/xy/backup/orderbackup/
право собственности на основную причину перестанет сохранять файлы), или, возможно, мне следует использовать какой-либо другой метод.
Я читал сообщения о RSSH, MySecureShell и т. Д., И этот подход был бы чем-то средним между безопасностью и сложностью настройки (я не гуру Linux).
Заранее спасибо!
OpenSSH (который также предоставляет функциональность sftp и scp) получил функциональность chroot в своих более поздних версиях. В основном вам просто нужно добавить строки, подобные этим, в ваш /etc/ssh/sshd_config
файл.
Subsystem sftp internal-sftp
Match group sftpusers
ChrootDirectory /var/www/xy/backup/files/
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Затем создайте новую группу под названием sftpusers с командой groupadd sftpusers
.
Последний шаг - создать пользователя, принадлежащего группе sftpusers:
useradd -g sftpusers -d /var/www/xy/backup/files yourusername
passwd yourusername
Затем просто перезапустите службу ssh: /etc/init.d/sshd restart
и все должно быть готово.
Для этого вы можете использовать конфигурацию sshd. Создайте пользователя, например. fred
затем добавьте следующее в свой файл sshd_config
Match user fred
ChrootDirectory /var/www/xy/backup/files
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
Это заблокирует пользователя fred
в желаемый каталог и его подкаталоги. Пользователь fred
только нужно r--
доступ к файлу и r-x
в каталоги. Проверьте текущие разрешения, возможно, он уже может это сделать.
Может быть, вы могли бы определить новую группу только для этого пользователя sftp, изменить групповое владение каталогом на эту группу и установить бит setgid в каталоге?
Это может работать или не работать, в зависимости от того, как приложение создает каталоги.