sftp, chroot + chdir kullanıcı evine?

Sep 25 2020

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

2 MichaelHampton Sep 25 2020 at 23:25

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.