Saya membuat pengguna MY_USER. Setel dir rumahnya ke / var / www / RESTRICTED_DIR, yang merupakan jalur yang harus dibatasi. Kemudian saya mengedit sshd_config dan mengatur:
Match user MY_USER
ChrootDirectory /var/www/RESTRICTED_DIR
Kemudian saya memulai kembali ssh. Membuat pemilik MY_USER (dan pemilik grup) dari RESTRICTED_DIR, dan mengubahnya menjadi 755. Saya mendapatkan
Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER
Jika saya menghapus 2 baris dari sshd_config, pengguna dapat masuk dengan sukses. Tentu saja dapat mengakses semua server. Apa masalahnya? Saya bahkan mencoba chown RESTRICTED_DIR untuk me-root (ketika saya membaca di suatu tempat bahwa seseorang memecahkan masalah yang sama melakukannya). Tidak berhasil ..
/
,/var
,/var/www
, dan/var/www/RESTRICTED_DIR
semua harus memenuhi persyaratan keamanan di atas). Ini adalah chroot sejati (tinjau halaman manual) - direktori home pengguna Anda harus ada di dalam chroot , sebagaimana harus/bin
& semua hal lain yang diperlukan pengguna Anda ...sudo chown root:root -R /path/to/home; sudo chmod 755 -R /path/to/home
/var/www
jalur secara langsung, yang mungkin memecah apache, Anda akan jauh lebih baik meletakkan direktori sftp Anda di jalur lain, kemudian menggunakan pemetaan URL di Apache untuk menunjuk ke direktori lain . Periksa dokumentasi di sini httpd.apache.org/docs/2.4/urlmapping.html di bawahFiles Outside DocumentRoot
Direktori ChrootDirectory harus dimiliki oleh root dan memiliki mode 755:
Oke, sekarang semua file yang masuk
/var/www/RESTRICTED_DIR
harus dimiliki olehMY_USER
, yang harus milikwww-data
grup, dan memiliki mode 775 untuk memungkinkan izin grup, seperti ini:CATATAN: Ingat adalah praktik yang baik memungkinkan akses hanya ke folder htdocs jika Anda mengkonfigurasi apache.
sumber
sudo usermod -a -G www-data MY_USER
seperti yang seharusnya terjadi setelah grup-G
Setelah beberapa pemecahan masalah hari ini, saya menyadari bahwa root juga harus dapat menulis ke direktori.
Berikut ini tidak berfungsi:
Segera setelah saya memperbaikinya, chroot saya mulai berfungsi.
sumber