GNU/Linux >> Belajar Linux >  >> Linux

Linux – Apa Cara Berbeda Untuk Mengatur Izin File Dll Di Gnu/linux?

Di Unix, sudah lama sekali, saya belajar tentang chmod :cara tradisional untuk menyetel izin, di Unix (dan untuk mengizinkan program mendapatkan hak istimewa, menggunakan setuid, setgid).

Saya baru-baru ini menemukan beberapa perintah yang lebih baru, di GNU/Linux:

  • setfacl memperluas ugo:rwx tradisional bit dan t sedikit chmod .
  • setcap memberikan lebih banyak kontrol butiran sirip daripada ug:s bit chmod .
  • chattr Mengizinkan beberapa kontrol lain (sedikit campuran) dari file.

Apakah ada yang lain?

Jawaban yang Diterima:

chmod :mengubah bit mode file

Penggunaan (mode oktal):

    chmod <octal-mode> files...

Penggunaan (mode simbolik):

    chmod <references><operator><modes> files..

references adalah kombinasi dari huruf ugoa , yang menentukan akses pengguna mana ke files akan diubah:

  • u pengguna yang memilikinya
  • g pengguna lain di files grup
  • o pengguna lain yang tidak ada dalam grup file
  • a semua pengguna

    Jika dihilangkan, itu default untuk semua pengguna, tetapi hanya izin yang diizinkan oleh umask dimodifikasi.

    operator adalah salah satu karakter +-= :

    • + tambahkan bit mode file yang ditentukan ke bit mode file yang ada dari setiap files
    • - menghapus bit mode file yang ditentukan ke bit mode file yang ada dari setiap files
    • = menambahkan bit yang ditentukan dan menghapus bit yang tidak ditentukan, kecuali setuid dan setgid bit yang disetel untuk direktori, kecuali ditentukan secara eksplisit.

    mode terdiri dari kombinasi huruf rwxXst , yang menentukan bit izin mana yang akan dimodifikasi:

    • r baca
    • w tulis
    • x jalankan (atau cari direktori)
    • X jalankan/cari hanya jika file adalah direktori atau sudah memiliki bit eksekusi yang ditetapkan untuk beberapa pengguna
    • s setuid atau setgid (bergantung pada references yang ditentukan )
    • t bendera penghapusan terbatas atau bit lengket

    Atau, mode dapat terdiri dari salah satu huruf ugo , dalam hal ini mode sesuai dengan izin yang saat ini diberikan kepada pemilik (u ), anggota files grup (g ) atau izin pengguna di salah satu kategori sebelumnya (o ).

