Di Linux, izin file, atribut, dan kepemilikan mengendalikan tingkat akses yang diproses oleh pengguna dan file ke file. Ini memastikan bahawa hanya pengguna dan proses yang sah yang dapat mengakses fail dan direktori tertentu.
Kebenaran Fail Linux #
Model kebenaran Linux asas berfungsi dengan mengaitkan setiap fail sistem dengan pemilik dan kumpulan dan memberikan hak akses kebenaran untuk tiga kelas pengguna yang berbeza:
- Pemilik fail.
- Ahli kumpulan.
- Yang lain (orang lain).
Pemilikan fail boleh diubah menggunakan chown
dan chgrp
arahan.
Tiga jenis kebenaran fail berlaku untuk setiap kelas pengguna:
- Kebenaran membaca.
- Kebenaran menulis.
- Kebenaran melaksanakan.
Konsep ini membolehkan anda mengawal pengguna mana yang dapat membaca fail, menulis ke fail, atau melaksanakan fail tersebut.
Untuk melihat kebenaran fail, gunakan ls
arahan:
ls -l nama_lama
-rw-r - r-- 12 pengguna linuxize 12.0K 28 Apr 10:10 nama_ fail | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Kumpulan | | | | | + -------------------> 6. Pemilik | | | | + --------------------------> 5. Kaedah Akses Alternatif | | | + ----------------------------> 4. Kebenaran Lain | | + -------------------------------> 3. Kebenaran Kumpulan | + ----------------------------------> 2. Kebenaran Pemilik + ------------------------------------> 1. Jenis fail
Watak pertama menunjukkan jenis fail. Ia boleh menjadi fail biasa (-
, direktori (d
, pautan simbolik (l
), atau jenis fail khas lain. Sembilan watak berikut mewakili keizinan fail, masing-masing tiga tiga rangkap tiga watak. Triplet pertama menunjukkan kebenaran pemilik, izin kumpulan kedua, dan triplet terakhir menunjukkan kebenaran kepada orang lain.
Dalam contoh di atas (rw-r - r--
) bermaksud bahawa pemilik fail mempunyai kebenaran membaca dan menulis (rw-
), kumpulan dan yang lain hanya mempunyai kebenaran membaca (r--
).
Kebenaran fail mempunyai makna yang berbeza bergantung pada jenis fail.
Setiap tiga triplet kebenaran dapat dibuat dari watak-watak berikut dan mempunyai kesan yang berbeza, bergantung pada apakah mereka diset ke fail atau ke direktori:
Kesan Kebenaran pada Fail
Kebenaran | Perwatakan | Makna pada Fail |
---|---|---|
Baca | - | Fail tidak dapat dibaca. Anda tidak dapat melihat kandungan fail. |
r | Fail boleh dibaca. | |
Tulis | - | Fail tidak boleh diubah atau diubah. |
w | Fail boleh diubah atau diubah. | |
Laksanakan | - | Fail tidak dapat dijalankan. |
x | Fail boleh dijalankan. | |
s | Sekiranya dijumpai di pengguna triplet, ia menetapkan setuid sedikit. Sekiranya dijumpai di kumpulan triplet, ia menetapkan setgid sedikit. Ia juga bermaksud bahawa x bendera ditetapkan.Apabila setuid atau setgid bendera diatur pada file yang dapat dieksekusi, file tersebut dieksekusi dengan hak pemilik file dan / atau grup. | |
S | Sama seperti s , tetapi x bendera tidak ditetapkan. Bendera ini jarang digunakan pada fail. | |
t | Sekiranya terdapat di yang lain triplet, ia menetapkan melekit sedikit.Ia juga bermaksud bahawa x bendera ditetapkan. Bendera ini tidak berguna pada fail. | |
T | Sama seperti, t tetapi x bendera tidak ditetapkan. Bendera ini tidak berguna pada fail. |
Kesan Kebenaran pada Direktori (Folder)
Direktori adalah jenis fail khas yang boleh mengandungi fail dan direktori lain.
Kebenaran | Perwatakan | Makna pada Direktori |
---|---|---|
Baca | - | Isi direktori tidak dapat ditunjukkan. |
r | Isi direktori dapat ditunjukkan. (e.g., Anda boleh menyenaraikan fail di dalam direktori dengan ls .) | |
Tulis | - | Isi direktori tidak dapat diubah. |
w | Isi direktori boleh diubah. (e.g., Anda boleh membuat fail baru, memadam fail ... dll.) | |
Laksanakan | - | Direktori tidak boleh diubah menjadi. |
x | Direktori boleh dilayari menggunakan cd . | |
s | Sekiranya dijumpai di pengguna triplet, ia menetapkan setuid sedikit. Sekiranya dijumpai di kumpulan triplet ia menetapkan setgid sedikit. Ia juga bermaksud bahawa x bendera ditetapkan. Apabila setgid bendera ditetapkan pada direktori, fail baru yang dibuat di dalamnya mewarisi ID kumpulan direktori (GID) dan bukannya ID kumpulan utama pengguna yang membuat fail.setuid tidak mempunyai kesan pada direktori. | |
S | Sama seperti s , tetapi x bendera tidak ditetapkan. Bendera ini tidak berguna pada direktori. | |
t | Sekiranya dijumpai di yang lain triplet, ia menetapkan melekit sedikit.Ia juga bermaksud bahawa x bendera ditetapkan. Apabila bit lengket diatur pada direktori, hanya pemilik file, pemilik direktori, atau pengguna administratif yang dapat menghapus atau mengganti nama file di dalam direktori. | |
T | Sama seperti t , tetapi x bendera tidak ditetapkan. Bendera ini tidak berguna pada direktori. |
Menukar kebenaran Fail #
Kebenaran Fail boleh diubah menggunakan chmod
perintah. Hanya root, pemilik file, atau pengguna dengan hak istimewa sudo yang dapat mengubah izin file. Berhati-hati semasa menggunakan chmod
, terutamanya apabila menukar kebenaran secara berulang. Perintah boleh menerima satu atau lebih fail dan / atau direktori yang dipisahkan oleh ruang sebagai argumen.
Kebenaran dapat ditentukan menggunakan mod simbolik, mod angka, atau file rujukan.
Kaedah Simbolik (Teks) #
Sintaks bagi chmod
arahan semasa menggunakan mod simbolik mempunyai format berikut:
chmod [PILIHAN] [ugoa…] [- + =] perm… [,…] FILE…
Kumpulan bendera pertama ([ugoa…]
), pengguna menandakan, menentukan kelas pengguna yang kebenarannya untuk fail diubah.
awak
- Pemilik fail.g
- Pengguna yang menjadi ahli kumpulan.o
- Semua pengguna lain.a
- Semua pengguna, sama denganugo
.
Apabila bendera pengguna dihilangkan, ia akan menjadi default a
.
Kumpulan bendera kedua ([- + =]
), operasi menandakan, menentukan sama ada kebenaran akan dikeluarkan, ditambahkan, atau ditetapkan:
-
- Membuang kebenaran yang ditentukan.+
- Menambah kebenaran yang ditentukan.=
- Mengubah izin semasa ke izin yang ditentukan. Sekiranya tiada kebenaran diberikan selepas=
simbol, semua kebenaran dari kelas pengguna yang ditentukan dikeluarkan.
Kebenaran (kebenaran…
) secara eksplisit ditetapkan menggunakan sifar atau satu atau lebih huruf berikut: r
, w
, x
, X
, s
, dan t
. Gunakan satu huruf dari set awak
, g
, dan o
semasa menyalin kebenaran dari satu ke kelas pengguna yang lain.
Semasa menetapkan kebenaran untuk lebih dari satu kelas pengguna ([,…]
), gunakan koma (tanpa ruang) untuk memisahkan mod simbolik.
Berikut adalah beberapa contoh cara menggunakan chmod
arahan dalam mod simbolik:
Beri kebenaran ahli kumpulan untuk melaksanakan fail, tetapi tidak membaca dan menulis kepadanya:
chmod g = x nama fail
Alih keluar kebenaran menulis untuk semua pengguna:
nama fail chmod a-w
Membatalkan kebenaran pelaksanaan untuk pengguna lain
chmod -R o-x dirname
Keluarkan izin baca, tulis, dan laksanakan untuk semua pengguna kecuali pemilik fail:
nama fail chmod og-rwx
Perkara yang sama juga dapat dicapai dengan menggunakan borang berikut:
chmod og = nama fail
Beri izin baca, tulis dan laksanakan kepada pemilik fail, izin membaca ke kumpulan fail, dan tidak ada izin kepada semua pengguna lain:
chmod u = rwx, g = r, o = nama fail
Kaedah Numerik #
Sintaks bagi chmod
arahan semasa menggunakan mod simbolik mempunyai format berikut:
chmod [PILIHAN] NOMBOR NOMBOR…
Semasa menggunakan mod angka, anda dapat menetapkan izin untuk ketiga kelas pengguna (pemilik, kumpulan, dan semua yang lain) pada masa yang sama.
Nombor kebenaran boleh berupa nombor 3 atau 4 digit. Apabila nombor 3 digit digunakan, digit pertama mewakili kebenaran pemilik fail, yang kedua kumpulan fail, dan yang terakhir semua pengguna lain.
Setiap kebenaran menulis, membaca, dan melaksanakan mempunyai nilai nombor berikut:
r
(baca) = 4w
(tulis) = 2x
(laksanakan) = 1- tiada kebenaran = 0
Nombor kebenaran kelas pengguna tertentu ditunjukkan dengan jumlah nilai kebenaran untuk kumpulan itu.
Untuk mengetahui kebenaran fail dalam mod angka, cukup hitung jumlah untuk semua kelas pengguna. Sebagai contoh, untuk memberi kebenaran membaca, menulis dan melaksanakan kepada pemilik fail, membaca dan melaksanakan kebenaran ke kumpulan fail dan hanya izin membaca kepada semua pengguna lain, anda akan melakukan perkara berikut:
- Pemilik: rwx = 4 + 2 + 1 = 7
- Kumpulan: r-x = 4 + 0 + 1 = 5
- Lain-lain: r-x = 4 + 0 + 0 = 4
Dengan menggunakan kaedah di atas, kami mendapat nombor 754
, yang mewakili kebenaran yang diinginkan.
Untuk menubuhkan setuid
, setgid
, dan sedikit melekit
bendera, gunakan nombor empat digit.
Apabila nombor 4 digit digunakan, digit pertama mempunyai makna berikut:
- setuid = 4
- setgid = 2
- melekit = 1
- tiada perubahan = 0
Tiga digit berikutnya mempunyai makna yang sama seperti ketika menggunakan 3 digit nombor.
Sekiranya digit pertama adalah 0 ia boleh dihilangkan, dan modnya dapat ditunjukkan dengan 3 digit. Mod angka 0755
adalah sama seperti 755
.
Untuk mengira mod angka, anda juga boleh menggunakan kaedah lain (kaedah binari), tetapi sedikit lebih rumit. Mengetahui cara mengira mod angka menggunakan 4, 2, dan 1 sudah mencukupi bagi kebanyakan pengguna.
Anda boleh memeriksa kebenaran fail dalam notasi numerik menggunakan perangkaan
arahan:
stat_c "% a" nama_nama
Berikut adalah beberapa contoh cara menggunakan chmod
perintah dalam mod angka:
Berikan kebenaran membaca dan menulis pemilik fail dan hanya kebenaran membaca kepada ahli kumpulan dan semua pengguna lain:
chmod 644 dirname
Beri pemilik fail membaca, menulis dan melaksanakan kebenaran, membaca dan melaksanakan kebenaran kepada ahli kumpulan dan tidak ada izin kepada semua pengguna lain:
chmod 750 dirname
Beri izin baca, tulis, dan laksanakan, dan sedikit lengket ke direktori tertentu:
chmod 1777 dirname
Tetapkan secara berulang, baca, tulis, dan laksanakan izin kepada pemilik fail dan tidak ada izin untuk semua pengguna lain pada direktori tertentu:
chmod -R 700 dirname
Kesimpulan #
Di Linux, akses ke file dibatasi menggunakan izin file, atribut, dan kepemilikan. Untuk menukar kebenaran fail, gunakan chmod
perintah.
Sekiranya anda mempunyai pertanyaan atau maklum balas, jangan ragu untuk memberikan komen.