Pertanyaan Izin apa yang harus dimiliki oleh file / folder situs web saya pada server web Linux?


Ini adalah sebuah Pertanyaan Kanonis tentang File Permissions di server web Linux.

Saya memiliki server web Linux yang menjalankan Apache2 yang menghosting beberapa situs web. Setiap situs web memiliki folder sendiri di / var / www /.

/var/www/contoso.com/
/var/www/contoso.net/
/var/www/fabrikam.com/

Direktori dasar / var / www / dimiliki oleh root: root. Apache berjalan sebagai www-data: www-data. Situs web Fabrikam dikelola oleh dua pengembang, Alice dan Bob. Kedua situs web Contoso dikelola oleh satu pengembang, Eve. Semua situs web memungkinkan pengguna mengunggah gambar. Jika situs web disusupi, dampaknya harus sebisa mungkin dibatasi.

Saya ingin tahu cara terbaik untuk mengatur perizinan sehingga Apache dapat melayani konten, situs web aman dari serangan, dan pengembang masih bisa melakukan perubahan. Salah satu situs web terstruktur seperti ini:

/var/www/fabrikam.com
    /cache
    /modules
    /styles
    /uploads
    /index.php

Bagaimana seharusnya perijinan diatur pada direktori dan file ini? Saya membaca bahwa Anda tidak boleh menggunakan 777 izin di situs web, tetapi saya tidak mengerti masalah apa yang dapat menyebabkan. Selama periode sibuk, situs web secara otomatis menyimpan beberapa halaman dan menyimpan hasilnya dalam folder cache. Semua konten yang dikirimkan oleh pengunjung situs web disimpan ke folder unggahan.


283
2018-02-06 01:50




Ini dimaksudkan untuk menjadi resmi jawab untuk semua pertanyaan yang kami peroleh tentang izin situs web. - Nic
"Saya membaca bahwa Anda seharusnya tidak pernah menggunakan 777 izin di situs web, tetapi saya tidak mengerti ..." - kemudian apakah pembaca dapat memahami atau setidaknya dapat membandingkan manfaat jawaban di sini? Setiap solusi harus didasarkan pada persyaratan khusus - persyaratan di sini tidak cukup spesifik (apa model ancamannya) - symcbean
Saya suka bahwa Anda bertanya tentang Apache, tetapi menggunakan domain yang biasanya digunakan Microsoft sebagai contoh. - gWaldo
Juga lihat Apa cara terbaik menangani izin untuk data www pengguna apache2 di / var / www? - Gareth
Anda dapat merujuk di sini untuk rincian lengkap tentang izin yang diperlukan untuk diletakkan di file dan folder situs web di linux serverfault.com/questions/124800/…


Jawaban:


Saat memutuskan izin apa yang digunakan, Anda perlu tahu persis siapa pengguna Anda dan apa yang mereka butuhkan. Seorang webserver berinteraksi dengan dua jenis pengguna.

Dikonfirmasi pengguna memiliki akun pengguna di server dan dapat diberikan hak khusus. Ini biasanya termasuk administrator sistem, pengembang, dan akun layanan. Mereka biasanya melakukan perubahan pada sistem menggunakan SSH atau SFTP.

Anonim pengguna adalah pengunjung situs web Anda. Meskipun mereka tidak memiliki izin untuk mengakses file secara langsung, mereka dapat meminta halaman web dan server web bertindak atas nama mereka. Anda dapat membatasi akses pengguna anonim dengan berhati-hati tentang hak akses apa yang dimiliki proses server web. Pada banyak distro Linux, Apache berjalan sebagai www-data tetapi bisa berbeda. Menggunakan ps aux | grep httpd atau ps aux | grep apache untuk melihat apa yang digunakan pengguna Apache di sistem Anda.


Catatan tentang izin linux

Linux dan sistem POSIX-compliant lainnya menggunakan izin unix tradisional. Ada artikel yang sangat bagus tentang Wikipedia Izin sistem file jadi saya tidak akan mengulangi semuanya di sini. Tetapi ada beberapa hal yang harus Anda waspadai.

Bit eksekusi
Naskah yang ditafsirkan (misalnya. Ruby, PHP) bekerja dengan baik tanpa izin eksekusi. Hanya binari dan skrip shell yang membutuhkan bit eksekusi. Untuk melintasi (masuk) direktori, Anda harus memiliki izin eksekusi pada direktori itu. Webserver membutuhkan izin ini untuk membuat daftar direktori atau melayani file apa pun di dalamnya.

