Voglio dare a un client l'accesso al mio server, ma voglio limitare quegli utenti alle loro home directory. Legherò-mount in tutti i file che voglio che siano in grado di vedere.
Ho creato un utente chiamato bob
e l' ho aggiunto a un nuovo gruppo chiamato sftponly
. Hanno una home directory su /home/bob
. Ho cambiato la shell /bin/false
per arrestare gli accessi SSH. Ecco la loro /etc/passwd
linea:
bob:x:1001:1002::/home/bob:/bin/false
Ho anche modificato il /etc/ssh/sshd_config
per includere quanto segue:
Match Group sftponly
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
Quando provo ad accedere come loro, ecco cosa vedo
$ sftp bob@server
bob@server's password:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
Se commento la ChrootDirectory
riga in cui posso inserire SFTP, ma hanno libero sfogo sul server. Ho scoperto che ChrootDirectory /home
funziona, ma dà comunque accesso a qualsiasi home directory. Ho esplicitamente provato, ChrootDirectory /home/bob
ma non funziona neanche.
Che cosa sto facendo di sbagliato? Come posso limitarmi bob
a /home/bob/
?
----MODIFICARE-----
Va bene, quindi ho appena dato un'occhiata /var/log/auth.log
e ho visto questo:
May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session opened for user bob by (uid=0)
May 9 14:45:48 nj sshd[5091]: fatal: bad ownership or modes for chroot directory component "/home/bob/"
May 9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session closed for user bob
Non sono del tutto sicuro di cosa stia succedendo lì, ma suggerisce che qualcosa non va nella directory dell'utente. Ecco l' ls -h /home
output:
drwxr-xr-x 26 oli oli 4096 2012-01-19 17:19 oli
drwxr-xr-x 3 bob bob 4096 2012-05-09 14:11 bob
ChrootDirectory /home/%u
possa essere sostituitoChrootDirectory %h
.