Di Unix, lama sekali, saya belajar tentang chmod
: cara tradisional untuk mengatur izin, di Unix (dan untuk memungkinkan program mendapatkan hak istimewa, menggunakan setuid, setgid).
Baru-baru ini saya menemukan beberapa perintah baru, di GNU / Linux:
setfacl
memperpanjangugo:rwx
bit tradisional dant
bitchmod
.setcap
memberi lebih banyak kendali sirip-butiran daripadaug:s
bitchmod
.chattr
Mengizinkan beberapa kontrol lain (sedikit campuran) dari file.
Apakah ada yang lain?
linux
permissions
filesystems
gnu
ctrl-alt-delor
sumber
sumber
chmod
Jawaban:
chmod
: ubah bit mode filePenggunaan (mode oktal):
Penggunaan (mode simbolis):
references
adalah kombinasi huruf-hurufugoa
, yang menentukan akses pengguna mana yangfiles
akan diubah:u
pengguna yang memilikinyag
pengguna lain dalamfile
grupo
pengguna lain yang tidak ada dalam grup filea
semua penggunaJika dihilangkan, standarnya adalah untuk semua pengguna, tetapi hanya izin yang diizinkan oleh
umask
yang diubah.operator
adalah salah satu karakter+-=
:+
tambahkan bit mode file yang ditentukan ke bit mode file yang ada masing-masingfile
-
menghapus bit mode file yang ditentukan ke bit mode file yang ada masing-masingfile
=
menambahkan bit yang ditentukan dan menghapus bit yang tidak ditentukan, kecuali bitsetuid
dansetgid
ditetapkan untuk direktori, kecuali ditentukan secara eksplisit.mode
terdiri dari kombinasi huruf-hurufrwxXst
, yang menentukan bit izin mana yang harus diubah:r
Bacaw
menulisx
mengeksekusi (atau mencari direktori)X
mengeksekusi / mencari hanya jika file tersebut adalah direktori atau sudah menjalankan bit yang ditetapkan untuk beberapa penggunas
setuid atau setgid (tergantung yang ditentukanreferences
)t
bendera penghapusan terbatas atau sedikit lengketAtau,
mode
dapat terdiri dari salah satu hurufugo
, dalam hal ini mode sesuai dengan izin yang saat ini diberikan kepada pemilik (u
), anggotafile
grup (g
) atau izin pengguna dalam kategori sebelumnya (o
).Berbagai bit
chmod
dijelaskan:setfacl
)rwx
- baca (r), tulis (w), dan jalankan / lintas (x) izin.#!
), dan file yang dapat dieksekusi lainnya.s
dant
- bit lengket (t), dan setgid pada direktoris
- setuid, setgid, pada file yang dapat dieksekusi.setcap
cara yang lebih modern untuk melakukan ini.chown
chgrp
:chattr
: ubah atribut filePemakaian:
operator
adalah salah satu karakter+-=
: *+
menambahkan atribut yang dipilih ke yang adaattributes
darifiles
*-
menghapus yang dipilihattributes
*=
menimpa set atribut saat ini dari file dengan yang ditentukanattributes
.attribute
adalah kombinasi huruf-hurufacdeijstuADST
, yang sesuai dengan atribut:a
tambahkan sajac
terkompresid
tidak ada dumpe
format tingkati
abadij
penjurnalan datas
penghapusan amant
tidak ada ekor-penggabunganu
tidak terhapusA
tidak adaatime
pembaruanD
pembaruan direktori sinkronS
pembaruan sinkronT
atas hierarki direktorisetfattr
: mengubah atribut file yang diperluasPenggunaan (atur atribut):
Penggunaan (hapus):
name
adalah nama atribut yang diperluas untuk ditetapkan atau dihapusvalue
adalah nilai baru dari atribut extendedsetfacl
: ubah daftar kontrol akses filePemakaian:
option
harus menyertakan salah satu dari yang berikut:--set
atur ACL file atau direktori, ganti ACL sebelumnya-m
|--modify
memodifikasi ACL file atau direktori-x
|--remove
hapus entri ACL dari file atau direktoritarget
adalah salah satu hurufugmo
(atau formulir lebih panjang yang ditunjukkan di bawah):u
,users
izin dari pengguna bernama yang diidentifikasi olehparam
, standar untuk pemilik fileuid
jika dihilangkang
,group
izin dari grup bernama yang diidentifikasi olehparam
, standar untuk memiliki grupuid
jika dihilangkanm
,mask
topeng hak efektifo
,other
izin orang lainperms
adalah kombinasi huruf-hurufrwxX
, yang sesuai dengan izin:r
Bacaw
menulisx
menjalankanX
mengeksekusi hanya jika file tersebut adalah direktori atau sudah memiliki izin eksekusi untuk beberapa penggunaAtau,
perms
bisa berupa digit oktal (0
-7
) yang menunjukkan serangkaian izin.setcap
: mengubah kemampuan filePemakaian:
A
capability-clause
terdiri dari daftar nama kemampuan yang dipisahkan koma diikuti oleh daftar pasangan flag-operator.Operator yang tersedia adalah
=
,+
dan-
. Bendera yang tersedia adalahe
,i
danp
yang sesuai dengan set kemampuan yang Efektif , Dapat Diwariskan , dan Diizinkan .The
=
Operator akan menaikkan kemampuan set yang ditentukan dan reset yang lain. Jika tidak ada bendera yang diberikan bersama dengan=
operator, semua set kemampuan akan diatur ulang. The+
dan-
operator akan menaikkan atau menurunkan satu atau kemampuan lebih ditentukan set masing-masing.chcon
: ubah file konteks keamanan SELinuxPemakaian:
pengguna adalah pengguna SELinux, seperti
user_u
,system_u
atauroot
.peran adalah peran SELinux (selalu
object_r
untuk file)tipe adalah tipe subjek SELinux
chsmack
: ubah atribut diperluas SMACKPemakaian:
value
adalah label SMACK yang akan ditetapkan untukSMACK64
atribut file yang diperluassetrichacl : ubah daftar kontrol akses kaya.
richacl s adalah fitur yang akan menambahkan ACL lebih maju.
Saat ini sedang dalam proses, jadi saya tidak bisa memberi tahu Anda banyak tentang mereka. Saya belum menggunakannya.
Lihat juga pertanyaan ini Apakah ada ACL sistem file yang lebih maju di luar 'rwx' tradisional dan POSIX ACL? dan halaman manual
sumber
dari level tinggi:
-rwxrwxrwx
ditangani olehchmod
, bersama dengan pemilik dan pengidentifikasi grup yang terikat pada setiap file atau folder pada sistem file yang ditangani olehchown
danchgrp
; semua orang pada dasarnya tahu bagian ini.poin penting lainnya:
user_xattr
dan saya bisa memilih untuk tidak memiliki xattr tersedia pada sistem file root pada waktu instalasi; saya pikir sekarang dengan RHEL / CentOS 7 bahwa xattr ada secara default dan Anda tidak bisa memilikinya.ls
jika Anda melihat-rwxrwxrwx+
itu+
menunjukkan atribut file yang diperluas hadir pada objek itu .tar
hal-hal dengan xattr, jika tetap pada sistem itu tidak ada masalah tetapi jika pergi ke tempat lain dapat menjadi masalah jika xattr itu penting (yaitu samba dan menyalin antara win10 ntfs dan linux ext3 / 4, btrfs, xfs; atau kembali dan sebagainya antara perangkat penyimpanan yang terpasang jaringan)xattr
s, makaxattr
s secara teoritis tidak dapat berarti apa-apa dan dijatuhkan atau dilucuti karena pada saat itu hanya bagasi tambahan.Saham Samba dasar tidak berfungsi di RHEL / CentOS 7 ... karena selinux secara default diatur ke pelaksanaan; selinux menolak semuanya sampai Anda mengizinkannya menonaktifkan selinux (buruk) atau mengaturnya menjadi permisif. Jika Anda membiarkan selinux sebagai penegakan, maka Anda harus memberi label pada folder yang ingin Anda bagikan berbagi dengan atribut yang diperluas, sehingga selinux akan mengenali dan mengizinkan bagian tersebut. Jadi, jika Anda meninggalkan selinux menegakkan maka dengan semua perintah selinux (yang kemudian akan mengatur yang diperlukan
xattr
):Anda selanjutnya menggunakan selinux, pada sistem linux dengan share samba ini, untuk memberlakukan pembatasan pada file / folder di bawah share samba ini (menggunakan atribut extended apa pun). Karena file / folder ini dibagikan, pengguna secara sah menyalin beberapa ke komputer win10 mereka kemudian menyalin kembali, kehilangan atribut yang diperluas. Sekarang setelah salinan bolak-balik itu, pada sistem linux selinux akan membatasi akses ke file-file tersebut karena xattr yang diperlukan tidak lagi ada, dan pengguna / admin menggedor-gedor bertanya-tanya mengapa hal-hal hanya berfungsi sekarang tidak ... mengatur selinux untuk mengizinkan dan mengenali masalah yang hilang
xattr
muncul di log audit tetapi itu tidak akan secara langsung menunjukkan itu adalah hasil bolak-balik copy kehilangan xattr. Juga pertimbangkan cadangan dan pemulihan data, dan pekerjaan potensial yang perlu diingatxattr
s selain uid / gid jika Anda ingin menegakkan keamanan berdasarkanxattr
s yang benar .sumber