Saya telah mengubah kepemilikan file localhost saya di /var/www/
dan sub foldernya dan memberikannya izin 777. Namun, setiap kali saya menambahkan folder baru di dalamnya folder baru tidak secara otomatis mendapatkan izin itu. Bagaimana saya bisa memberikan izin folder 777 selamanya sehingga jika saya menambahkan folder atau file baru itu mendapat izin yang sama?
permissions
kamal
sumber
sumber
find . -type d -exec chmod 777 {} +
untuk mengubah semua direktori menjadi 777. Ingat, Anda harus login sebagai root untuk hasil yang lebih baik, dan pastikan Anda berada di folder.Jawaban:
Izin untuk file yang baru dibuat ditetapkan oleh umask
sumber
Anda dapat menggunakan opsi rekursif kapan saja.
sudo chown -R username /var/www
sumber
Seperti yang telah disebutkan orang lain , memberikan 777 izin pada
/var/www
adalah ide yang sangat buruk, terutama dalam produksi.Solusi yang lebih baik adalah dengan memberikan izin menulis hanya kepada pengguna yang perlu memodifikasi file. Salah satu cara untuk melakukannya adalah:
buat grup baru
tambahkan pengguna yang perlu memodifikasi data
/var/www
ke grup itusecara rekursif mengubah kepemilikan
/var/www
grup tersebutset
umask
pada/var/www
file sehingga semua baru dibuat dimiliki oleh kelompok yang sudah kita buat.Pilihan lain adalah menggunakan ACL, sekali lagi, untuk memberikan izin menulis hanya kepada pengguna yang membutuhkannya.
Berikut adalah petunjuk terperinci tentang kesalahan server .
Secara umum, server web atau layanan jaringan lain atau akun pengguna sistem tidak boleh memiliki izin menulis ke file yang dilayani oleh server web, karena ini membuka kemungkinan eksekusi kode arbitrer.
sumber
Anda harus mengedit
/etc/apache/envvars
sebagai root dengan editor pilihan Anda.Contoh: ALT+F2
gksudo gedit /etc/apache2/envvars
Pergi ke akhir file dan tambahkan baris
umask XXX
.Di mana umask adalah kebalikan dari nilai izin yang diinginkan.
Untuk 774 ini akan menjadi 003. Untuk 777 ide buruk itu akan menjadi 000.
Menyimpan.
Mulai ulang apache.
Contoh:
sudo apache2ctl restart
Ini hanya akan memengaruhi file / folder yang baru dibuat oleh pengguna apache.
Catatan tambahan, baca dan tulis adalah 6 di slot pengguna, grup, atau siapa saja.
sumber
Juga, beberapa solusi "out of the box" adalah mengkonfigurasi server http Anda untuk menggunakan folder yang berbeda. Jika Anda menggunakan Apache, cukup edit file konfigurasi itu. Dengan cara ini Anda tidak perlu mengubah izin untuk / var / www penyihir bisa menjadi ide buruk (masalah keamanan potensial).
Dan umask adalah jawaban untuk pertanyaan Anda. Ini dapat digunakan untuk membatasi hak default untuk folder dan file yang baru dibuat. Dan pengembang distribusi cenderung menggunakannya untuk membatasi akses ke beberapa folder sistem.
sumber
Saya pikir Anda ingin memiliki akses tulis
/var/www
untuk memodifikasi file dan direktori. Saya pikir solusi terbaik adalah menginstalapache2-mpm-itk
dan menambahkan file config host virtual/etc/apache2/sites-available/default
:dan jalankan
chown your-username\: /var/www -Rv
apache cara ini untuk itu virtual host akan berjalan dengan UID / GID Anda dan Anda akan dapat mengedit file. Bahkan file yang dibuat oleh PHP akan memiliki UID / GID Andasumber