sftp, chroot + chdir kullanıcı evine?
Bakışlar ister bir yapılandırma var bu
AllowUsers sftpu
Match Group sftpg
ChrootDirectory /home/sftp
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
passwdentry (grup 7700 adlandırılır sftpg)
sftpu:x:7700:7700::/home/sftp/allu:/bin/false
ve alludir
drwxrwxr-x 4 guacam sftpg 4096 Sep 16 2019 /home/sftp/allu/
Neredeyse çalışıyor. Chroot çalışır ama adam ne diyor aksine
Chroot'tan sonra, sshd (8) çalışma dizinini kullanıcının ev dizinine değiştirir.
kullanıcının oturum açtıktan sonra çalışma dizini /home/sftp, değil /home/sftp/alluve benim tahminim, 'a /home/sftp/alluait olduğu guacamve olmadığı için sftpu( sftpggrubun rwxerişime sahip olduğu alluve yazabildiği zaman. Bunun nedeni, birkaç kullanıcının aynı alludizini paylaşması gerektiğidir ).
Yukarıdaki yapılandırma kusurlu olmadığı sürece, sshd alt sisteminde bunlardan biri için bir komut var mı
- chdir'i (chroot'tan sonra) kullanıcının evine gitmeye zorlar
- erişim kurallarını biraz gevşet
- ...
aynı dizin ağacını ve erişimleri korurken?
Yanıtlar
sshd, mevcut olmadığı için çalışma dizinini kullanıcının ev dizinine değiştiremez. Bu nedenle çalışma dizinini olarak bırakır /.
Bu kullanıcıya ana dizini atadınız /home/sftp/allu. Ama sonra kullanıcıyı chroot yaparsınız /home/sftp. Bu, chroot'a göre dizinin konumunda olduğu anlamına gelir /allu! Değil /home/sftp/allu.
Chroot'un oturum açmış kullanıcının erişebileceği kök dizinin dosya sisteminde daha düşük bir noktaya değiştirilmesine neden olduğunu ve tüm yolların buna göre olduğunu bilmeniz gerekir. Öyleyse, bir kullanıcının /home/sftp/allubir chroot dizininin içine erişmesi gerekiyorsa /home/sftp, o zaman gerçek dosya sisteminin dışına, dizin olacaktır /home/sftp/home/sftp/allu.