SFTP เป็นเจ้าของเสียไม่ดีหรือโหมดสำหรับไดเรกทอรี chroot ubuntu 12.04


12

ฉันเพิ่งตั้งค่าเซิร์ฟเวอร์ SFTP ของฉันและใช้งานได้ดีเมื่อฉันใช้จากบัญชีผู้ใช้ครั้งแรกของฉัน ฉันต้องการเพิ่มผู้ใช้ซึ่งเราจะเรียกว่า 'magnarp' ตอนแรกฉันทำแบบนี้ใน sshd_config:

Subsystem sftp internal-sftp


Match group sftponly
    ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

มันทำงานได้ดีพอผู้ใช้ยอดเยี่ยมเข้าไปในโฮมไดเร็กตอรี่ ฉันพยายามเพิ่มลิงก์สัญลักษณ์ไปแล้ว

home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"

symlink ทำงานได้ดีผ่าน SSH แต่ไม่เกิน SFTP

ดังนั้นสิ่งที่ฉันต้องการทำตอนนี้คือกลุ่ม Chroot sftponly ไปที่ / home / DUMP และฉันทำสิ่งนี้:

Match group sftponly
    ChrootDirectory /home/DUMP
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

โฟลเดอร์ DUMP มีสิทธิ์ดังนี้

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

และนี่คือรหัสข้อผิดพลาด:

Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354
Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password for magnarp from 192.168.1.198 port 51354 ssh2
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session opened for user    magnarp by (uid=0)
Aug 18 16:40:30 nixon-01 sshd[7346]: User child is on pid 7467
Aug 18 16:40:30 nixon-01 sshd[7467]: fatal: bad ownership or modes for chroot directory "/home/DUMP"
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session closed for user magnarp

คำตอบ:


21

sshdมีระดับของความหวาดระแวงเมื่อมันมาถึงไดเรกทอรี chroot ฉันไม่คิดว่าจะสามารถปิดการใช้งาน (แม้จะมีStrictModes no) ไดเรกทอรี chroot และไดเรกทอรีหลักทั้งหมดจะต้องตั้งค่าอย่างถูกต้อง :

  1. ไดเรกทอรี chroot และผู้ปกครองทั้งหมดจะต้องไม่มีความสามารถในการเขียนกลุ่มหรือโลก (เช่นchmod 755)
  2. ไดเร็กทอรี chroot และพาเรนต์ทั้งหมดต้องเป็นเจ้าของโดย root

ในกรณีของคุณข้อผิดพลาดในการเข้าสู่ระบบสามารถแก้ไขได้ด้วยchmod 755 /home/DUMP เจตนาที่ชัดเจนของคุณที่จะมีไดเรกทอรีที่เขียนได้ทั่วโลกซึ่ง sftpuser สามารถเข้าสู่ระบบและทุกคนสามารถใส่ไฟล์เข้าไปได้สามารถแก้ไขได้โดยทำให้ไดเรกทอรีนั้นเป็นไดเรกทอรีย่อยของ/home/DUMP/


1
ทำงานเหมือนจับใจ! ขอบคุณ. ตอนนี้ฉันมีการแก้ไขทั้งหมดไดเรกทอรีย่อยและระบบ NFS ของฉันเช่นกัน :)
โจนาธาน

0

A) อะไรคือจุดของการทำ chroot ถ้าทำ simlinks จะช่วยเลี่ยง chroot? (ผู้ใช้สามารถอัพโหลดลิงค์จากนั้นเข้าถึงระบบไฟล์ทั้งหมด)

B) อีกหนึ่ง chmod 777 และคุณจะได้รับความเสียหายจาก theo ( http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_shirt_tshirt-p235453348828729121en7rf_210.jpg ) ดูhttp://lists.mindrot.org/pipermail/openssh-unix-dev/2010-มกราคม/028151.htmlเพื่อทำความเข้าใจว่าทำไม openssh จึงเป็นเรื่องพิถีพิถันเกี่ยวกับสิทธิ์ของไดเรกทอรี chroot

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.