Izin file baru default
Ketika file dibuat, biasanya mewarisi id grup siapa pun yang membuatnya. Tetapi kadang-kadang Anda ingin file baru untuk mewarisi id grup dari folder di mana mereka dibuat, sehingga Anda akan mengaktifkan bit SGID pada folder induk.

Nilai izin default bergantung pada umask Anda. Umask mengurangi izin dari file yang baru dibuat, sehingga nilai umum dari hasil 022 dalam file yang dibuat dengan 755. Ketika berkolaborasi dengan grup, itu berguna untuk mengubah umask Anda ke 002 sehingga file yang Anda buat dapat dimodifikasi oleh anggota grup. Dan jika Anda ingin menyesuaikan izin file yang diunggah, Anda juga perlu mengubah umask untuk apache atau menjalankan chmod setelah file diunggah.


Masalahnya dengan 777

Ketika kamu chmod 777 situs web Anda, Anda tidak memiliki keamanan apa pun. Setiap pengguna pada sistem dapat mengubah atau menghapus file apa pun di situs web Anda. Tapi yang lebih penting, ingat bahwa server web bertindak atas nama pengunjung ke situs web Anda, dan sekarang server web dapat mengubah file yang sama yang dieksekusi. Jika ada kerentanan pemrograman di situs web Anda, mereka dapat dimanfaatkan untuk merusak situs web Anda, memasukkan serangan phishing, atau mencuri informasi dari server Anda tanpa pernah Anda ketahui.

Selain itu, jika server Anda berjalan pada port terkenal (yang seharusnya untuk mencegah pengguna non-root dari pemijahan mendengarkan layanan yang dapat diakses dunia), itu berarti server Anda harus dimulai oleh root (meskipun setiap server waras akan segera turun ke akun yang kurang istimewa setelah port terikat) . Dengan kata lain, jika Anda menjalankan server web di mana eksekusi utama adalah bagian dari kontrol versi (misalnya aplikasi CGI), meninggalkan izinnya (atau, dalam hal ini, izin dari direktori yang berisi, karena pengguna dapat mengganti nama dieksekusi) di 777 memungkinkan apa saja pengguna untuk dijalankan apa saja dieksekusi sebagai root.


Tentukan persyaratan

  • Pengembang perlu akses baca / tulis ke file sehingga mereka dapat memperbarui situs web
  • Pengembang perlu membaca / menulis / mengeksekusi pada direktori sehingga mereka dapat menjelajah
  • Apache membutuhkan akses baca ke file dan skrip yang diinterpretasikan
  • Apache perlu membaca / menjalankan akses ke direktori yang dapat dilayani
  • Apache perlu membaca / menulis / menjalankan akses ke direktori untuk konten yang diunggah

Dikelola oleh satu pengguna

Jika hanya satu pengguna yang bertanggung jawab untuk memelihara situs, tetapkan sebagai pengguna pengguna pada direktori situs web dan berikan izin rwx penuh kepada pengguna. Apache masih membutuhkan akses sehingga dapat melayani file, jadi atur www-data sebagai pemilik grup dan berikan izin r-x grup.

Dalam kasus Anda, Hawa, yang nama penggunanya mungkin eve, adalah satu-satunya pengguna yang mempertahankan contoso.com :

chown -R eve contoso.com/
chgrp -R www-data contoso.com/
chmod -R 750 contoso.com/
chmod g+s contoso.com/
ls -l
drwxr-s--- 2 eve      www-data   4096 Feb  5 22:52 contoso.com

Jika Anda memiliki folder yang perlu ditulis oleh Apache, Anda dapat memodifikasi nilai izin untuk pemilik grup sehingga data www memiliki akses tulis.

chmod g+w uploads
ls -l
drwxrws--- 2 eve      www-data   4096 Feb  5 22:52 uploads

Manfaat dari konfigurasi ini adalah ia menjadi lebih sulit (tetapi tidak mustahil *) bagi pengguna lain pada sistem untuk mengintai, karena hanya pengguna dan pemilik grup yang dapat menjelajahi direktori situs web Anda. Ini berguna jika Anda memiliki data rahasia di file konfigurasi Anda. Hati-hati dengan umask kamu! Jika Anda membuat file baru di sini, nilai izin mungkin akan menjadi default ke 755. Anda dapat menjalankannya umask 027sehingga default file baru menjadi 640 (rw- r-- ---).


Dipertahankan oleh sekelompok pengguna

