Sunucuma bir istemci erişimi vermek istiyorum, ancak bu kullanıcıları giriş dizinleriyle sınırlamak istiyorum. Görmelerini istediğim herhangi bir dosyaya bağlanacağım.
Adlı bir kullanıcı oluşturdum bobve onu yeni bir gruba ekledim sftponly. Ev dizinleri var /home/bob. /bin/falseSSH oturumlarını durdurmak için kabuklarını değiştirdim . İşte onların /etc/passwdçizgi:
bob:x:1001:1002::/home/bob:/bin/false
Ayrıca /etc/ssh/sshd_config, aşağıdakileri içerecek şekilde değiştirdim :
Match Group sftponly
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
Onlar gibi giriş yapmaya çalıştığımda, işte görüyorum
$ sftp bob@server
bob@server's password:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
Dışarı yorum yaparsanız ChrootDirectoryçizgiyi ben SFTP olabilir ama sonra sunucu üzerinden başıboş var. Bunun ChrootDirectory /homeişe yaradığını buldum , ancak hala herhangi bir ana dizine erişmelerini sağlıyor. Açıkça denedim ChrootDirectory /home/bobama bu da işe yaramadı.
Neyi yanlış yapıyorum? Nasıl sınırlandırabilir bobiçin /home/bob/?
----DÜZENLE-----
Tamam, şimdi baktım /var/log/auth.logve şunu gördüm:
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
Orada neler olup bittiğinden tam olarak emin değilim, ancak kullanıcı dizininde bir sorun olduğunu gösteriyor. İşte ls -h /homeçıktı:
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/%uDeğiştirilebileceğine inanıyorumChrootDirectory %h.