SFTP sở hữu hoặc chế độ xấu gây tử vong cho thư mục chroot ubfox 12.04


12

Tôi chỉ thiết lập máy chủ SFTP của mình và nó hoạt động tốt khi tôi sử dụng nó từ tài khoản người dùng đầu tiên của mình. Tôi muốn thêm một người dùng mà chúng ta sẽ gọi là 'magnarp'. Lúc đầu tôi đã làm như thế này trong sshd_config:

Subsystem sftp internal-sftp


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

Điều đó đã làm việc đủ tốt, người dùng đã đi vào thư mục nhà của mình. Sau đó tôi đã cố gắng thêm một liên kết tượng trưng cho nó.

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

Symlink hoạt động tốt thông qua SSH nhưng không qua SFTP.

Vì vậy, những gì tôi muốn làm bây giờ là nhóm Chroot sftponly đến / home / DUMP và tôi đã làm như thế này:

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

Thư mục DUMP có quyền như sau.

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

Và đây là mã lỗi:

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

Câu trả lời:


21

sshdcó một mức độ hoang tưởng nhất định khi nói đến các thư mục chroot. Tôi không nghĩ rằng điều này có thể bị vô hiệu hóa (ngay cả với StrictModes no). Thư mục chroot và tất cả các thư mục mẹ phải được đặt đúng :

  1. Thư mục chroot và tất cả các cha mẹ của nó không được có khả năng ghi nhóm hoặc thế giới (nghĩa là chmod 755)
  2. Thư mục chroot và tất cả các cha mẹ của nó phải được sở hữu bởi root.

Trong trường hợp của bạn, lỗi đăng nhập có thể được sửa chữa với chmod 755 /home/DUMP mục đích rõ ràng của bạn là có một thư mục có thể ghi thế giới mà sftpuser có thể đăng nhập và mọi người có thể đặt các tệp vào có thể được giải quyết bằng cách biến thư mục đó thành thư mục con của/home/DUMP/


1
Làm việc như người ở! Cảm ơn bạn. Bây giờ tôi chỉ phải sửa tất cả các thư mục con và hệ thống NFS của mình :)
Jonathan

0

A) Điều gì sẽ là điểm tạo ra chroot nếu việc tạo các liên kết sim sẽ giúp tránh được chroot? (Bất kỳ người dùng nào cũng có thể tải lên một simlink và sau đó có quyền truy cập vào toàn bộ hệ thống tệp)

B) Thêm một chmod 777 và bạn sẽ bị đánh bại theo ( http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_lover_tshirt-p235453348828729121en7rf_210.jpg ). Xem http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-Janftime/028151.html để hiểu lý do tại sao openssh rất kén chọn về quyền truy cập thư mục chroot.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.