Saya tidak sepenuhnya memahami izin file CHMOD, adakah yang bisa menjelaskannya?

2

Saya telah mencari di internet beberapa saat untuk penjelasan yang baik tentang CHMOD, tetapi belum datang dengan penjelasan yang baik, karena setiap penjelasan menggunakan kata-kata yang sama dengan variasi kecil.

Apa yang saya ketahui sejauh ini: Ada nomor CHMOD, yang sesuai dengan 3 tingkat akses: Pemilik, Grup, dan semua orang lainnya. Anda dapat mengatur Baca, Tulis, dan Jalankan. 777 berarti semua pengguna dapat melakukan segalanya dan 000 berarti tidak ada yang bisa melakukan apa pun.

Apa yang saya perlukan bantuan untuk memahami Siapa "Pemilik, grup, dan semua orang". Penjelasan umum menyatakan bahwa pemiliknya adalah "Saya", tetapi saya tidak membaca, menulis, atau mengeksekusi? Saya membuka situs web saya sebagai pengguna anonim untuk mengujinya. Siapa pengguna grup? yang biasanya mereka keluarkan adalah pengguna dalam grup: P, apakah ini berarti akun saya di akun hosting bersama saya? dan siapa orang lain?

Ini bukan konsep yang sulit untuk dipahami, tetapi penjelasan yang saya baca kurang penjelasan menyeluruh. Dari pemahaman saya ada 2 jenis pengguna yang mengakses situs web saya. Ada server yang mengakses skrip / file dan orang-orang acak yang meminta server untuk mengakses skrip / file ini.

Terakhir, 3 accessor. dari apa yang saya pahami jika "baca" dinonaktifkan untuk file, itu tidak akan ditampilkan, jika "tulis" dinonaktifkan, itu tidak dapat dimodifikasi oleh skrip. dan jika eksekusi dinonaktifkan, maka saya tidak begitu yakin.

Saya akan sangat menghargai penjelasan dan jawaban yang solid untuk pertanyaan-pertanyaan ini. Ini mungkin tampak seperti ide sederhana untuk admin server yang paling berpengalaman, tapi saya sedang mempelajari administrasi server pada shared hosting dengan Network Solution sendiri, jadi saya sedikit tidak berpengalaman.

DMor
sumber
Saya mendapat jawaban yang bagus untuk pertanyaan serupa: superuser.com/questions/380119/...
JannieT

Jawaban:

5

Pusat perhatian Anda salah. Lupakan web dan halaman web.

Chmod mengubah izin pada file , bukan pada halaman web.

Anda akan memerlukan file jika Anda ingin menampilkan halaman web, tetapi kemudian Anda melihat case edge. Mulailah dengan bagian dasar.

Jika Anda mengambil komputer windows dan masuk sebagai, katakan 'joe'. Maka Anda akan memiliki file di c: \ users \ joe. Hanya Anda (saat login sebagai joe) yang dapat membacanya. Jika Anda membuat akun kedua (katakanlah jane, istri joe), maka ia akan memiliki file di c: \ users \ jane.

Joe dapat membaca file dari Joe, tetapi bukan file dari Jane. Joe dapat membaca file dari Jane, tetapi bukan file dari Joe.

Di unix ini mirip.

Anda tidak akan memiliki file di c: / user / *, tetapi di / home.

Jika Anda memiliki halaman web maka Anda akan memiliki file untuk halaman web itu. Anda perlu mengatur siapa yang dapat membaca file itu, siapa yang menulisnya, dan siapa yang dapat mengeksekusi file itu (dengan asumsi itu adalah file yang dapat dieksekusi).

Cara klasik untuk melakukannya di unis adalah dengan pemilik file (misalnya Jane atau Joe), grup (misalnya semua pengguna) dan seluruh dunia.

Setelah Anda memahami ini, Anda dapat memperluas ke halaman web. Dan tergantung pada hal-hal http mungkin bahkan agak tidak standar. Tetapi mulailah dengan bagian dasar. Abaikan hal-hal web untuk saat ini.


Sunting: Sebagai contoh bagian dari direktori saya. Ini hampir sama dengan yang harus ditunjukkan oleh pembuat film Anda.

kodok: /home/hennes/.html> ls -l
total 18364
-rw-r - r-- 1 pengguna hennes 1320216 27 Jan 2012 20050326_Australia_Uluru_from_plane.jpg
-rw-r - r-- 1 pengguna hennes 2012406 16 Des 2010 20101216_Kerstboom2010.JPG
lrwxrwxrwx 1 hennes pengguna 9 Apr 30 2006 Gambar -> gambar /
-rw-r - r-- 1 pengguna hennes 240548 3 Mei 20:54 Western_realm.png
-rw-r - r-- 1 pengguna hennes 1654 Apr 24 2004 about_me.html
-rw-r - r-- 1 pengguna hennes 1899 7 Agustus 2007 appeltaart
-rw-r - r-- 1 pengguna hennes 4090644 1 Des 2011 book_list.txt
-rw ------- 1 pengguna hennes 385 Agustus 11 2005 booklist.html
-rw-r - r-- 1 hennes pengguna 4384 15 Mei 2005 bookmarks.html
-rw ------- 1 pengguna hennes 1999 28 Feb 2011 bug.txt