Jika lebih dari satu pengguna bertanggung jawab untuk memelihara situs, Anda perlu membuat grup untuk digunakan untuk menetapkan izin. Ini adalah praktik yang baik untuk membuat grup terpisah untuk setiap situs web, dan beri nama grup tersebut setelah situs web tersebut.

groupadd dev-fabrikam
usermod -a -G dev-fabrikam alice
usermod -a -G dev-fabrikam bob

Pada contoh sebelumnya, kami menggunakan pemilik grup untuk memberikan hak istimewa kepada Apache, tetapi sekarang ini digunakan untuk grup pengembang. Karena pemilik pengguna tidak berguna bagi kita lagi, mengaturnya ke root adalah cara sederhana untuk memastikan bahwa tidak ada hak istimewa yang bocor. Apache masih membutuhkan akses, jadi kami memberikan akses baca ke seluruh dunia.

chown -R root fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 775 fabrikam.com
chmod g+s fabrikam.com
ls -l
drwxrwxr-x 2 root     dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

Jika Anda memiliki folder yang perlu ditulis oleh Apache, Anda dapat menjadikan Apache sebagai pemilik pengguna atau pemilik grup. Either way, itu akan memiliki semua akses yang dibutuhkannya. Secara pribadi, saya lebih suka menjadikannya pemilik pengguna agar para pengembang tetap dapat menelusuri dan mengubah isi folder unggahan.

chown -R www-data uploads
ls -l
drwxrwxr-x 2 www-data     dev-fabrikam   4096 Feb  5 22:52 uploads

Meskipun ini adalah pendekatan umum, ada sisi negatifnya. Karena setiap pengguna lain di sistem memiliki hak istimewa yang sama dengan situs web Anda seperti yang dilakukan Apache, pengguna lain dapat dengan mudah menjelajahi situs Anda dan membaca file yang mungkin berisi data rahasia, seperti file konfigurasi Anda.

Anda dapat memiliki kue dan memakannya juga

Ini dapat diperbaiki lebih lanjut. Ini sangat legal bagi pemilik untuk memiliki lebih sedikit hak istimewa daripada grup, jadi daripada membuang-buang pemilik pengguna dengan menugaskannya untuk melakukan root, kita dapat menjadikan Apache sebagai pemilik pengguna pada direktori dan file di situs web Anda. Ini adalah pembalikan dari skenario pemelihara tunggal, tetapi bekerja dengan baik.

chown -R www-data fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 570 fabrikam.com
chmod g+s fabrikam.com
ls -l
dr-xrwx--- 2 www-data  dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

Jika Anda memiliki folder yang perlu ditulis oleh Apache, Anda dapat memodifikasi nilai izin untuk pemilik pengguna sehingga data www memiliki akses tulis.

chmod u+w uploads
ls -l
drwxrwx--- 2 www-data  dev-fabrikam   4096 Feb  5 22:52 fabrikam.com

Satu hal yang harus diperhatikan dengan solusi ini adalah pemilik pengguna file baru akan cocok dengan pencipta alih-alih disetel ke data www. Jadi file baru apa pun yang Anda buat tidak akan terbaca oleh Apache sampai Anda men-chownnya.


* Pemisahan privilege Apache

Saya telah menyebutkan sebelumnya bahwa sebenarnya mungkin bagi pengguna lain untuk mengintip situs web Anda tidak peduli apa pun keistimewaan yang Anda gunakan. Secara default, semua proses Apache dijalankan sebagai pengguna www-data yang sama, sehingga setiap proses Apache dapat membaca file dari semua situs web lain yang dikonfigurasi pada server yang sama, dan kadang-kadang bahkan melakukan perubahan. Setiap pengguna yang dapat menjalankan Apache untuk menjalankan skrip dapat memperoleh akses yang sama dengan yang dimiliki Apache.

Untuk mengatasi masalah ini, ada berbagai pendekatan untuk pemisahan hak istimewa di Apache. Namun, masing-masing pendekatan hadir dengan berbagai kelemahan kinerja dan keamanan. Menurut pendapat saya, situs apa pun dengan persyaratan keamanan yang lebih tinggi harus dijalankan pada server khusus daripada menggunakan VirtualHosts di server bersama.


Pertimbangan tambahan

Saya tidak menyebutkannya sebelumnya, tetapi biasanya praktik yang buruk adalah membuat pengembang mengedit situs web secara langsung. Untuk situs yang lebih besar, Anda jauh lebih baik memiliki semacam sistem rilis yang memperbarui server web dari konten sistem kontrol versi. Pendekatan pengelola tunggal mungkin ideal, tetapi alih-alih orang Anda memiliki perangkat lunak otomatis.

