Bagaimana cara membuat direktori dapat ditulis secara permanen?

27

Saya menggunakan tumpukan LAMP untuk pengembangan dan saya memiliki masalah dengan membuat / var / www dapat ditulis secara permanen. Saya menggunakan perintah ini:

sudo chmod -R a+rwX /var/www

Ini berfungsi, tetapi setelah menempatkan aplikasi web dan mengaksesnya melalui browser, ini menunjukkan kesalahan "izin ditolak". Ketika itu terjadi, saya harus menjalankan perintah lagi.

Bagaimana saya bisa membuat direktori dapat ditulis, secara permanen, tanpa harus menjalankan perintah lagi?

Terima kasih!

kentang
sumber
1
buat subfolder /var/wwwdan ubah permisson untuk direktori itu. Itu harus memperbaiki masalah
Anam Ahmed
5
Sebenarnya Anda seharusnya tidak pernah membuat root web dapat ditulis. Lihat Untuk alasan keamanan mengapa / var / www tidak memiliki chmod 777?
Goran Miskovic
ini adalah beberapa komentar yang baik di atas ... mempertimbangkan alasan keamanan, Anda harus menjaga izin untuk /var/wwwdefault rwxr-xr-x dan Anda mungkin akan memindahkan file yang diperlukan ke sub-direktori /var/wwwdan membuat perubahan pada file * html Anda sesuai untuk perubahan yang Anda lakukan pada root dokumen.
tepatnya

Jawaban:

39

Izin numerik dapat menyelesaikan masalah Anda.

sudo chmod 775 'your directory'

jika Anda ingin tahu mengapa hanya 775 inilah jawaban Anda

400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

 400
+040
+004
+200
+020
+100
+010
+001
=775

Itu akan memberikan semua izin kecuali menulis oleh siapa pun.

Diprute
sumber
9

Saya memiliki masalah yang sama saat itu

sudo chmod 777 directory

memecahkannya.

Itu membuat direktori dapat ditulis, dibaca dan dieksekusi oleh siapa pun. Jadi tidak masalah apa yang dimiliki pengguna atau grup itu atau menggunakan Lampp.

Namun, itu tidak disarankan jika komputer Anda adalah akses publik.

M Cornel
sumber
8

Biasanya perintah yang Anda gunakan harus mengubah izin secara permanen.

Coba sudo chmod -R 775 /var/www/(yang pada dasarnya sama). Jika itu tidak berhasil, Anda mungkin perlu mengganti pemilik [dan mungkin grup] dari direktori tersebut sudo chown <user>[:<group>] /var/www/.

Anda juga dapat mempertimbangkan 'kesalahan izin ditolak' dapat disebabkan oleh kurangnya hak akses di database Anda atau di tempat lain.

David
sumber
Tapi seperti yang sudah disebutkan oleh @schkovich, Anda tidak boleh membuat folder root web bisa ditulisi.
David
13
+ Rinzwind Saya menggunakan 777 dan dengan sabar menunggu kunjungan Anda.
Marcel
itu bekerja untuk saya jika saya menggunakannya tanpa garis miring misalnya sudo chmod -R 775 my_folder
Yarh
@Marcel sekarang sudah mati, @ Rinzwind mengakhiri dia
Dheeraj
2
@Marcel, bagaimana kami tahu itu kamu yang sebenarnya, bagaimana jika @ Rinzwind merobek wajah Marcel dan memakainya.
Dheeraj