Какой самый простой и стандартный способ создать и ограничить нового пользователя / var / www / в CentOS?
Изменить: Идеально ограничивается только SCP.
С достаточно свежей CentOS идет достаточно новый OpenSSH с chroot
и internal-sftp
функции.
Сначала вам нужно настроить OpenSSH для использования внутреннего SFTP. Это делается путем добавления этой строки в sshd.conf
:
Subsystem sftp internal-sftp
Затем вы можете добавить правила для ограничения пользователей / групп в их домашних каталогах:
Match user restrictedjoe
ChrootDirectory /var/www
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Или для групп
Match group restrictedgroup
ChrootDirectory /var/www
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Мне неизвестен «стандартный способ», но один из способов сделать это - создать так называемую «тюрьму» для пользователя, где его / ее тюрьма находится в / var / www. Это можно сделать, создав chroot-тюрьму. См. Команду chroot. Тюрьма также может контролировать, что пользователь может делать в тюрьме, т.е. какие команды / программы можно запускать.
Судя по вашему ответу на мой комментарий, я бы не дал пользователю полную оболочку. Это значительно упрощает задачу. На ум приходят несколько замен оболочки, которые можно использовать, чтобы позволить пользователю управлять файлами и ничем другим:
Я лично использовал scponlyc несколько раз. Он даже включает скрипты для установки chroot jail для вас (github вики)
Моя любимая причина установки mysecureshell
http://mysecureshell.sourceforge.net/
Это наиболее удобный вариант настройки. Вы можете сделать с ним много замечательных вещей