Kif Issettja Listi ta' Kontroll ta' Aċċess (ACLs) u Kwoti tad-Disk għal Utenti u Gruppi
Listi ta 'Kontroll ta' Aċċess (magħrufa wkoll bħala ACLs) huma karatteristika tal-qalba tal-Linux li tippermetti li tiddefinixxi drittijiet ta 'aċċess aktar fini għal fajls u direttorji minn dawk speċifikati minn permessi regolari ugo/rwx.
Pereżempju, il-permessi standard ugo/rwx ma jippermettux li jiġu stabbiliti permessi differenti għal utenti jew gruppi individwali differenti. Bl-ACLs dan huwa relattivament faċli li tagħmel, kif se naraw f'dan l-artikolu.
Iċċekkjar tal-Kompatibbiltà tas-Sistema tal-Fajls mal-ACLs
Biex tiżgura li s-sistemi tal-fajls tiegħek bħalissa qed jappoġġjaw ACLs, għandek tiċċekkja li ġew immuntati bl-użu tal-għażla acl. Biex tagħmel dan, se nużaw tune2fs għal sistemi ta 'fajls ext2/3/4 kif indikat hawn taħt. Ibdel /dev/sda1 bl-apparat jew is-sistema tal-fajls li trid tiċċekkja:
# tune2fs -l /dev/sda1 | grep "Default mount options:"
Nota: B'XFS, Listi ta' Kontroll ta' Aċċess huma appoġġjati barra mill-kaxxa.
Fis-sistema tal-fajls ext4 li ġejja, nistgħu naraw li ACLs ġew attivati għal /dev/xvda2:
# tune2fs -l /dev/xvda2 | grep "Default mount options:"
Jekk il-kmand ta 'hawn fuq ma jindikax li s-sistema tal-fajls ġiet immuntata b'appoġġ għall-ACLs, huwa probabbli ħafna li l-għażla noacl tkun preżenti f'/etc/fstab.
F'dak il-każ, neħħiha, neħħi s-sistema tal-fajls, u mbagħad erġa' immuntaha, jew sempliċement ibda mill-ġdid is-sistema tiegħek wara li ssalva l-bidliet f'/etc/fstab.
Introduzzjoni ACLs fil-Linux
Biex nagħtu eżempju ta' kif jaħdmu l-ACLs, se nużaw grupp bl-isem ta' żviluppaturi u nżidu l-utenti walterwhite u saulgoodman (iva, jien fan ta' Breaking Bad!) miegħu.:
# groupadd developers # useradd walterwhite # useradd saulgoodman # usermod -a -G developers walterwhite # usermod -a -G developers saulgoodman
Qabel ma nipproċedu, ejja nivverifikaw li ż-żewġ utenti ġew miżjuda mal-grupp tal-iżviluppaturi:
# id walterwhite # id saulgoodman
Ejja issa noħolqu direttorju msejjaħ test f'/mnt, u fajl imsejjaħ acl.txt ġewwa (/mnt/test/acl.txt).
Imbagħad se nissettjaw is-sid tal-grupp għall-iżviluppaturi u nibdlu l-permessi default ugo/rwx tiegħu b'mod rikorsiv għal 770 (b'hekk nagħtu permessi ta' qari, tikteb u tesegwixxi mogħtija kemm lis-sid kif ukoll lis-sid tal-grupp tal-fajl):
# mkdir /mnt/test # touch /mnt/test/acl.txt # chgrp -R developers /mnt/test # chmod -R 770 /mnt/test
Kif mistenni, tista' tikteb lil /mnt/test/acl.txt bħala walterwhite jew saulgoodman:
# su - walterwhite # echo "My name is Walter White" > /mnt/test/acl.txt # exit # su - saulgoodman # echo "My name is Saul Goodman" >> /mnt/test/acl.txt # exit
S'issa tajjeb. Madankollu, dalwaqt naraw problema meta jkollna bżonn nagħtu aċċess għall-kitba għal /mnt/test/acl.txt għal utent ieħor li ma jkunx fil-grupp tal-iżviluppaturi.
Il-permessi standard ugo/rwx ikunu jeħtieġu li l-utent il-ġdid jiżdied mal-grupp tal-iżviluppaturi, iżda dan jagħtih l-istess permessi fuq l-oġġetti kollha tal-grupp. Dan huwa preċiżament fejn ACLs jiġu utli.
L-issettjar tal-ACL's fil-Linux
Hemm żewġ tipi ta 'ACLs: ACLs ta' aċċess huma (li huma applikati għal fajl jew direttorju), u ACLs default (mhux obbligatorji), li jistgħu jiġu applikati biss għal direttorju.
Jekk fajls ġewwa direttorju fejn ġie stabbilit ACL default ma jkollhomx ACL tagħhom stess, huma jirtu l-ACL default tad-direttorju prinċipali tagħhom.
Ejja nagħtu lill-utent gacanepa aċċess għall-qari u l-kitba għal /mnt/test/acl.txt. Qabel ma tagħmel dan, ejja nagħtu ħarsa lejn is-settings attwali tal-ACL f'dak id-direttorju bi:
# getfacl /mnt/test/acl.txt
Imbagħad ibdel l-ACLs fuq il-fajl, uża u:
segwit mill-isem tal-utent u :rw
biex tindika permessi ta' qari/kitba:
# setfacl -m u:gacanepa:rw /mnt/test/acl.txt
U run getfacl fuq il-fajl mill-ġdid biex tqabbel. L-immaġni li ġejja turi l-\Qabel u \Wara:
# getfacl /mnt/test/acl.txt
Sussegwentement, ikollna bżonn nagħtu lill-oħrajn il-permessi ta 'eżekuzzjoni fuq id-direttorju /mnt/test:
# chmod +x /mnt/test
Żomm f'moħħok li sabiex ikollok aċċess għall-kontenut ta 'direttorju, utent regolari jeħtieġ li jesegwixxi permessi fuq dak id-direttorju.
L-utent gacanepa issa għandu jkun jista’ jikteb fil-fajl. Aqleb għal dak il-kont tal-utent u wettaq il-kmand li ġej biex tikkonferma:
# echo "My name is Gabriel Cánepa" >> /mnt/test/acl.txt
Biex tissettja ACL default għal direttorju (li l-kontenut tiegħu se jiret sakemm ma jinkitebx mod ieħor), żid d:
qabel ir-regola u speċifika direttorju minflok isem tal-fajl:
# setfacl -m d:o:r /mnt/test # getfacl /mnt/test/
L-ACL ta' hawn fuq se jippermetti lill-utenti li mhumiex fil-grupp tas-sidien li jkollhom aċċess għall-qari għall-kontenut futur tad-direttorju /mnt/test. Innota d-differenza fl-output ta 'getfacl /mnt/test qabel u wara l-bidla:
Biex tneħħi ACL speċifiku, ibdel -m
fil-kmandi ta' hawn fuq b'-x
. Pereżempju,
# setfacl -x d:o /mnt/test
Inkella, tista' wkoll tuża l-għażla -b
biex tneħħi l-ACLs KOLLHA f'pass wieħed:
# setfacl -b /mnt/test
Għal aktar informazzjoni u eżempji dwar l-użu tal-ACLs, jekk jogħġbok irreferi għall-kapitolu 10, taqsima 2, tal-Gwida tas-Sigurtà ta’ openSUSE (disponibbli wkoll biex titniżżel mingħajr ħlas f’format PDF).
Issettja Kwoti tad-Disk Linux fuq l-Utenti u s-Sistemi tal-Fajls
L-ispazju tal-ħażna huwa riżorsa oħra li trid tintuża u tiġi mmonitorjata bir-reqqa. Biex tagħmel dan, il-kwoti jistgħu jiġu stabbiliti fuq bażi ta' sistema ta' fajls, jew għal utenti individwali jew għal gruppi.
Għalhekk, jitqiegħed limitu fuq l-użu tad-disk permess għal utent partikolari jew grupp speċifiku, u tista' sserraħ rasek li d-diski tiegħek mhux se jimtlew sal-kapaċità minn utent Ŝejjed (jew b'intenzjoni ħażina).
L-ewwel ħaġa li trid tagħmel sabiex tippermetti l-kwoti fuq sistema ta’ fajls hija li timmontaha bl-għażliet usrquota jew grpquota (għall-kwoti tal-utenti u tal-grupp, rispettivament) f’/etc/fstab.
Pereżempju, ejja nippermettu kwoti bbażati fuq l-utent fuq /dev/vg00/vol_backups u kwoti bbażati fuq gruppi fuq /dev/vg00/vol_projects.
Innota li l-UUID jintuża biex jidentifika kull sistema ta 'fajls.
UUID=f6d1eba2-9aed-40ea-99ac-75f4be05c05a /home/projects ext4 defaults,grpquota 0 0 UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4 defaults,usrquota 0 0
Żarma u erġa' mmunta ż-żewġ sistemi ta' fajls:
# umount /home/projects # umount /home/backups # mount -o remount /home/projects # mount -o remount /home/backups
Imbagħad iċċekkja li l-għażliet usrquota u grpquota huma preżenti fl-output tal-muntatura (ara enfasizzat hawn taħt):
# mount | grep vg00
Fl-aħħarnett, mexxi l-kmandi li ġejjin biex tibda u tippermetti l-kwoti:
# quotacheck -avugc # quotaon -vu /home/backups # quotaon -vg /home/projects
Cela dit, ejja issa nassenjaw kwoti lill-isem tal-utent u lill-grupp li semmejna qabel. Aktar tard tista' tiddiżattiva l-kwoti bi quotaoff.
L-issettjar tal-Kwoti tad-Disk tal-Linux
Ejja nibdew billi nissettjaw ACL fuq /home/backups għall-utent gacanepa, li se jagħtih jaqra, jikteb, u jesegwixxi permessi fuq dak id-direttorju:
# setfacl -m u:gacanepa:rwx /home/backups/
Imbagħad ma ',
# edquota -u gacanepa
Se nagħmlu l-limitu artab=900 u l-limitu iebes=1000 blokk (1024 bytes/blokk * 1000 blokk = 1024000 bytes = 1 MB) tal-użu tal-ispazju tad-diska.
Nistgħu wkoll inpoġġu limitu ta '20 u 25 bħala limiti artab u iebes fuq in-numru ta' fajls li dan l-utent jista 'joħloq.
Il-kmand ta 'hawn fuq se jniedi l-editur tat-test ($EDITOR) b'fajl temporanju fejn nistgħu nissettjaw il-limiti msemmija qabel:
Dawn is-settings se jikkawżaw twissija li tintwera lill-utent gacanepa meta jkun jew laħaq il-limiti ta '900-blokk jew 20-inode għal perjodu ta' grazzja default ta '7 ijiem.
Jekk is-sitwazzjoni tal-kwota żejda ma tkunx ġiet eliminata sa dak iż-żmien (per eżempju, billi jitneħħew fajls), il-limitu artab se jsir il-limitu iebes u dan l-utent jiġi evitat milli juża aktar spazju għall-ħażna jew joħloq aktar fajls.
Biex tittestja, ejja nħallu lill-utent gacanepa jipprova joħloq fajl vojt ta’ 2 MB bl-isem test1 ġewwa /home/backups:
# dd if=/dev/zero of=/home/backups/test1 bs=2M count=1 # ls -lh /home/backups/test1
Kif tistgħu taraw, il-fajl tal-operazzjoni tal-kitba jonqos minħabba li nqabżet il-kwota tad-disk. Peress li l-ewwel 1000 KB biss huma miktuba fuq disk, ir-riżultat f'dan il-każ x'aktarx ikun fajl korrott.
Bl-istess mod, tista 'toħloq ACL għall-gruppi tal-iżviluppaturi sabiex tagħti lill-membri ta' dak il-grupp aċċess rwx għal /home/projects:
# setfacl -m g:developers:rwx /home/projects/
U waqqaf il-limiti tal-kwota ma':
# edquota -g developers
Eżatt bħalma għamilna mal-utent gacanepa qabel.
Il-perjodu ta' grazzja jista' jiġi speċifikat għal kwalunkwe numru ta' sekondi, minuti, sigħat, ġranet, ġimgħat, jew xhur bl-eżekuzzjoni.
# edquota -t
u l-aġġornament tal-valuri taħt il-perjodu ta 'grazzja tal-Blokk u l-perjodu ta' grazzja Inode.
Għall-kuntrarju tal-użu tal-blokk jew inode (li huma stabbiliti fuq bażi ta 'utent jew grupp), il-perjodu ta' grazzja huwa stabbilit fis-sistema kollha.
Biex tirrapporta kwoti, tista' tuża kwota -u [utent]
jew kwota -g [grupp]
għal lista ta' malajr jew repquota -v [/path/to /filesystem]
għal rapport aktar dettaljat (verboż) u ifformattjat tajjeb.
Naturalment, tkun trid tissostitwixxi [utent]
, [grupp]
, u [/path/to/filesystem]
b'utent speċifiku/l-ismijiet tal-gruppi u s-sistema tal-fajls li trid tiċċekkja.
Sommarju
F'dan l-artikolu spjegajna kif nissettjaw Listi ta 'Kontroll ta' Aċċess u kwoti tad-disk għall-utenti u l-gruppi. Bl-użu tat-tnejn, tkun tista 'timmaniġġja l-permessi u l-użu tad-disk b'mod aktar effettiv.
Jekk trid titgħallem aktar dwar il-kwoti, tista' tirreferi għall-Kwota Mini-HowTo fil-Proġett ta' Dokumentazzjoni Linux.
M’għandniex xi ngħidu, tista’ wkoll toqgħod fuqna biex twieġeb il-mistoqsijiet. Ibgħathom biss billi tuża l-formola tal-kumment hawn taħt u nkunu aktar minn ferħanin li nagħtu ħarsa.