Ho una versione 6.4 di CentOs con Digital Ocean e vorrei creare con successo utenti SFTP e trasferirli nella directory home chroot dell'utente, ma temo di sbagliarmi.
Ho provato un sacco di cose, troppe per elencarle qui in quanto la maggior parte è probabilmente errata o non avrà molto senso, ma quello che sento dovrebbe essere il processo corretto e quello che ho provato è: -
Crea un gruppo per sftp
: -
groupadd sftp
Crea un utente e imposta la sua home directory: -
useradd -d /var/www/vhosts/domain.com dummyuser
Imposta una password per l'utente: -
passwd dummyuser
Cambia il gruppo dell'utente in 'sftp': -
usermod -g sftp dummyuser
Impostare la shell dell'utente su /bin/false
: -
usermod -s /bin/false dummyuser
Modifica sottosistema tra sshd_config
( /etc/ssh/
): -
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Aggiungi quanto segue in fondo al sshd_config
file: -
Match group sftp
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
Mi assicuro che tutte le seguenti directory siano root:root
: -
/var
/var/www
/var/www/vhosts
/var/www/vhosts/domain.com
Se poi provo ad accedere al server tramite SFTP con l'utente dummyuser
(in WinSCP), ottengo quanto segue: -
Authentication log (see session log for details):
Using username "dummyuser".
Authentication failed.
Tutto quello che voglio ottenere è il jailing di un utente nella sua home directory. Ho anche installato e configurato vsftpd. Gli utenti potrebbero accedere correttamente ma avrebbero accesso all'intero server - non sono riuscito a far funzionare il jailing.
modificare
Ho dimenticato di menzionare, ho quindi riavviato sshd
anche: -
service sshd restart
Quando l'errore viene prodotto in WinSCP, la loro pagina di aiuto su questo è qui .
Risultati del registro
/var/log/secure
Ho sostituito il nome effettivo del server con 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
? Cosa c'è nei file di registro sul server?