Anda harus mengikuti prinsip hak istimewa yang paling rendah . Server (mungkin www-data
, tetapi Anda harus memeriksa) harus dapat membaca sebagian besar file (katakanlah semua) dan menulis dalam log saja. Pengembang web diizinkan menulis di tempat yang mereka butuhkan. Atur bit sticky pada direktori sehingga hanya pemilik file yang dapat menghapusnya.
Dalam praktiknya Anda perlu membuat grup (misalnya webdev
) dan menambahkan semua pengembang dan server ke dalamnya ( usermod -aG webdev <user>
atau usermod -A webdev <user>
tergantung pada rasa Linux Anda). chown
semua file dan direktori ke pengguna server web, chmod semua direktori menjadi 500 dan semua file menjadi 400 (kecuali di bin
mana executable perlu 500 juga).
Berikan izin menulis /opt/tomcat
ke grup (yang akan menjadi 570) dan atur bit sticky sehingga mereka hanya dapat menghapus file yang mereka miliki (chmod 1570). Berikan server menulis izin untuk log, dan membaca izin untuk pengembang (0740 untuk folder, 0640 untuk file, bit lengket mungkin tidak diperlukan, dan tidak pernah memberikannya ke file, hanya folder, karena memiliki arti berbeda (dijalankan dengan izin pemilik ketika file dapat dieksekusi))
Maka Anda harus memberikan izin menulis (1570) ke webdev
beberapa direktori. Anda akan memerlukan beberapa percobaan dan kesalahan di sini, dan itu bisa jadi tergantung pada aplikasi. Folder-folder itu harus 1570, sementara yang lain mungkin 0500).
Pengembang perlu memberikan akses baca pada file mereka ke grup sehingga server dapat membacanya (itu 640), dan juga mengeksekusi pada direktori (itu 750).