У меня CentOs выпуск 6.4 с Digital Ocean, и я хотел бы успешно создавать SFTP-пользователей и помещать их в домашний каталог пользователя chroot, но боюсь, что я все испортил.
Я перепробовал много вещей, слишком много, чтобы перечислять их здесь, поскольку большинство из них, вероятно, неверны или не будут иметь особого смысла, но я считаю, что должен быть правильный процесс, и я попробовал следующее:
Создать группу для sftp
: -
groupadd sftp
Создайте пользователя и установите его домашний каталог: -
useradd -d /var/www/vhosts/domain.com dummyuser
Установите пароль для пользователя: -
passwd dummyuser
Измените группу пользователей на 'sftp': -
usermod -g sftp dummyuser
Установите оболочку пользователя на /bin/false
: -
usermod -s /bin/false dummyuser
Редактировать подсистему в sshd_config
( /etc/ssh/
): -
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Добавьте следующее в конец sshd_config
файла: -
Match group sftp
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
Я удостоверяюсь, что все следующие каталоги root:root
: -
/var
/var/www
/var/www/vhosts
/var/www/vhosts/domain.com
Если я затем пытаюсь войти на сервер через SFTP с пользователем dummyuser
(в WinSCP), я получаю следующее: -
Authentication log (see session log for details):
Using username "dummyuser".
Authentication failed.
Все, чего я хочу добиться - это отправить пользователя в его домашний каталог. Я также установил и настроил vsftpd. Пользователи могли войти в систему нормально, но имели бы доступ ко всему серверу - мне просто не удалось заставить работать тюрьму вообще.
редактировать
Забыл упомянуть, я тогда перезапустил sshd
также: -
service sshd restart
Когда ошибка возникает в WinSCP, их страница справки об этом здесь .
Результаты журнала
/var/log/secure
Я заменил реальное имя сервера на server_name
.
Apr 28 14:20:56 server_name sshd[9944]: Accepted password for dummyuser from 80.194.255.4 port 44402 ssh2
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session opened for user dummyuser by (uid=0)
Apr 28 14:20:56 server_name sshd[9946]: fatal: bad ownership or modes for chroot directory component "/var/www/vhosts/"
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session closed for user dummyuser
/var/log/secure
.
vhosts
есть root:root
.
sshd
? Что находится в лог файлах на сервере?