Bagian pertama adalah izin. Dalam kelompok tiga.
Lalu nomor hitung tautan (Yang akan saya abaikan karena tidak penting untuk chmod)
Lalu pengguna. Dalam kasus Anda yang akan menjadi 'abc'
Di belakang pengguna adalah grup milik file. Di komputer ini semua orang yang bisa masuk ditambahkan ke grup ini.
Kemudian ukuran
file Tanggal modifikasi file
Dan akhirnya nama file

Sebagai pemilik file Anda, Anda ingin dapat membaca dan menulis file Anda sendiri. Jadi biasanya kolom pertama memiliki rw- atau rwx di dalamnya. Tanpa 'r' Anda tidak dapat membaca file Anda sendiri. Tanpa 'w' Anda tidak dapat menulis kepada mereka (dan dengan demikian Anda tidak dapat mengubahnya).

Grup 'pengguna' yang ditampilkan agak umum. Tetapi Anda dapat mengatur bendera yang sama di atasnya. Keuntungan grup adalah Anda dapat menambahkan beberapa orang ke dalamnya. Misalnya Anda dapat memiliki file dengan pengaturan ini
- rw- rw- --- 1 Joe SalesWeb 2048 Feb 30 2012 index.html
Pengguna 'joe' membuat file. Dia memilikinya. Dia dapat membacanya dan menulis untuk itu.
Semua orang lain yang telah ditambahkan ke grup 'SalesWeb' juga dapat membaca dan menulis. (Ini memungkinkan Anda untuk bekerja dengan grup pada file).
Seluruh dunia tidak diizinkan melakukan apa pun dengan file tersebut.

Hennes
sumber
melanjutkan penjelasan Anda untuk menggabungkannya dengan situasi saya di hosting bersama. Saya masuk ke akun NetworkSolution saya sebagai nama pengguna "abc", dan buka file manager saya (atau melalui FTP). Apa itu "abc", pemilik, grup, atau pengguna? NetworkSolution adalah admin, sehingga mereka dapat melakukan apa saja. Saya pemiliknya, tetapi mengapa saya perlu izin? Ini tidak benar-benar menjawab pertanyaan saya.
DMor
1
Saya menambahkan contoh. Semoga itu membuat segalanya beres. Namun saya curiga Anda mencoba untuk melihat hal-hal dasar dengan 'membantu clippy (tm)' di jalan. File manager cukup berguna, tetapi mungkin menyembunyikan banyak hal. - Pertanyaan: Apakah Anda memahami kepemilikan file di komputer Anda sendiri (berbasis windows?)? Bisakah saya membandingkan barang dengan itu?
Hennes
2

Siapa ADALAH "Pemilik, grup, dan semua orang".

Konsep sistem komputer yang menonjol adalah bahwa seseorang harus mengidentifikasi dirinya untuk menggunakan sistem yang aman seperti Linux. Ini adalah log-in prosedur, yang melibatkan nama pengguna atau userID dan mekanisme keamanan seperti password atau perbandingan biometeric (misalnya sidik jari atau iris scan).

Sebelum log-in dapat diusahakan, beberapa administrasi sistem harus terjadi.

  • Nama pengguna (atau ID pengguna ) harus dimasukkan ke dalam daftar pengguna yang valid .
  • Nama pengguna (atau ID pengguna ) juga akan dimasukkan ke sejumlah daftar grup . Artinya, setiap daftar grup adalah daftar semua pengguna yang menjadi anggota grup itu

Siapa pengguna grup?

2 pertanyaan ini tidak masuk akal, karena "grup" bukan "siapa". Sebuah kelompok adalah daftar pengguna . Para pengguna itu termasuk dalam kelompok itu . Diberikan pengguna tertentu dan grup tertentu , pengguna itu ada dalam grup itu atau bukan anggota grup itu .

Ada nomor CHMOD, yang sesuai dengan 3 tingkat akses

Selain tiga tingkat akses ini, file ini memiliki dua properti penting lainnya:

  • yang nama pengguna yang memiliki (kontrol) file ini.
  • nama grup yang memiliki (mengontrol) file ini.

Ada tiga tingkat akses, tetapi hanya satu tingkat akses baca / tulis / eksekusi diterapkan. Yang mana dari tiga izin rwx yang akan ditentukan oleh tes sederhana:

  • Jika pengguna yang mencoba mengakses file ini adalah pemilik-pengguna, maka izin pemilik rwx harus digunakan.
  • Kalau tidak, jika pengguna yang mencoba mengakses file ini adalah anggota dari pemilik grup file, maka izin grup rwx harus digunakan.
  • Kalau tidak, izin rwx lainnya akan digunakan.

