Saya menjalankan server web kecil pada dasarnya hanya untuk menampung proyek dan file data kecil. Server ini memiliki alamat IP publik.
Saya ingin dapat FTP masuk dan mengunggah file langsung ke /var/www/*
, jadi saya mempertimbangkan untuk mengizinkan www-data
pengguna untuk memiliki kata sandi dan masuk secara langsung. Ini juga akan menghindari saya harus mengubah kepemilikan file setiap kali saya melakukan sesuatu di direktori web (yang saat ini saya lakukan sebagai root, jadi ada risiko keamanan di sana juga).
Apakah ada risiko keamanan untuk mengizinkan pengguna www-data untuk masuk? Jika demikian, apa alternatif terbaik?
Jawaban yang Diterima:
Salah satu risiko keamanan adalah Anda mungkin dapat membunuh atau menangani server web itu sendiri (karena Anda kemudian menggunakan pengguna yang sama.) Ini mungkin bukan yang Anda inginkan. Sama mungkin ketika Anda menggunakan root, kan.
Dua solusi:
-
Buat subdir di bawah
/var/www
untuk diri sendiri, chown untuk diri sendiri dan kemudian menggunakan pengguna Anda sendiri. (atau buat yang baru)Contoh:
[email protected]# mkdir /var/www/joes-toys [email protected]# chown joeuser:joegroup /var/www/toys [email protected]# chmod u=rwx,g=rx,o=rx
-
Masukkan pengguna Anda (milik Anda, atau yang baru) di grup www-data dan pastikan grup tersebut memiliki izin menulis di
/var/www
Contoh:
[email protected]# adduser joeuser www-data [email protected]# chgrp -R www-data /var/www [email protected]# chmod -R g+w /var/www
P.S .:Jangan gunakan FTP yang tidak terenkripsi hari ini! Gunakan sftp (dari ssh suite) atau setidaknya ftps (ftp over ssl).