Saya telah mempelajari topik ini https://help.ubuntu.com/community/FilePermissions untuk sementara waktu dan tidak dapat membuatnya berfungsi karena suatu alasan.
Terutama, baris-baris ini paling menarik minat saya:
Untuk mengubah semua izin setiap file dan folder di bawah direktori yang ditentukan sekaligus, gunakan sudo chmod dengan -R
$ sudo chmod 777 -R /path/to/someDirectory $ ls -l total 3 -rwxrwxrwx 1 user user 0 Nov 19 20:13 file1 drwxrwxrwx 2 user user 4096 Nov 19 20:13 folder -rwxrwxrwx 1 user user 0 Nov 19 20:13 file2
Inilah yang saya ketikkan:
mark@ubuntuserver:~$ sudo chmod 755 /var/www/html
mark@ubuntuserver:~$ ls -l
total 0
Kemudian saya memeriksa perubahan di sftp:
sftp> cd /
sftp> cd var/www/html
sftp> pwd
Remote working directory: /var/www/html
sftp> ls -l
-rw-r--r-- 1 root root 11321 Apr 10 20:07 index.html
Dari hasilnya jelas bahwa direktori html masih dapat dimodifikasi hanya oleh root.
Bagaimana saya bisa mengubahnya dengan cara saya (non-root) dapat mengunggah file ke direktori html?
Saya juga menguji:
Pemilik file dapat diubah menggunakan perintah chown. Misalnya, untuk mengubah pemilik file foobar ke tux:
$ sudo chown tux foobar
Saya mengetik dari server:
sudo chown mark owner
tidak berpengaruh.
sudo chown mark owner
Apa yang seharusnya dilakukan? Kenapa Anda memperkenalkan file atau dir yang disebut "pemilik" di sana?sudo chown user:user mydocs
mana pemilik dan grup baru beradauser
dan direktori tempat Anda ambil adalahmydocs
sudo chmod 766 -r /var/www/html
ls -l
perintah dari direktori home mereka. @ Markus Kecuali jika Anda berada dalam direktori yang Anda coba lihat / manipulasi, Anda perlu menentukan path, dalam hal ini Anda seharusnya mengeluarkan perintah sebagails -l /var/www/html
chmod
perubahan izin,chown
ubah pemilik. 755 digit pertama (7) berarti bahwa 'pemilik' memiliki semua izin, sedangkan digit kedua dan terakhir (5) berarti bahwa 'grup' dan 'lainnya' keduanya telah membaca dan mengeksekusi izin. Anda dapat menambahkan pengguna Anda ke grup dan memberikan izin penuh ke grup juga sehingga Anda tidak perlu melakukan banyak perubahan.Jawaban:
Dalam hal ini saya akan meninggalkan kepemilikan direktori sendirian. Untuk memodifikasi izin untuk direktori tertentu sehingga Anda bisa menulis ke sana, atur izin baca / tulis, perintahnya adalah
sudo chmod 766 -R /var/www/html
. Ini akan memberikan izin penuh7
untuk pemilik, baca / tulis6
untuk grup, dan baca / tulis untuk semua orang6
, secara rekursif.sumber
Anda dapat menjadikan diri Anda pemilik direktori itu
Tapi Anda pasti ingin mengatur izin
Menggunakan opsi -R (rekursif) akan memastikan bahwa file skrip dan file .htaccess Anda semuanya disetel sama.
Setiap kali Anda menambahkan skrip baru, pastikan untuk mengaturnya juga.
Perhatikan bahwa beberapa program CGI memiliki persyaratan sendiri, seperti
Pencatat Pengunjung Situs Web Bestdam + Penghitung Hit
Kutipan:
sumber
Anda perlu mengatur pemilik folder www dari 'root' ke 'Me'.
Dari terminal Anda, jalankan perintah:
sumber
Meskipun jawaban di atas cukup banyak membantu, ini adalah pendekatan yang lebih sehat. Kemungkinan Anda ingin memodifikasi file di dalam / var / www / html karena Anda ingin menambahkan aplikasi web untuk dilayani
Apache2
. Untuk mencapai ini, Anda perlu langkah-langkah berikutwww-data
yang memiliki kepemilikan default folder. Mengapa? Karena jika Anda bermaksud untuk membuat perubahan apa pun di aplikasi web secara dinamis, bahkan jika itu dalamwordpress
, Anda akan memerlukan pengguna dalam grup ini untuk memiliki izin menulis. Untuk melakukan ini cukup menulis:sudo adduser username grouptoadd
Dalam kasus kami akansudo adduser username www-data
.read/write permissions
menggunakanchmod
. Ingat sekarang Anda adalah bagian dari grup pengguna dan tidak perlu mengubah kepemilikan menggunakanchown
. Untuk melakukan ini jalankan saja:,sudo chmod -R 766 directory
dalam hal ini akansudo chmod -R 766 html
. Jika Anda merasa sporty, Anda bisa mendapatkan izin menulis penuh(777)
, tergantung seberapa aman aplikasi Anda.Yang
-R
dimaksud adalah fungsi rekursif, yang memungkinkan perintah untuk diterapkan ke semua subdirektori. Saya harap ini membantu seseorang yang membutuhkan.sumber