Berbagai bit chmod dijelaskan:

  • Kontrol akses (lihat juga setfacl )
    • rwx — izin baca (r), tulis (w), dan eksekusi/silang (x).
      • Baca (r) mempengaruhi apakah sebuah file dapat dibaca, atau jika sebuah direktori dapat dicantumkan.
      • Tulis (w) mempengaruhi apakah sebuah file dapat ditulisi, atau jika sebuah direktori dapat diedit (file ditambahkan, dihapus, diganti namanya).
      • Execute (x) mempengaruhi apakah file dapat dijalankan, gunakan untuk skrip (lihat #! ), dan file yang dapat dieksekusi lainnya.
      • Silang (x) mempengaruhi apakah sebuah direktori dapat dilintasi.
    • s dan t — sticky bit (t), dan setgid (s) pada direktori
      • Bit lengket hanya mempengaruhi direktori. Akan mencegah siapa pun kecuali pemilik file, dan root, menghapus file di direktori.
      • bit setgid pada direktori, akan menyebabkan file dan direktori baru memiliki grup yang disetel ke grup yang sama, dan direktori baru memiliki bit setgid yang disetel (lihat juga default di setfacl).
    • s — setuid, setgid, pada file yang dapat dieksekusi.
      • Ini dapat memengaruhi keamanan dengan cara yang buruk, jika Anda tidak tahu apa yang Anda lakukan.
      • Saat executable dijalankan, jika salah satu bit ini diset, maka pengguna/grup efektif dari executable akan menjadi pengguna file. Dengan demikian program berjalan sebagai pengguna itu. lihat setcap untuk cara yang lebih modern untuk melakukannya.

chown chgrp :

chattr :mengubah atribut file

Penggunaan:

    chattr <operator><attribute> files...

operator adalah salah satu karakter +-= :
* + menambahkan atribut yang dipilih menjadi attributes yang ada dari files * - menghapus attributes yang dipilih * = menimpa set atribut saat ini yang dimiliki file dengan attributes yang ditentukan .

attributes adalah kombinasi dari huruf acdeijstuADST , yang sesuai dengan atribut:

  • a tambahkan saja
  • c dikompres
  • d tidak ada sampah
  • e format luas
  • i tidak berubah
  • j penjurnalan data
  • s penghapusan aman
  • t tidak ada penggabungan ekor
  • u tidak dapat dihapus
  • A tidak ada atime pembaruan
  • D pembaruan direktori sinkron
  • S pembaruan sinkron
  • T hierarki direktori teratas
Terkait:Ssh – Mengapa upaya penerusan X11 gagal dengan “connect /tmp/.X11-unix/X0:No such file or directory”?

setfattr :mengubah atribut file yang diperluas

Penggunaan (mengatur atribut):

    setfattr -n <name> -v <value> files...

Penggunaan (hapus):

    setfattr -x <name> files...

name adalah nama atribut yang diperluas untuk disetel atau dihapus

value adalah nilai baru dari atribut yang diperluas

setfacl :mengubah daftar kontrol akses file

Penggunaan:

    setfacl <option> [default:][<target>:][<param>][:<perms>] files...

option harus menyertakan salah satu dari berikut ini:

  • --set mengatur ACL file atau direktori, menggantikan ACL sebelumnya
  • -m |--modify memodifikasi ACL file atau direktori
  • -x |--remove menghapus entri ACL dari file atau direktori

    target adalah salah satu huruf ugmo (atau bentuk yang lebih panjang yang ditunjukkan di bawah):

  • u , users izin dari pengguna bernama yang diidentifikasi oleh param , default ke pemilik file uid jika dihilangkan

  • g , group izin dari grup bernama yang diidentifikasi oleh param , default untuk memiliki grup uid jika dihilangkan
  • m , mask topeng hak yang efektif
  • o , other izin orang lain

    perms adalah kombinasi dari huruf rwxX , yang sesuai dengan izin:

  • r baca

  • w tulis
  • x jalankan
  • X jalankan hanya jika file adalah direktori atau sudah memiliki izin eksekusi untuk beberapa pengguna

    Atau, perms mungkin digit oktal (7 ) menunjukkan set izin.

setcap :mengubah kemampuan file

Penggunaan:

    setcap <capability-clause> file 

capability-clause terdiri dari daftar nama kapabilitas yang dipisahkan koma diikuti dengan daftar pasangan flag operator.

Operator yang tersedia adalah = , + dan - . Bendera yang tersedia adalah e , i dan p yang sesuai dengan Efektif , Dapat diwariskan dan Diizinkan set kemampuan.

= operator akan menaikkan set kemampuan yang ditentukan dan mengatur ulang yang lain. Jika tidak ada tanda yang diberikan bersama dengan = operator semua set kemampuan akan diatur ulang. + dan - operator akan menaikkan atau menurunkan satu atau lebih set kemampuan yang ditentukan masing-masing.

chcon :mengubah konteks keamanan file SELinux

Penggunaan:

    chcon [-u <user>] [-r <role>] [-t <type>] files...

pengguna adalah pengguna SELinux, seperti user_u , system_u atau root .

peran adalah peran SELinux (selalu object_r untuk file)

ketik adalah tipe subjek SELinux

chsmack :mengubah atribut yang diperluas SMACK

Penggunaan:

    chsmack -a <value> file

value adalah label SMACK yang akan disetel untuk SMACK64 atribut file yang diperluas

setrichacl:mengubah daftar kontrol akses kaya.

richacls adalah fitur yang akan menambahkan ACL yang lebih canggih.

Saat ini sedang dalam pengerjaan, jadi saya tidak bisa bercerita banyak tentang mereka. Saya belum menggunakannya.


Linux
  1. UNIX / Linux :Apa itu Shell? Apa Shells yang berbeda?

  2. Apa saja opsi pemasangan untuk meningkatkan kinerja sistem file ext4 di Linux?

  3. Apa kerugian dari antrian pesan Linux?

  1. Pengantar file Linux /etc/fstab

  2. Linux – Apa Arti Titik Setelah Bit Izin File?

  3. Apa saja cara berbeda untuk mengatur izin file dll di gnu/linux

  1. Linux – Bagaimana Cara Memeriksa Informasi Struktur Direktori File Unix/linux?

  2. Linux – Apakah Kernel Linux/unix yang Berbeda Dapat Dipertukarkan?

  3. Apa saja Jenis Shell yang Berbeda di Linux?