Saya bingung tentang pengaturan ini yang saya coba gunakan. Saya harap seseorang dari kalian bisa membantu saya: sangat dihargai.
Info latar belakang
Server adalah Debian 6.0, ext3, dengan Apache2 / SSL dan Nginx di depan sebagai proxy terbalik. Saya perlu memberikan akses sftp ke direktori root Apache (/ var / www), memastikan bahwa pengguna sftp chroot ke jalur itu dengan izin RWX.
Semua ini tanpa mengubah izin default di / var / www.
drwxr-xr-x 9 root root 4096 Nov 4 22:46 www
Di dalam / var / www
-rw-r----- 1 www-data www-data 177 Mar 11 2012 file1
drwxr-x--- 6 www-data www-data 4096 Sep 10 2012 dir1
drwxr-xr-x 7 www-data www-data 4096 Sep 28 2012 dir2
-rw------- 1 root root 19 Apr 6 2012 file2
-rw------- 1 root root 3548528 Sep 28 2012 file3
drwxr-x--- 6 www-data www-data 4096 Aug 22 00:11 dir3
drwxr-x--- 5 www-data www-data 4096 Jul 15 2012 dir4
drwxr-x--- 2 www-data www-data 536576 Nov 24 2012 dir5
drwxr-x--- 2 www-data www-data 4096 Nov 5 00:00 dir6
drwxr-x--- 2 www-data www-data 4096 Nov 4 13:24 dir7
Apa yang saya coba
- membuat secureftp grup baru
- menciptakan pengguna sftp baru, bergabung dengan grup secureftp dan www-data juga dengan nologin shell. Homedir adalah /
- sshd_config diedit dengan
Subsystem sftp internal-sftp AllowTcpForwarding no Match Group <secureftp> ChrootDirectory /var/www ForceCommand internal-sftp
Saya dapat masuk dengan pengguna sftp, mendaftar file tetapi tidak ada tindakan tulis yang diizinkan. Pengguna Sftp berada di grup data-www tetapi izin di / var / www dibaca / dibaca + x untuk bit grup jadi ... Tidak berfungsi.
Saya juga sudah mencoba dengan ACL, tetapi ketika saya menerapkan izin ACL RWX untuk pengguna sftp ke / var / www (direktori dan file secara rekursif), itu akan mengubah izin unix juga yang tidak saya inginkan.
Apa yang bisa saya lakukan di sini?
Saya berpikir saya bisa mengaktifkan pengguna www-data untuk login sebagai sftp, sehingga itu akan dapat memodifikasi file / dirs yang dimiliki www-data di / var / www. Tetapi untuk beberapa alasan saya pikir ini akan menjadi langkah bodoh yang aman secara keamanan.
sumber
Jawaban:
Apa yang saya lakukan adalah untuk chroot pengguna saya ke direktori home mereka dan kemudian digunakan
mount --bind
untuk membuat tautan ke direktori home mereka.Saya kemudian digunakan
setfacl
untuk memastikanwww-data
maintans menulis izin pada file baru di direktori. Efek ini akan berulang/var/www
, yang ingin Anda lakukan.Dengan mengatur
g+s
pada direktori, semua file dan direktori baru yang dibuat di dalamnya akan mewarisi kepemilikan grup dari induknya.Itu harus melakukan trik.
Buat tunggangan Anda gigih
Tentunya Anda ingin tunggangan Anda tetap ada saat Anda me-reboot server. Ini sesederhana menambahkan mount ke blog Anda
/etc/fstab
. Tidak semua penyedia membiarkan Anda menyentuh file ini, tetapi sebagian besar melakukannya.Cukup tambahkan baris seperti ini:
Anda mungkin ingin memulai ulang untuk memastikannya berhasil.
sumber