Jenis akses dibandingkan dengan izin yang dipilih setelah izin rwx dibuat:

  • Operasi akses diperbolehkan untuk dieksekusi (yaitu transfer dari file ke memori dan tandai sebagai executable) hanya jika bit izin "x" diatur (diaktifkan). Juga digunakan untuk mencari izin jika file sebenarnya direktori.
  • Operasi akses diperbolehkan untuk menulis (yaitu transfer dari memori ke file) hanya jika bit izin "w" diatur (diaktifkan).
  • Operasi akses diizinkan untuk membaca (mis. Segalanya: transfer dari file ke memori dan tandai sebagai tidak dapat dieksekusi) hanya jika bit izin "r" disetel (diaktifkan).

Saya membuka situs web saya sebagai pengguna anonim untuk mengujinya.

Seperti yang disebutkan di awal, konsep yang menonjol adalah bahwa seseorang harus mengidentifikasi dirinya dengan masuk ke sistem. Ini melibatkan prosedur masuk melalui konsol atau terminal lokal atau terminal jarak jauh untuk menetapkan nama pengguna . Akses ke sistem komputer yang tidak memerlukan login biasanya melibatkan akses yang sangat terbatas atau akses melalui layanan , seperti server web yang dapat mengirimkan halaman web ke browser Anda. Layanan ini biasanya dijalankan sebagai daemon dan dimiliki oleh pengguna tertentu dan milik kelompok tertentu . (Perhatikan bahwa penggunayang "memiliki" layanan ini biasanya entitas abstrak dan bukan orang sungguhan. Biasanya ada langkah-langkah keamanan untuk mencegah masuk sebagai layanan username 's.) Sejak kernel dimulai daemon, yang layanan tidak harus 'login'. Tetapi kemampuan akses layanan ini dapat dikontrol seperti halnya pengguna nyata yang masuk secara konvensional.

Halaman web BTW adalah output (data) dari server web (program) ke browser web Anda (program). Data yang terdiri dari halaman web ini dapat berasal dari file .html individu atau dihasilkan secara dinamis, misalnya oleh program .CGI. Jika server web tidak menemukan kesalahan izin file saat mencoba menyelesaikan permintaan dari browser Anda, Anda mungkin mendapatkan kode status HTTP "Kesalahan 403".

Tambahan Jika Anda ingin membahas atau mengevaluasi masalah izin file, Anda perlu bertanya dan mendapatkan jawaban atas beberapa pertanyaan:

  • Apa nama pengguna proses yang melakukan akses? Jika Anda menjalankan program dari baris perintah, gunakan

    $ whoami
    
  • Siapa yang memiliki file yang sedang diakses? Anda harus mendapatkan pemilik pengguna dan grup. Metode yang Anda gunakan untuk mendapatkan izin file juga harus dapat melaporkan kepemilikan. Jangan pernah berasumsi bahwa hanya karena Anda memiliki direktori, maka Anda juga memiliki semua file di direktori itu. Mengekstrak arsip dengan izin yang diawetkan dan pemilik mungkin akan mengejutkan Anda.

  • Apa izin file? Anda sepertinya sudah tahu cara mendapatkan ini. Tetapi Anda tampaknya hanya berfokus pada informasi ini, dan mengabaikan atau mengabaikan dua item di atas.

Mungkin nama pengguna dan konsep kepemilikan file adalah lubang dalam pemahaman Anda.

serbuk gergaji
sumber
Saya melakukan beberapa pengujian dengan file html dan php sederhana. Untuk melihat file html, satu-satunya izin yang berfungsi (dengan mengakses example.com/index.html) adalah ------ r--. Jadi saya mengerti itu. Tetapi mengapa dengan file PHP, hanya r -------- berfungsi?
DMor
1
Ketika saya mencoba menjelaskan, Anda harus mengevaluasi izin file dalam konteks nama pengguna (Anda) yang mencoba akses, pengguna file & pemilik grup, dan semua grup yang Anda masuki atau semua pengguna dalam grup file. Anda gagal menyebutkan nama pengguna & grup dari file-file tersebut serta nama pengguna ketika "melihat" atau "mengakses". Sebagai dugaan, sepertinya ketika "melihat file HTML", Anda atau layanan bukan pemilik atau dalam grup file, dan Anda atau layanan adalah pemilik file PHP.
serbuk gergaji
Izin BTW seperti ------ r-- jarang masuk akal (semua orang kecuali pengguna dalam grup pemilik dapat membaca file?), Mungkin harus r-r-r-- (setiap pengguna dapat membaca mengajukan). r -------- masuk akal, karena pemilik file tidak ingin orang lain membacanya.
serbuk gergaji