Jika situs web Anda mengizinkan unggahan yang tidak perlu dilayani, unggahan tersebut harus disimpan di suatu tempat di luar akar web. Jika tidak, Anda mungkin menemukan bahwa orang mengunduh file yang dimaksudkan untuk dirahasiakan. Misalnya, jika Anda mengizinkan siswa untuk mengirimkan tugas, mereka harus disimpan ke dalam direktori yang tidak dilayani oleh Apache. Ini juga merupakan pendekatan yang baik untuk file-file konfigurasi yang mengandung rahasia.

Untuk situs web dengan persyaratan yang lebih kompleks, Anda mungkin ingin melihat penggunaannya Daftar Akses Kontrol. Ini memungkinkan kontrol hak istimewa yang jauh lebih canggih.

Jika situs web Anda memiliki persyaratan yang rumit, Anda mungkin ingin menulis skrip yang mengatur semua izin. Uji secara menyeluruh, lalu simpan dengan aman. Ini bisa bernilai berat emas jika Anda pernah menemukan diri Anda perlu untuk membangun kembali situs web Anda karena beberapa alasan.


316
2018-02-06 01:50



"chmod -R 775 fabrikam.com". Sangat sedikit file di dalam sebagian besar situs web harus dapat dieksekusi; misalnya skrip php dapat menjadi 0640 selama server web dapat membacanya. chmod -R + X fabrikam.com akan memberikan hak yang dapat dieksekusi kepada semua orang hanya pada direktori.
deskripsi yang bagus! - RNA
Perhatikan bahwa Apache berjalan sebagai pengguna apache pada sistem tur Red Hat. - Michael Hampton♦
Ini luar biasa, tetapi ada satu hal yang saya tidak mengerti: Saya tidak memahami tujuan atau keuntungan dari strategi membuat apache pengguna / pemilik dari sebuah direktori file jika sudah memiliki kepemilikan grup atas file tersebut. - idiotprogrammer
Ini adalah pos yang sangat bagus. Inilah kontribusi saya: Kelemahan menggunakan data www sebagai pemilik dan dev-fabrikam sebagai grup (disebutkan dalam Anda dapat memiliki kue dan memakannya juga juga berlaku (secara terbalik) pada skenario yang ditawarkan di Dikelola oleh satu pengguna. Dalam skenario itu, setiap kali Apache membuat folder atau file, pengguna tidak akan memiliki akses ke file tersebut sehingga file harus dikembalikan ke pengguna asli. Saya belum memperbarui jawabannya karena saya tidak yakin 100% tentang pernyataan saya. Saya lebih suka orang lain mengkonfirmasi sebelum menambal jawabannya.


Saya bertanya-tanya mengapa begitu banyak orang menggunakan (atau merekomendasikan) bagian "lain" (o) dari hak Linux untuk mengontrol apa yang bisa dilakukan Apache (dan / atau PHP). Dengan menyetel bagian kanan ini ke sesuatu yang lain selain "0", Anda hanya mengizinkan seluruh dunia untuk melakukan sesuatu pada file / direktori.

Pendekatan saya mengikuti:

  • Saya membuat dua pengguna yang terpisah. Satu untuk akses SSH / SFTP (jika diperlukan), yang akan memiliki semua file, dan satu untuk pengguna PHP FastCGI (pengguna situs web akan dijalankan sebagai). Mari kita panggil pengguna ini masing-masing bob dan bob-www.
  • bob akan memiliki hak penuh (rwx pada folder, rw- pada file), sehingga dia dapat membaca dan mengedit seluruh situs web.
  • Proses PHP FastCGI membutuhkan r-x hak atas folder dan r-- hak atas file, kecuali untuk folder yang sangat spesifik seperti cache/ atau uploads/, di mana izin "tulis" juga diperlukan. Untuk memberikan kemampuan PHP FastCGI ini, ia akan dijalankan sebagai bob-www, dan bob-www akan ditambahkan ke otomatis dibuat bob kelompok.
  • Kami sekarang memastikan pemilik dan grup dari semua direktori dan file bob bob.
  • Ada yang hilang: bahkan kami menggunakan FastCGI, tetapi Apache masih membutuhkan akses baca, untuk konten statis, atau file .htaccess yang akan coba dibaca jika AllowOverride diatur ke sesuatu yang lain selain None. Untuk menghindari penggunaan Hai bagian dari hak, saya tambahkan www-data pengguna ke bob kelompok.

Sekarang:

  • Untuk mengontrol apa yang bisa dilakukan oleh pengembang, kita bisa bermain dengan kamu bagian dari hak (tapi ini catatan di bawah).
  • Untuk mengontrol apa yang bisa dilakukan oleh Apache dan PHP, kita bisa bermain dengan g bagian dari hak.
  • Itu Hai sebagian selalu diatur ke 0, jadi tidak ada orang lain di server yang dapat membaca atau mengedit situs web.
  • Tidak ada masalah kapan bob pengguna membuat file baru, karena secara otomatis akan menjadi milik grup utamanya (bob).

Ini adalah rekap, tetapi dalam situasi ini, bob diizinkan untuk SSH. Jika tidak boleh ada pengguna yang diizinkan untuk memodifikasi situs web (mis. Pelanggan hanya memodifikasi situs web melalui panel admin CMS dan tidak memiliki pengetahuan Linux), buat dua pengguna, tetapi berikan /bin/falsesebagai shell untuk bob juga, dan menonaktifkan loginnya.

    adduser --home /var/www/bobwebsite --shell /bin/bash bob
    adduser --no-create-home --shell /bin/false --disabled-login --ingroup bob bob-www
    adduser www-data bob
    cd /var/www/bobwebsite
    chown -R bob:bob .
    find -type d -exec chmod 750 {} \;
    find -type f -exec chmod 640 {} \;

Catatan : orang cenderung lupa bahwa membatasi kamu (Pemilik) hak adalah sebagian besar waktu tidak berguna dan tidak aman, karena pemilik file dapat menjalankan chmod komando, bahkan haknya adalah 000.

Beritahu saya jika pendekatan saya memiliki beberapa masalah keamanan, karena saya tidak 100% yakin, tetapi itulah yang saya gunakan.

Saya pikir konfigurasi ini memiliki masalah: ketika PHP / Apache membuat file baru (mis. Upload), itu akan menjadi milik bob-www: bob, dan bob hanya akan bisa membacanya. Mungkin setuid pada direktori dapat memecahkan masalah.


13
2017-07-19 21:42



Linux mengabaikan setuid. File baru selalu dimiliki oleh pembuatnya. - Paul
Saya tidak mengerti sesuatu. Ini sepertinya tidak memasukkan situasi ketika lebih banyak pengembang bekerja secara simultan di situs web, karena satu-satunya pengguna bob. Bagaimana Anda mengatasinya? Misalnya. melalui ssh, kedua pengguna masuk sebagai bob. bob (1) merasa dia tidak dapat mengingat kata sandi dan mengubahnya ke yang lain tetapi tetap aman. bob (2) mencoba untuk login di lain waktu, dan dia tidak bisa. - n611x007
@ naxa Setiap sistem yang sedikit baik tidak boleh memiliki pengembang yang langsung memodifikasi situs web. Idealnya, situs web berada di bawah kontrol versi sehingga akun pengguna 'bob' menarik dan menyebarkan setiap rilis (stabil) secara otomatis. Jadi, pengembang melakukan pengembangan di luar situs, dan perubahan akan diterapkan setelah mereka didorong ke server penyebaran. 'bob' adalah pengguna sistem yang harus memiliki izin jaringan sangat terbatas, yang tidak termasuk login jarak jauh; iptables sebenarnya memungkinkan Anda untuk memfilter berdasarkan UID untuk hal-hal seperti ini. - Parthian Shot
"Saya bertanya-tanya mengapa begitu banyak orang menggunakan (atau merekomendasikan) bagian" lain "(o)" - maka mungkin Anda seharusnya memposting ini sebagai pertanyaan daripada menjawab. Tidak jarang untuk secara sengaja menjalankan server web (sebagai bagian yang paling terbuka dari sistem) dengan tingkat hak istimewa terendah sementara dukungan, pengembangan, akun admin juga memerlukan akses yang berbeda. - symcbean


Mengingat peringkat google di atas jawaban yang sangat baik, saya pikir ada satu hal yang harus diperhatikan, dan saya tidak bisa meninggalkan catatan setelah jawabannya.

Melanjutkan dengan contoh, jika Anda berencana menggunakan data www sebagai pemilik dan dev-fabrikam sebagai grup dengan 570 izin pada direktori (atau file), penting untuk dicatat bahwa Linux mengabaikan  setuid, jadi semua file baru akan dimiliki oleh pengguna yang membuatnya. Ini berarti bahwa setelah membuat direktori dan file baru Anda harus menggunakan sesuatu yang mirip dengan:

chown -R www-data /newdirectory/
chmod -R 570 /newdirectory/

Di Ubuntu 12.04 untuk Rackspace OpenStack, saya memiliki masalah aneh di mana saya tidak bisa mendapatkan izin 570 untuk bekerja sampai saya me-reboot server, yang secara ajaib memperbaiki masalah. Apakah kehilangan rambut pada tingkat yang meningkat atas masalah yang tampaknya sederhana ....


9
2018-01-13 22:03



Tolong biarkan ini menjadi googled: Dalam Raspbian (alias di raspberry pi, jika Anda ingin mengubah kepemilikan / var / www di bawah lighttpd (atau browser web lain), Anda HARUS reboot. - gbronner
@gbronner Jika itu adalah masalah yang sulit untuk menemukan resolusinya, Anda dapat mempertimbangkan untuk mempostingnya sebagai pertanyaan dan memberikan jawaban atas pertanyaan itu. Namun, ini mungkin lebih tepat di situs Q & A SE yang berbeda. Tebakan saya adalah Unix & Linux mungkin tempat yang bagus untuk melakukan itu. - Paul
Ada juga raspberrypi.stackexchange.com; tampaknya situs SE memecah sedikit pengetahuan. - gbronner
lol @gbronner. Saya tidak tahu tentang itu! Tag Raspbian di U & L memiliki sekitar 120 pertanyaan. - Paul


Saya pergi dengan konfigurasi ini:

  1. Semua direktori kecuali mengunggah satu set ke pemilik root dan grup root, izin untuk 0755.
  2. Semua file disetel ke pemilik root dan grup root, izin untuk 0644.
  3. Direktori unggahan disetel menjadi pemilik root, grup www-data, izin untuk 1770. Bit yang melekat tidak membiarkan pemilik grup untuk menghapus atau mengganti nama direktori dan file di dalamnya.
  4. Di dalam folder upload direktori baru dengan www-data pengguna dan grup pemilik, dan 0700 izin untuk masing-masing www-data pengguna yang mengunggah file.
  5. Konfigurasi Apache:

Menyangkal AllowOverride dan Index di direktori upload, sehingga Apache tidak membaca .htaccess file, dan pengguna Apache tidak dapat mengindeks konten folder unggahan:

<Directory /siteDir>
   Options -Indexes
</Directory>

<Directory /siteDir/uploadDir>
   AllowOverride none
</Directory>

6 php.ini konfigurasi:

open_basedir = /siteDir:/tmp:/usr/share/phpmyadmin
post_max_size = 5M
file_uploads = On
upload_max_filesize = 3M
max_file_uploads = 20

Dengan konfigurasi ini, www-data pengguna tidak akan bisa masuk ke direktori selain siteDir/  /tmp dan /usr/share/phpmyadmin. Anda juga dapat mengontrol ukuran file maksimum, ukuran tulisan maksimum dan file maksimum untuk diunggah dalam permintaan yang sama.


3
2017-10-23 09:54





Ketika Anda memiliki pengguna FTP bernama "leo" perlu mengunggah file ke direktori web example.com dan Anda juga memerlukan pengguna "apache" Anda untuk dapat membuat file uploa-file / sesi / cache dalam direktori cache kemudian lakukan sebagai berikut:

Perintah ini memberikan leo sebagai pemilik dan grup sebagai apache ke example.com, pengguna apache adalah bagian dari grup apache sehingga akan mewarisi izin dari grup apache

chown -R leo: apache example.com

Perintah lain yang menjamin izin yang benar dan memenuhi masalah keamanan juga.

chmod -R 2774 example.com

Di sini nomor 2 pertama adalah untuk direktori dan memastikan setiap file baru yang dibuat akan tetap dalam kelompok yang sama dan izin pemilik. 77 untuk pemilik dan grup berarti mereka memiliki akses penuh. 4 adalah untuk orang lain berarti mereka hanya bisa membaca palung.

berikut ini berguna untuk memahami nomor izin

Number  Octal Permission Representation
0   No permission
1   Execute permission
2   Write permission
3   Execute and write permission: 1 (execute) + 2 (write) = 3
4   Read permission
5   Read and execute permission: 4 (read) + 1 (execute) = 5
6   Read and write permission: 4 (read) + 2 (write) = 6
7   All permissions: 4 (read) + 2 (write) + 1 (execute) = 7

3
2017-08-09 07:15