Доступ не в chroot
Если у вас нет настройки FTP-сервера, и вы доверяете пользователю, который будет входить в систему, чтобы не слишком много копаться в вашем сервере, я был бы склонен предоставить им учетную запись SFTP в системе.
CentOS Wiki поддерживает простую инструкцию под названием: Простая настройка SFTP, которая делает это довольно безболезненным.
Я говорю, что это безболезненно, потому что вы буквально просто должны создать учетную запись и убедиться, что брандмауэр разрешает трафик SSH, убедитесь, что SSH служба запущена, и вы в значительной степени сделали это.
Если sshd
еще не запущено:
$ /etc/init.d/sshd start
Чтобы добавить пользователя:
$ sudo useradd userX
$ sudo passwd userX
... set the password ...
Когда вы закончите с учетной записью:
$ sudo userdel -r userX
Chroot доступ
Если, с другой стороны, вы хотите ограничить этого пользователя указанным каталогом, SFTP-сервер, включенный в SSH (openssh), предоставляет конфигурацию, которая также упрощает его включение. Это немного больше работы, но не слишком много. Шаги описаны здесь в этом руководстве под названием: Как настроить Chroot SFTP в Linux (Разрешить только SFTP, а не SSH) .
Сделайте эти изменения в вашем /etc/ssh/sshd_config
файле.
Subsystem sftp internal-sftp
## You want to put only certain users (i.e users who belongs to sftpusers group) in the chroot jail environment. Add the following lines at the end of /etc/ssh/sshd_config
Match Group sftpusers
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
Теперь вам нужно создать корневое дерево каталогов, в которое этот пользователь будет заблокирован.
$ sudo mkdir -p /sftp/userX/{incoming,outgoing}
$ sudo chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing}
Разрешения должны выглядеть следующим образом:
$ ls -ld /sftp/guestuser/{incoming,outgoing}
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/incoming
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/outgoing
Каталоги верхнего уровня как это:
$ ls -ld /sftp /sftp/guestuser
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser
Не забудьте перезагрузить sshd
сервер:
$ sudo service sshd restart
Теперь создайте учетную запись userX:
$ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin userX
$ sudo passwd userX
... set password ...
Вы можете проверить, что учетная запись была создана правильно:
$ grep userX /etc/passwd
userX:x:500:500::/incoming:/sbin/nologin
Когда вы закончите с учетной записью, удалите ее так же, как указано выше:
$ sudo userdel -r userX
... и не забудьте удалить изменения файла конфигурации, которые мы сделали выше, а затем перезапустить, sshd
чтобы сделать их активными еще раз.