Saya ingin menggunakan server Ubuntu sebagai server web, tetapi saya ingin memastikan saya mengikuti praktik terbaik untuk mengatur segalanya. Saya ingin memastikan saya mengatur direktori di lokasi terbaik dan memahami cara mengkonfigurasi keamanan yang sesuai pada folder itu. Saya ingin dapat FTP ke server dan mendorong file ke folder web, jadi saya ingin memahami bagaimana memastikan bahwa pengguna PureFTPd saya dapat memanipulasi file / direktori dalam folder web.
filesystem
security
server
websites
JPrescottSanders
sumber
sumber
Jawaban:
Apa yang saya lakukan di server saya sehingga pengguna saya bisa langsung masuk ke hal-hal
/var/www
adalah:Ini akan membuat pengguna Anda menjadi grup yang memiliki kepemilikan grup di / var / www dan semua direktori turunannya, mengatur semuanya di / var / www secara rekursif untuk memungkinkan akses tulis grup Anda, dan mengatur bit setgid pada direktori / var / www sehingga semua file yang nanti dibuat di bawah / var / www mempertahankan kepemilikan grup yang sama alih-alih mengatur grup ke grup utama pembuat.
sumber
www-data
yang merupakan grup yang server webnya sudah berjalan di bawah. Akibatnya, segala kompromi dari skrip server web berarti file-file di bawah/var/www
dapat diubah. Ubah sajawww-data
sesuatu sepertiweb-users
(dan buat grup itu terlebih dahulu, dengansudo addgroup web-users
).Ini pertanyaan yang sangat umum.
Jelas, Anda tidak ingin menjalankan server web Anda sebagai root. Namun, instalasi Ubuntu sudah melakukannya dengan cara yang benar.
Lebih lanjut, di situs web apache ada beberapa tips cara mengkonfigurasi direktori Anda dengan benar .
Dalam hal ftp. Anda ingin memastikan Anda menggunakan server ftp aman yang tidak mengirim nama pengguna dan kata sandi Anda dalam teks biasa melalui jaringan. Halaman bantuan Ubuntu memiliki tutorial cara mengatur server ftp tersebut .
sumber
Ketika saya baru saja memiliki server Ubuntu, dengan beberapa pengguna menggunakan server sebagai server web saya memo
/var/www
direktori karena bagi saya -/var/www
adalah tempat Anda meletakkan file web secara global. Saya memperbarui/etc/skel
direktori dan menambahkan folderpublic
danprivate
dengan symlinkwww -> public
dan memperbarui semua host virtual saya DocumentRoots untuk menunjuk/home/<user>/public
.Saya tidak melihat
/var/www
sebagai tempat untuk meletakkan beberapa folder dan file tingkat pengguna. Untuk itulah/home/
direktori dirancang! Itu membuat jalur dan struktur direktori bersih.sumber