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
memperluasugo:rwx
tradisional bit dant
sedikitchmod
.setcap
memberikan lebih banyak kontrol butiran sirip daripadaug:s
bitchmod
.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 memilikinyag
pengguna lain difiles
grupo
pengguna lain yang tidak ada dalam grup file-
a
semua penggunaJika 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 setiapfiles
-
menghapus bit mode file yang ditentukan ke bit mode file yang ada dari setiapfiles
=
menambahkan bit yang ditentukan dan menghapus bit yang tidak ditentukan, kecualisetuid
dansetgid
bit yang disetel untuk direktori, kecuali ditentukan secara eksplisit.
mode
terdiri dari kombinasi hurufrwxXst
, yang menentukan bit izin mana yang akan dimodifikasi:r
bacaw
tulisx
jalankan (atau cari direktori)X
jalankan/cari hanya jika file adalah direktori atau sudah memiliki bit eksekusi yang ditetapkan untuk beberapa penggunas
setuid atau setgid (bergantung padareferences
yang ditentukan )t
bendera penghapusan terbatas atau bit lengket
Atau,
mode
dapat terdiri dari salah satu hurufugo
, dalam hal ini mode sesuai dengan izin yang saat ini diberikan kepada pemilik (u
), anggotafiles
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
dant
— 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 sajac
dikompresd
tidak ada sampahe
format luasi
tidak berubahj
penjurnalan datas
penghapusan amant
tidak ada penggabungan ekoru
tidak dapat dihapusA
tidak adaatime
pembaruanD
pembaruan direktori sinkronS
pembaruan sinkronT
hierarki direktori teratas
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 direktoritarget
adalah salah satu hurufugmo
(atau bentuk yang lebih panjang yang ditunjukkan di bawah): -
u
,users
izin dari pengguna bernama yang diidentifikasi olehparam
, default ke pemilik fileuid
jika dihilangkan g
,group
izin dari grup bernama yang diidentifikasi olehparam
, default untuk memiliki grupuid
jika dihilangkanm
,mask
topeng hak yang efektif-
o
,other
izin orang lainperms
adalah kombinasi dari hurufrwxX
, yang sesuai dengan izin: -
r
baca w
tulisx
jalankan-
X
jalankan hanya jika file adalah direktori atau sudah memiliki izin eksekusi untuk beberapa penggunaAtau,
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.