SFTP kepemilikan buruk fatal atau mode untuk direktori chroot ubuntu 12.04

12

Saya baru mengatur server SFTP saya dan berfungsi dengan baik ketika saya menggunakannya dari akun pengguna pertama saya. Saya ingin menambahkan pengguna yang kami sebut 'magnarp'. Awalnya saya suka ini di sshd_config:

Subsystem sftp internal-sftp


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

Itu bekerja cukup baik, pengguna magnarp masuk ke direktori rumahnya. Saya kemudian mencoba menambahkan tautan simbolis ke sana.

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

Symlink bekerja dengan baik melalui SSH tetapi tidak lebih dari SFTP.

Jadi yang ingin saya lakukan sekarang adalah Chroot group sftponly to / home / DUMP dan saya suka seperti ini:

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

Folder DUMP memiliki izin sebagai berikut.

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

Dan ini adalah kode kesalahan:

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
Jonathan
sumber

Jawaban:

21

sshdmemiliki tingkat paranoia tertentu ketika datang ke direktori chroot. Saya tidak berpikir ini dapat dinonaktifkan (bahkan dengan StrictModes no). Direktori chroot dan semua direktori induk harus ditetapkan dengan benar :

  1. Direktori chroot dan semua orang tuanya tidak boleh memiliki kemampuan menulis kelompok atau dunia (yaitu chmod 755)
  2. Direktori chroot dan semua orang tuanya harus dimiliki oleh root.

Dalam kasus Anda, kesalahan login dapat diperbaiki dengan chmod 755 /home/DUMP niat Anda yang jelas untuk memiliki direktori yang dapat ditulis oleh dunia yang dapat diakses oleh sftpuser dan semua orang dapat memasukkan file ke dalamnya dapat diselesaikan dengan menjadikan direktori tersebut sebagai subdirektori dari/home/DUMP/

DerfK
sumber
1
Bekerja seperti pesona! Terima kasih. Sekarang saya hanya perlu memperbaiki semua sub-direktori dan sistem NFS saya juga :)
Jonathan
0

A) Apa gunanya membuat chroot jika membuat simlink akan membantu menghindari chroot? (Setiap pengguna dapat mengunggah simlink dan kemudian mendapatkan akses ke seluruh sistem file)

B) Satu lagi chmod 777 dan Anda akan dihantam oleh theo ( http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_shirt_tshirt-p235453348828729121en7rf_210.jpg ). Lihat http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-January/028151.html untuk memahami mengapa openssh sangat pilih-pilih tentang izin direktori chroot.


sumber