it-swarm.asia

Bagaimana saya bisa memberikan akses tulis folder ke semua pengguna di linux?

Saya menginstal Apache2 di Ubuntu sekarang, dan memperhatikan bahwa folder/var/www dilindungi. Saya hanya bisa Sudo semuanya tetapi saya lebih suka memberikannya akses tulis.

Bagaimana saya bisa melakukan ini?

Saya mencoba Sudo chmod 7777 /var/www tetapi tidak berhasil.

187
Carson Myers

Untuk membagikan yang terbaik kepada banyak pengguna yang seharusnya bisa menulis dalam /var/www, itu harus ditetapkan sebagai grup umum. Misalnya grup default untuk konten web di Ubuntu dan Debian adalah www-data. Pastikan semua pengguna yang membutuhkan akses tulis ke /var/www berada di grup ini.

Sudo usermod -a -G www-data <some_user>

Kemudian atur izin yang benar di/var/www.

Sudo chgrp -R www-data /var/www
Sudo chmod -R g+w /var/www

Selain itu, Anda harus membuat direktori dan semua direktori di bawahnya "set GID", sehingga semua baru file dan direktori yang dibuat dengan /var/www dimiliki oleh www-data kelompok.

Sudo find /var/www -type d -exec chmod 2775 {} \;    

Temukan semua file di /var/www dan tambahkan izin baca dan tulis untuk pemilik dan grup:

Sudo find /var/www -type f -exec chmod ug+rw {} \;

Anda mungkin harus keluar dan masuk kembali untuk dapat membuat perubahan jika Anda mengedit izin untuk akun Anda sendiri.

316
jtimberman

Ada cara yang lebih sederhana untuk melakukan ini, coba lakukan perintah ini.

Sudo chmod -R 757 /var/www

Pada dasarnya, perintah chmod mengubah izin dan -R switch memengaruhi semua pengguna. Maka itu hanya memberikan izin yang benar untuk digunakan.

32
Krishna Modi

Baca + Tulis:

Sudo chmod -R a+rw /var/www

Baca + Tulis + Jalankan:

Sudo chmod -R a+rwx /var/www
28
paivaric

Anda juga dapat meniru apa yang disarankan jtimberman menggunakan daftar kontrol akses . Perintah setfacl menerima -s untuk mengganti ACL atau -m yang ada untuk memodifikasinya; -R untuk membuat ACL direktori rekursif; dan -d untuk menjadikan pengaturan yang ditentukan sebagai default, yang berguna jika Anda mengantisipasi akun pengguna yang akan datang.

Ini hanya mengatur izin seperti yang Anda lakukan untuk pengguna, grup, lainnya, dan mask menggunakan chmod:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY

Dan ini bisa menjadi cara Anda melakukannya untuk pengguna tertentu atau grupnya:

setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

Dan tentu saja, kekuatannya adalah Anda dapat menetapkan pengguna tertentu, banyak pengguna, dll., Semua tanpa harus mengubah pengaturan grup Anda. Dan tidak seperti chmod, jika Anda ingin beberapa groupies memiliki akses ke satu direktori dan groupies lainnya hanya memiliki akses ke yang lain, sebenarnya dimungkinkan dengan setfacl. Terakhir, untuk melihat ACL direktori, jalankan getfacl :

getfacl DIRECTORY

Dan Anda dapat menentukan -R untuk melihat ACL untuk subdirektori atau -d untuk melihat default.

7
Nikhil Chelliah

Jawaban cepat & mudah -

sebuah. Tambahkan ( - a ) pengguna Anda ( user_name ) ke grup ( - G ) www-data .

Sudo usermod -a -G www-data user_name

b. Berikan izin Grup ( g ) yang sama ( = ) sebagai Pengguna yang memiliki ( u ) dari /var/www Secara rekursif ( - R ).

Sudo chmod -R g=u /var/www

Penjelasan: Apache 2 pada Debian/Ubuntu menetapkan Pengguna & Grup www-data sebagai Pemilik /var/www . Izin default untuk Pengguna adalah "Lihat & Ubah Konten", namun Grup hanya dapat "Melihat Konten". Jadi menambahkan diri Anda ke Grup www-data dan memberikannya izin yang sama dengan Pengguna wwww-data, adalah cara cepat dan mudah untuk berkembang. Saya melakukan ini untuk semua lingkungan Pengembangan Web localhost (PC/Laptop) saya.

2
user1138

Saya biasanya menggunakan

chmod g+w /folder/ -R

Ini hampir menjelaskan sendiri.

Ia menambahkan semua orang di grup g dari /folder/ untuk memiliki akses write (+w), -R untuk rekursi untuk sub-folder.

1
Arda