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.