Hallo almal. Hierdie is 'n vertaling van 'n artikel uit die boek RedHat RHCSA RHCE 7 RedHat Enterprise. Linux 7 EX200 en EX300.
Druk: Ek hoop dat die artikel nie net vir beginners nuttig sal wees nie, maar ook meer ervare administrateurs sal help om hul kennis te stroomlyn.
Dus, kom ons gaan.

Om toegang tot lĂȘers in te kry Linux, toestemmings word gebruik. Hierdie toestemmings word aan drie objekte toegeken: die lĂȘereienaar, die groepeienaar en 'n ander objek (d.w.s. almal anders). In hierdie artikel sal jy leer hoe om toestemmings toe te pas.
Hierdie artikel begin met 'n oorsig van die basiese konsepte, gevolg deur 'n bespreking van Spesiale toestemmings en Toegangsbeheerlyste (ACL's). Aan die einde van hierdie artikel dek ons ââdie instelling van verstektoestemmings via umask, sowel as die bestuur van uitgebreide gebruikerkenmerke.
Bestuur van lĂȘereienaarskap
Voordat u toestemmings bespreek, moet u bewus wees van die rol van lĂȘer- en gidseienaar. Eienaarskap van lĂȘers en gidse is noodsaaklik vir die hantering van toestemmings. In hierdie afdeling sal jy eers leer hoe jy die eienaar kan sien. Jy sal dan leer hoe om die groepeienaar en gebruiker vir lĂȘers en gidse te verander.
Vertoon die eienaar van 'n lĂȘer of gids
Đ Linux Elke lĂȘer en elke gids het twee eienaars: die gebruiker en die groepeienaar.
Hierdie eienaars word gestel wanneer 'n lĂȘer of gids geskep word. Die gebruiker wat die lĂȘer skep, word die eienaar van daardie lĂȘer, en die primĂȘre groep waaraan dieselfde gebruiker behoort, word ook die eienaar van daardie lĂȘer. Om te bepaal of jy as gebruiker toestemming het om toegang tot 'n lĂȘer of gids te kry, kyk die dop vir eienaarskap.
Dit gebeur in die volgende volgorde:
- Die dop kyk of jy die eienaar is van die lĂȘer waartoe jy toegang wil hĂȘ. As jy die eienaar is, kry jy toestemmings en die dop hou op om na te gaan.
- As jy nie die eienaar van die lĂȘer is nie, sal die dop kyk om te sien of jy 'n lid is van 'n groep wat toestemmings op die lĂȘer het. As jy 'n lid van hierdie groep is, sal jy toegang tot die lĂȘer kry met die toestemmings wat die groep gestel het, en die dop sal ophou kontroleer.
- As jy nie 'n gebruiker of die eienaar van 'n groep is nie, kry jy die regte van ander gebruikers (Ander).
Om die huidige eienaaropdragte te sien, kan jy die opdrag gebruik ls-l. Hierdie opdrag wys die gebruiker en eienaar van die groep. Hieronder kan jy die eienaarinstellings vir gidse in die /home-gids sien.
[root@server1 home]# ls -l
total 8
drwx------. 3 bob bob 74 Feb 6 10:13 bob
drwx------. 3 caroline caroline 74 Feb 6 10:13 caroline
drwx------. 3 fozia fozia 74 Feb 6 10:13 fozia
drwx------. 3 lara lara 74 Feb 6 10:13 lara
drwx------. 5 lisa lisa 4096 Feb 6 10:12 lisa
drwx------. 14 user user 4096 Feb 5 10:35 user
Gebruik die opdrag ls jy kan die eienaar van lĂȘers in 'n gegewe gids vertoon. Soms kan dit nuttig wees om 'n lys te kry van alle lĂȘers op die stelsel wat 'n gegewe gebruiker of groep as die eienaar het. Hiervoor kan jy gebruik vind. Argument vind-gebruiker kan vir hierdie doel gebruik word. Byvoorbeeld, die volgende opdrag lys alle lĂȘers wat deur die gebruiker linda besit word:
find / -user lindaU kan ook gebruik vind om te soek vir lĂȘers wat 'n sekere groep as hul eienaar het.
Byvoorbeeld, die volgende opdrag soek na alle lĂȘers wat aan die groep behoort gebruikers:
find / -group usersVerandering van eienaarskap
Om die toepaslike toestemmings toe te pas, is die eerste ding om te oorweeg eienaarskap. Daar is 'n opdrag hiervoor chown. Die sintaksis van hierdie opdrag is maklik om te verstaan:
chown ĐșŃĐŸ ŃŃĐŸByvoorbeeld, die volgende opdrag verander die eienaar van die /home/account-gids na die gebruiker linda:
chown linda /home/accountSpan chown het verskeie opsies, waarvan een veral nuttig is: -R. Jy kan raai wat dit doen, want hierdie opsie is ook beskikbaar vir baie ander opdragte. Dit laat jou toe om die eienaar rekursief te stel, wat jou toelaat om die eienaar van die huidige gids en alles hieronder te stel. Die volgende opdrag verander eienaarskap van die /home-gids en alles daaronder na die linda-gebruiker:
Nou lyk die eienaars so:
[root@localhost ~]# ls -l /home
total 0
drwx------. 2 account account 62 Sep 25 21:41 account
drwx------. 2 lisa lisa 62 Sep 25 21:42 lisa
Kom ons doen:
[root@localhost ~]# chown -R lisa /home/account
[root@localhost ~]#
Nou het die gebruiker lisa die eienaar van die rekeninggids geword:
[root@localhost ~]# ls -l /home
total 0
drwx------. 2 lisa account 62 Sep 25 21:41 account
drwx------. 2 lisa lisa 62 Sep 25 21:42 lisa
Verander die eienaar van 'n groep
Daar is twee maniere om die eienaarskap van 'n groep te verander. Jy kan dit doen deur chown, maar daar is 'n spesiale opdrag genaamd chgrpwat die werk doen. As jy die opdrag wil gebruik chown, gebruik . of : voor die groepnaam.
Die volgende opdrag verander enige eienaar van die /huis/rekeninggroep na die rekeninggroep:
chown .account /home/account
jy kan gebruik chown om die eienaar van 'n gebruiker en/of groep op verskeie maniere te verander. Hier is 'n paar voorbeelde:
- chown lisa myfile1 stel die gebruiker lisa as die eienaar van myfile1.
- chown lisa.sales myfile stel die gebruiker lisa as die eienaar van die myfile-lĂȘer, en stel ook die verkoopsgroep as die eienaar van dieselfde lĂȘer.
- chown lisa:verkope myfile dieselfde as die vorige opdrag.
- chown .sales myfile stel die verkoopsgroep as die eienaar van myfile sonder om die eienaar van die gebruiker te verander.
- chown :verkope myfile dieselfde as die vorige opdrag.
Jy kan die opdrag gebruik chgrpom die eienaar van die groep te verander. Oorweeg die volgende voorbeeld, waar jy kan gebruik chgrp stel die eienaar van die rekeninggids na die verkoopsgroep:
chgrp .sales /home/accountSoos met chown, kan jy die opsie gebruik -R Ń chgrp, asook die eienaar van die groep rekursief te verander.
Verstaan ââââdie verstek eienaar
Jy het dalk opgemerk dat wanneer 'n gebruiker 'n lĂȘer skep, die verstek eienaarskap toegepas word.
Die gebruiker wat die lĂȘer skep, word outomaties die eienaar van daardie lĂȘer, en daardie gebruiker se primĂȘre groep word outomaties die eienaar van daardie lĂȘer. Dit is gewoonlik die groep wat in die /etc/passwd-lĂȘer gelys word as die gebruiker se primĂȘre groep. As die gebruiker egter 'n lid van meer as een groep is, kan die gebruiker die effektiewe primĂȘre groep verander.
Om die huidige effektiewe primĂȘre groep te wys, kan die gebruiker die opdrag gebruik groepe:
[root@server1 ~]# groups lisa
lisa : lisa account sales
As die huidige linda-gebruiker die effektiewe primĂȘre groep wil verander, sal hy die opdrag gebruik nuwe grpgevolg deur die naam van die groep wat hy as die nuwe effektiewe primĂȘre groep wil stel. Nadat u die opdrag gebruik het nuwe grp die primĂȘre groep sal aktief wees totdat die gebruiker 'n opdrag invoer verlaat of nie afmeld nie.
Die volgende wys hoe die gebruiker linda hierdie opdrag gebruik, met verkope as die primĂȘre groep:
lisa@server1 ~]$ groups
lisa account sales
[lisa@server1 ~]$ newgrp sales
[lisa@server1 ~]$ groups
sales lisa account
[lisa@server1 ~]$ touch file1
[lisa@server1 ~]$ ls -l
total 0
-rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1
Nadat die effektiewe primĂȘre groep verander is, sal alle nuwe lĂȘers wat deur die gebruiker geskep is daardie groep as die groepeienaar hĂȘ. Om terug te keer na die oorspronklike primĂȘre groepinstelling, gebruik verlaat.
Om die opdrag te kan gebruik nuwe grp, moet die gebruiker 'n lid wees van die groep wat hulle as die primĂȘre groep wil gebruik. Daarbenewens kan 'n groepwagwoord gebruik word vir 'n groep wat die opdrag gebruik gpasswd. As die gebruiker die opdrag gebruik nuwe grpmaar nie 'n lid van die teikengroep is nie, vra die dop vir die groep se wagwoord. Nadat jy die korrekte groepwagwoord ingevoer het, sal 'n nuwe effektiewe primĂȘre groep gestig word.
Fundamentele regtebestuur
Toestemmingstelsel Linux is in die 1970's uitgevind. Omdat rekenaarbehoeftes destyds beperk was, was die basiese toestemmingstelsel redelik beperk. Hierdie toestemmingstelsel gebruik drie toestemmings wat op lĂȘers en gidse toegepas kan word. In hierdie afdeling sal jy leer hoe om hierdie toestemmings te gebruik en te wysig.
Verstaan ââlees-, skryf- en uitvoertoestemmings
Drie basiese toestemmings laat jou toe om lĂȘers te lees, skryf en uit te voer. Die effek van hierdie toestemmings verskil wanneer dit op lĂȘers of gidse toegepas word. Vir 'n lĂȘer gee die leestoestemming jou die reg om die lĂȘer oop te maak vir lees. Daarom kan jy die inhoud daarvan lees, maar dit beteken dat jou rekenaar die lĂȘer kan oopmaak om iets daarmee te doen.
'n ProgramlĂȘer wat toegang tot 'n biblioteek benodig, moet byvoorbeeld leestoegang tot daardie biblioteek hĂȘ. Dit volg dat die leestoestemming die mees basiese toestemming is wat jy nodig het om met lĂȘers te werk.
Wanneer dit op 'n gids toegepas word, laat leestoestemming jou toe om die inhoud van daardie gids te vertoon. Jy moet bewus wees dat hierdie toestemming jou nie toelaat om lĂȘers in die gids te lees nie. Die Toestemmingstelsel Linux ken nie oorerwing nie, en die enigste manier om 'n lĂȘer te lees is deur leesregte op daardie lĂȘer te gebruik.
Soos u waarskynlik kan raai, kan skryftoestemming, indien dit op 'n lĂȘer toegepas word, dit moontlik maak om na die lĂȘer te skryf. Met ander woorde, dit laat jou toe om die inhoud van bestaande lĂȘers te verander. Dit laat jou egter nie toe om nuwe lĂȘers te skep of uit te vee of lĂȘertoestemmings te verander nie. Om dit te doen, moet jy skryftoestemming gee aan die gids waar jy die lĂȘer wil skep. In dopgehou laat hierdie toestemming jou ook toe om nuwe subgidse te skep en uit te vee.
Uitvoertoestemming is wat jy nodig het om 'n lĂȘer uit te voer. Dit sal nooit by verstek gestel word nie, wat maak Linux Byna heeltemal immuun teen virusse. Slegs iemand met skryftoegang tot die gids kan uitvoerregte toepas.
Die volgende som die gebruik van basiese toestemmings op:

Met behulp van chmod
Die opdrag word gebruik om toestemmings te bestuur. chmod. Met behulp van chmod jy kan toestemmings vir die gebruiker (gebruiker), groepe (groep) en ander (ander) stel. Jy kan hierdie opdrag in twee modusse gebruik: relatiewe modus en absolute modus. In absolute modus word drie syfers gebruik om basiese toestemmings in te stel.

Wanneer u toestemmings instel, bereken die waarde wat u benodig. As jy lees/skryf/uitvoer vir gebruiker, lees/uitvoer vir groep en lees/uitvoer vir ander in /somefile wil stel, gebruik jy die volgende opdrag chmod:
chmod 755 /somefileWanneer jy gebruik chmod op hierdie manier word alle huidige toestemmings vervang deur die toestemmings wat jy stel.
As jy die toestemmings relatief tot die huidige toestemmings wil verander, kan jy gebruik chmod in relatiewe modus. Met behulp van chmod in relatiewe modus werk jy met drie aanwysers om aan te dui wat jy wil doen:
- Eerstens spesifiseer jy vir wie jy toestemmings wil verander. Om dit te doen, kan jy kies tussen gebruiker (u), groep (g) en ander (o).
- Jy gebruik dan 'n stelling om toestemmings van die huidige modus by te voeg of te verwyder, of stel dit absoluut.
- Aan die einde gebruik jy r, w Đž xom te spesifiseer watter toestemmings jy wil stel.
Wanneer u toestemmings in relatiewe modus verander, kan u die "na"-deel oorslaan om toestemming vir alle voorwerpe by te voeg of te verwyder. Byvoorbeeld, hierdie opdrag voeg uitvoertoestemming vir alle gebruikers by:
chmod +x somefileWanneer jy in relatiewe modus werk, kan jy ook meer komplekse opdragte gebruik. Byvoorbeeld, hierdie opdrag voeg skryftoestemming by 'n groep en verwyder leestoestemming vir ander:
chmod g+w,o-r somefileAs u gebruik chmod -R o+rx /data jy stel uitvoertoestemming vir alle gidse sowel as lĂȘers in die /data-gids. Om uitvoeringstoestemming slegs vir gidse te stel en nie vir lĂȘers nie, gebruik chmod -R o+ rX /data.
Die hoofletter X verseker dat lĂȘers nie uitvoertoestemming kry nie, tensy die lĂȘer reeds uitvoeringstoestemming vir sommige voorwerpe gestel het. Dit maak X 'n slimmer manier om uitvoeringstoestemmings te hanteer; dit sal vermy om hierdie toestemming op lĂȘers te stel waar dit nie vereis word nie.
Uitgebreide regte
Benewens die basiese toestemmings waaroor jy so pas gelees het, Linux Daar is ook 'n stel uitgebreide toestemmings. Dit is nie die toestemmings wat jy standaard stel nie, maar hulle kan soms 'n nuttige ekstra bied. In hierdie afdeling sal jy leer wat hulle is en hoe om hulle te konfigureer.
Verstaan ââSUID, GUID en Sticky Bit Extended Permissions
Daar is drie gevorderde toestemmings. Die eerste hiervan is die toestemming om 'n gebruikersidentifiseerder (SUID) te stel. In sommige spesiale gevalle kan u hierdie toestemming op uitvoerbare lĂȘers toepas. By verstek loop 'n gebruiker wat 'n uitvoerbare lĂȘer bestuur daardie lĂȘer met hul eie toestemmings.
Vir gewone gebruikers beteken dit gewoonlik dat die gebruik van die program beperk is. In sommige gevalle het die gebruiker egter spesiale toestemmings nodig, net om 'n spesifieke taak uit te voer.
Oorweeg byvoorbeeld 'n situasie waar 'n gebruiker hul wagwoord moet verander. Om dit te doen, moet die gebruiker hul nuwe wagwoord in die /etc/shadow-lĂȘer skryf. Hierdie lĂȘer is egter nie skryfbaar deur nie-wortelgebruikers nie:
root@hnl ~]# ls -l /etc/shadow
----------. 1 root root 1184 Apr 30 16:54 /etc/shadow
Die SUID-toestemming bied 'n oplossing vir hierdie probleem. Die /usr/bin/passwd-nutsding gebruik hierdie toestemming by verstek. Dit beteken dat wanneer die wagwoord verander word, die gebruiker tydelik root word, wat hom toelaat om na die /etc/shadow-lĂȘer te skryf. Jy kan die SUID-toestemming sien met ls-l hoe s in 'n posisie waar jy normaalweg sou verwag om te sien x vir persoonlike toestemmings:
[root@hnl ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32680 Jan 28 2010 /usr/bin/passwd
Die SUID-toestemming kan nuttig lyk (en in sommige gevalle is dit), maar dit is terselfdertyd potensieel gevaarlik. As dit nie korrek toegepas word nie, kan jy per ongeluk worteltoestemmings weggee. Daarom beveel ek aan om dit slegs met die grootste sorg te gebruik.
Die meeste administrateurs sal dit nooit hoef te gebruik nie; jy sal dit net in sommige lĂȘers sien waar die bedryfstelsel dit by verstek moet stel.
Die tweede spesiale toestemming is die groepidentifiseerder (SGID). Hierdie toestemming het twee effekte. Wanneer dit op 'n uitvoerbare lĂȘer toegepas word, gee dit die gebruiker wat die lĂȘer uitvoer die toestemmings van die lĂȘer se groepeienaar. SGID kan dus min of meer dieselfde ding as SUID doen. SGID word egter feitlik nie vir hierdie doel gebruik nie.
Soos met SUID-toestemming, word SGID as 'n verstekinstelling op sommige stelsellĂȘers toegepas.
Wanneer dit op 'n gids toegepas word, kan die SGID nuttig wees omdat jy dit kan gebruik om die verstekgroepeienaar te stel vir lĂȘers en subgidse wat in daardie gids geskep is. By verstek, wanneer 'n gebruiker 'n lĂȘer skep, word hul effektiewe primĂȘre groep gestel as die groepeienaar vir daardie lĂȘer.
Dit is nie altyd baie nuttig nie, veral omdat Red Hat-gebruikers/CentOS Die primĂȘre groep word ingestel op 'n groep met dieselfde naam as die gebruiker, waarvan die gebruiker die enigste lid is. Dit beteken dat lĂȘers wat die gebruiker skep, standaard deur die groep gedeel sal word.
Stel jou 'n situasie voor waar gebruikers Linda en Lori in rekeningkunde werk en lede van 'n groep is rekening. By verstek is hierdie gebruikers lede van 'n private groep waarvan hulle die enigste lid is. Beide gebruikers is egter lede van die rekeninggroep, maar ook as 'n sekondĂȘre groepparameter.
Die verstek situasie is dat wanneer enige van hierdie gebruikers 'n lĂȘer skep, die primĂȘre groep die eienaar word. Daarom, by verstek, kan linda nie toegang verkry tot lĂȘers wat deur lori geskep is nie, en omgekeerd. As jy egter 'n gedeelde groepgids skep (sĂȘ /groups/account) en verseker dat die SGID-toestemming op daardie gids toegepas word en dat die groeprekening as die groepeienaar vir daardie gids gestel is, sal alle lĂȘers wat in daardie gids geskep is en al van sy subgidse, kry ook die groeprekening as die groepeienaar by verstek.
Om hierdie rede is die SGID-toestemming 'n baie nuttige toestemming om op openbare groepgidse in te stel.
SGID-toestemming gewys in afvoer ls-l hoe s op die posisie waar jy normaalweg toestemming sou kry om 'n groep te voer:
[root@hnl data]# ls -ld account
drwxr-sr-x. 2 root account 4096 Apr 30 21:28 account
Die derde van die spesiale toestemmings is die taai bietjie. Hierdie toestemming is nuttig om lĂȘers te beskerm teen toevallige uitvee in 'n omgewing waar verskeie gebruikers skryftoegang tot dieselfde gids het. As 'n taai bietjie gebruik word, kan 'n gebruiker slegs 'n lĂȘer uitvee as hulle die gebruikereienaar is van die lĂȘer of gids wat die lĂȘer bevat. Om hierdie rede word dit gebruik as die verstektoestemming vir die /tmp-gids en kan dit ook nuttig wees vir publieke groepgidse.
Sonder die taai bietjie, as die gebruiker lĂȘers in 'n gids kan skep, kan hulle ook lĂȘers uit daardie gids verwyder. In 'n openbare groepomgewing kan dit irriterend wees. Stel jou voor die gebruikers linda en lori, wat albei skryftoestemmings het na die /data/rekeninggids en kry daardie toestemmings deur lede van die rekeninggroep te wees. Daarom kan linda lĂȘers wat deur lori geskep is, uitvee en omgekeerd.
Wanneer jy die taai bietjie toepas, kan die gebruiker slegs lĂȘers uitvee as een van die volgende voorwaardes waar is:
- Die gebruiker is die eienaar van die lĂȘer;
- Die gebruiker is die eienaar van die gids waar die lĂȘer geleĂ« is.
As u gebruik ls-l, jy kan die taai bietjie sien as t in die posisie waar jy normaalweg uitvoeringstoestemming vir ander sou sien:
[root@hnl data]# ls -ld account/
drwxr-sr-t. 2 root account 4096 Apr 30 21:28 account/
Toepassing van uitgebreide regte
Om SUID, SGID en sticky bit toe te pas kan jy ook gebruik chmod. SUID het 'n numeriese waarde van 4, SGID het 'n numeriese waarde van 2, en taai bis het 'n numeriese waarde van 1.
As jy hierdie toestemmings wil toepas, moet jy 'n viersyfer-argument byvoeg chmod, waarvan die eerste syfer na spesiale toestemmings verwys. Die volgende reël sal byvoorbeeld SGID-toestemming by die gids voeg en rwx vir gebruiker en rx vir groep en ander stel:
chmod 2755 /somedirDit is nogal onprakties as u die huidige toestemmings moet sien wat gestel is voordat u daarmee werk chmod in absolute modus. (Jy loop die risiko om toestemmings te oorskryf as jy dit nie doen nie.) Ek beveel dus aan om in relatiewe modus te hardloop as jy enige van die spesiale toestemmings moet toepas:
- Vir SUID gebruik chmod u+s.
- Vir SGID gebruik chmod g+s.
- Vir taai bietjie gebruik chmod +t, gevolg deur die naam van die lĂȘer of gids waarvoor jy toestemmings wil stel.
Die tabel som alles op wat jy moet weet oor die bestuur van spesiale toestemmings.

Voorbeeld van werk met spesiale regte
In hierdie voorbeeld gebruik jy spesiale toestemmings om dit vir groeplede makliker te maak om lĂȘers in die gedeelde groepgids te deel. Jy ken die ID-bietjie toe aan die stel groep-ID sowel as die taai bietjie, en jy sien dat sodra hulle gestel is, kenmerke bygevoeg word om dit makliker te maak vir groeplede om saam te werk.
- Maak 'n terminaal oop waar jy die linda-gebruiker is. Jy kan 'n gebruiker skep met die opdrag gebruikerbyvoeg linda, voeg wagwoord by paswd linda.
- Skep die /data-gids in die wortel en die /data/sales-subgids met die opdrag mkdir -p /data/verkope. Voltooi cd /data/verkopeom na die verkoopsgids te gaan. Voltooi raak linda1 Đž raak linda2om twee leĂ« lĂȘers te skep wat deur linda besit word.
- volg su-lisa om die huidige gebruiker oor te skakel na die gebruiker lisa, wat ook 'n lid van die verkoopsgroep is.
- volg cd /data/verkope en voer uit daardie gids uit ls-l. Jy sal twee lĂȘers sien wat deur die linda-gebruiker geskep is en aan die linda-groep behoort. Voltooi rm -f linda*. Dit sal beide lĂȘers verwyder.
- volg raak lisa1 Đž raak lisa2om twee lĂȘers te skep wat deur die gebruiker lisa besit word.
- volg su- om jou voorregte tot wortel te verhef.
- volg chmod g+s,o+t /data/verkopeom die groep identifiseerder (GUID) bietjie sowel as die taai bietjie in die gedeelde groep gids te stel.
- volg su-linda. Doen dan raak linda3 Đž raak linda4. Jy behoort nou te sien dat die twee lĂȘers wat jy geskep het, besit word deur die verkoopsgroep, wat die groepeienaar van die /data/sales-gids is.
- volg rm -rf lisa*. Die taai bietjie verhoed dat hierdie lĂȘers namens die linda-gebruiker uitgevee word, aangesien jy nie die eienaar van hierdie lĂȘers is nie. Let daarop dat as die linda-gebruiker die eienaar van die /data/sales-gids is, hulle hierdie lĂȘers in elk geval kan uitvee!
ACL-bestuur (setfacl, getfacl) in Linux
Alhoewel die uitgebreide regte wat hierbo bespreek is, nuttige funksionaliteit byvoeg tot hoe Linux werk met toestemmings, dit laat jou nie toe om toestemmings aan meer as een gebruiker of een groep in een lĂȘer te gee nie.
Toegangsbeheerlyste bied hierdie kenmerk. Boonop laat hulle administrateurs toe om verstektoestemmings op 'n komplekse manier in te stel, waar die vasgestelde toestemmings van gids tot gids kan verskil.
Verstaan ââACL's
Alhoewel die ACL-substelsel groot funksionaliteit by jou bediener voeg, het dit een nadeel: nie alle nutsprogramme ondersteun dit nie. Daarom kan jy jou ACL-instellings verloor wanneer jy lĂȘers kopieer of skuif, en jou rugsteunsagteware kan dalk nie jou ACL-instellings rugsteun nie.
Die teer-hulpprogram ondersteun nie ACL's nie. Om seker te maak dat ACL-instellings nie verlore gaan wanneer jy 'n rugsteun skep nie, gebruik ster in plaas van teer. ster werk met dieselfde opsies as teer; dit voeg net ondersteuning vir ACL-instellings by.
U kan ook ACL's rugsteun met getfacl, wat met die setfacl-opdrag herstel kan word. Om 'n rugsteun te skep, gebruik getfacl -R /gids > file.acls. Om instellings vanaf 'n rugsteunlĂȘer terug te stel, gebruik setfacl --restore=lĂȘer.acl.
Gebrek aan ondersteuning deur sommige gereedskap behoort nie 'n probleem te wees nie. ACL's word dikwels op gidse toegepas as 'n strukturele maatreĂ«l eerder as op individuele lĂȘers.
Daarom sal daar nie baie van hulle nie, maar slegs 'n paar, op slim plekke in die lĂȘerstelsel toegepas word. Daarom is die herstel van die oorspronklike ACL's waarmee u gewerk het relatief maklik, selfs al ondersteun u rugsteunsagteware dit nie.
Berei die lĂȘerstelsel voor vir ACL's
Voordat jy met ACL'e begin werk, moet jy dalk jou lĂȘerstelsel voorberei om ACL's te ondersteun. Omdat lĂȘerstelsel-metadata uitgebrei moet word, is daar nie altyd verstekondersteuning vir ACL's in die lĂȘerstelsel nie. As jy 'n "bewerking nie ondersteun nie"-boodskap kry wanneer jy ACL's vir 'n lĂȘerstelsel opstel, sal jou lĂȘerstelsel dalk nie ACL's ondersteun nie.
Om dit reg te stel, moet jy die opsie byvoeg acl berg in /etc/fstab sodat die lĂȘerstelsel by verstek met ACL-ondersteuning gemonteer is.
Verander en bekyk ACL-instellings met setfacl en getfacl
Om 'n ACL te stel, benodig jy die opdrag setfacl. Om die huidige ACL-instellings te sien, benodig jy getfacl. Span ls-l toon geen bestaande ACL's nie; dit wys net 'n + na die toestemmingslys, wat aandui dat die ACL's ook op die lĂȘer van toepassing is.
Voordat u ACL's opstel, is dit altyd 'n goeie idee om die huidige ACL-instellings mee te wys getfacl. In die voorbeeld hieronder, kan jy die huidige toestemmings sien, soos getoon met ls-l, en ook soos getoon met getfacl. As jy mooi genoeg kyk, sal jy sien dat die inligting wat gewys word presies dieselfde is.
[root@server1 /]# ls -ld /dir
drwxr-xr-x. 2 root root 6 Feb 6 11:28 /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
As gevolg van die uitvoering van die opdrag getfacl hieronder kan jy sien dat die toestemmings vir drie verskillende voorwerpe gewys word: gebruiker, groep en ander. Kom ons voeg nou 'n ACL by om lees- en uitvoertoestemmings ook aan die verkoopsgroep te gee. opdrag hiervoor setfacl -mg:verkope:rx /dir. In hierdie span -m dui aan dat die huidige ACL-instellings verander moet word. Na dit g:verkope:rx vertel die opdrag om die lees-uitvoer ACL (rx) vir die groep (g) verkope. Hieronder kan u sien hoe die opdrag lyk, sowel as die uitvoer van die getfacl-opdrag nadat u die huidige ACL-instellings verander het.
[root@server1 /]# setfacl -m g:sales:rx /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
group:sales:r-x
mask::r-x
other::r-x
Noudat jy verstaan ââhoe om 'n groep ACL op te stel, is dit maklik om ACL's vir gebruikers en ander gebruikers te verstaan. Byvoorbeeld, die opdrag setfacl -mu:linda:rwx /data gee toestemmings aan die gebruiker linda in die /data-gids sonder om hom die eienaar te maak of die opdrag van die huidige eienaar te verander.
Span setfacl het baie funksies en opsies. Een opsie is veral belangrik, die parameter -R. As dit gebruik word, maak die opsie die ACL ingestel vir alle lĂȘers en subgidse wat tans bestaan ââin die gids waar jy die ACL stel. Dit word aanbeveel dat u altyd hierdie opsie gebruik wanneer u ACL's vir bestaande gidse verander.
Werk met verstek ACL's
Een van die voordele van die gebruik van ACL's is dat jy toestemmings aan verskeie gebruikers of groepe in 'n gids kan gee. Nog 'n voordeel is dat jy oorerwing kan aktiveer deur met die verstek ACL'e te werk.
Deur die verstek ACL te stel, bepaal jy die toestemmings wat gestel sal word vir alle nuwe items wat in die gids geskep word. Wees bewus daarvan dat die verstek ACL nie toestemmings op bestaande lĂȘers en subgidse verander nie. Om dit te verander, moet jy ook 'n normale ACL byvoeg!
Dit is belangrik om te weet. As jy 'n ACL wil gebruik om verskeie gebruikers of groepe te konfigureer om toegang tot dieselfde gids te verkry, moet jy die ACL twee keer stel. Eerste gebruik setfacl -R -mom ACL's vir huidige lĂȘers te verander. Gebruik dan setfacl-md:om te sorg vir alle nuwe elemente wat ook geskep sal word.
Om die verstek ACL te stel, hoef jy net die opsie by te voeg d na opsie -m (Bestelling maak saak!). Gebruik dus setfacl -md:g:verkope:rx /dataas jy wil hĂȘ dat groepverkope alles wat ooit in die /data-gids geskep is, moet lees en uitvoer.
Wanneer verstek ACL'e gebruik word, kan dit ook nuttig wees om ACL's vir ander te stel. Dit maak gewoonlik nie veel sin nie, want jy kan ook die toestemmings verander vir ander wat dit gebruik chmod. Waarmee jy egter nie kan doen nie chmod, is om die regte te spesifiseer wat aan ander gebruikers toegestaan ââmoet word vir elke nuwe lĂȘer wat ooit geskep word. As jy wil verhoed dat ander enige toestemmings kry op enigiets wat in /data geskep is, gebruik byvoorbeeld setfacl -md:o::- /data.
ACL's en normale toestemmings is nie altyd goed geĂŻntegreer nie. Probleme kan ontstaan ââas jy 'n verstek ACL op 'n gids toepas, dan word items by daardie gids gevoeg, en dan probeer om die normale toestemmings te verander. Veranderinge wat op gereelde toestemmings van toepassing is, sal nie goed in die ACL-oorsig weerspieĂ«l word nie. Om probleme te vermy, stel eers normale toestemmings in, stel dan die verstek ACL's in (en probeer om dit daarna nie weer te verander nie).
Voorbeeld van verhoogde regtebestuur deur gebruik te maak van ACL's
In hierdie voorbeeld sal jy voortgaan met die /data/account en /data/sales-gidse wat jy vroeër geskep het. In die vorige voorbeelde het jy verseker dat die verkoopsgroep toestemmings het op /data/verkope en die rekeninggroep het toestemmings op /data/rekening.
Maak eers seker dat die rekeninggroep leestoestemmings op die /data/verkope-gids kry en die verkoopsgroep kry leestoestemmings op die /data/rekeninggids.
Jy stel dan verstek ACL's om seker te maak dat alle nuwe lĂȘers die korrekte toestemmings het vir alle nuwe items.
- Maak 'n terminaal oop.
- volg setfacl -mg:rekening:rx /data/verkope Đž setfacl -mg:verkope:rx /data/rekening.
- volg getfaclom seker te maak dat die toestemmings gestel is soos jy wou.
- volg setfacl -md:g:rekening:rwx,g:verkope:rx /data/verkopeom die verstek ACL vir die verkoopsgids te stel.
- Voeg 'n verstek ACL by vir die /data/account-gids deur gebruik te maak van setfacl -md:g:verkope:rwx,g:rekening:rx /data/rekening.
- Verifieer dat die ACL-instellings in werking is deur 'n nuwe lĂȘer by /data/sales by te voeg. Voltooi raak /data/verkope/nuwe lĂȘer aan en uitvoer getfacl /data/verkope/newfile om huidige toestemmings na te gaan.
Stel verstektoestemmings met umask
Hierbo het jy geleer hoe om met verstek ACL's te werk. As jy nie 'n ACL gebruik nie, is daar 'n dopopsie wat die verstektoestemmings bepaal wat jy sal kry: umask (omgekeerde masker). In hierdie afdeling sal jy leer hoe om die verstektoestemmings te verander met umask.
Jy het dalk opgemerk dat wanneer jy 'n nuwe lĂȘer skep, sommige verstektoestemmings gestel word. Hierdie toestemmings word deur die instelling bepaal umask. Hierdie dopinstelling is van toepassing op alle gebruikers by aanmelding. In parameter umask 'n numeriese waarde word gebruik, wat afgetrek word van die maksimum toestemmings wat outomaties vir die lĂȘer gestel kan word; die maksimum instelling vir lĂȘers is 666 en vir gidse is 777.
Sommige uitsonderings geld egter op hierdie reël. Jy kan 'n volledige oorsig van instellings vind umask in die tabel hieronder.
Van die getalle wat gebruik word in umask, soos in die geval van numeriese argumente vir die opdrag chmod, die eerste syfer verwys na die gebruiker se toestemmings, die tweede syfer verwys na die groep se toestemmings, en die laaste verwys na die verstektoestemmings wat vir ander gestel is. Betekenis umask die verstek 022 gee 644 vir alle nuwe lĂȘers en 755 vir alle nuwe gidse wat op jou bediener geskep is.
Volledige oorsig van alle numeriese waardes umask en hul resultate in die tabel hieronder.

'n Maklike manier om te sien hoe die umask-instelling werk, is soos volg: begin met die lĂȘer se verstektoestemmings wat op 666 gestel is en trek die umask af om die effektiewe toestemmings te kry. Doen dieselfde vir die gids en sy verstektoestemmings van 777.
Daar is twee maniere om die umask-instelling te verander: vir alle gebruikers en vir individuele gebruikers. As jy die umask vir alle gebruikers wil stel, moet jy verseker dat die umask-instelling in ag geneem word wanneer dopomgewinglĂȘers begin word, soos gespesifiseer in /etc/profile. Die korrekte benadering is om 'n dop script genaamd umask.sh te skep in die /etc/profile.d gids en spesifiseer die umask wat jy in daardie dop script wil gebruik. As die umask in hierdie lĂȘer verander word, word dit op alle gebruikers toegepas nadat hulle by die bediener aangemeld het.
'n Alternatief vir die opstel van die umask via /etc/profile en verwante lĂȘers, waar dit van toepassing is op alle gebruikers wat aanmeld, is om die umask-instellings te verander in 'n lĂȘer genaamd .profile wat in elke gebruiker se tuisgids geskep word.
Die instellings wat in hierdie lĂȘer toegepas word, is slegs van toepassing op die individuele gebruiker; daarom is dit 'n goeie metode as jy meer besonderhede benodig. Ek hou persoonlik van hierdie kenmerk om die verstek umask vir die wortelgebruiker na 027 te verander terwyl normale gebruikers met die verstek umask van 022 loop.
Werk met uitgebreide gebruikerskenmerke
Dit is die laaste afdeling oor regte in Linux.
Wanneer daar met toestemmings gewerk word, is daar altyd 'n verband tussen 'n gebruiker- of groepobjek en die toestemmings wat daardie gebruiker- of groepobjekte op 'n lĂȘer of gids het. 'n Alternatiewe metode om lĂȘers op 'n bediener te beveilig. Linux â werk met eienskappe.
Eienskappe doen hul werk ongeag die gebruiker wat toegang tot die lĂȘer het.
Soos met ACL's, moet lĂȘerkenmerke dalk die opsie insluit berg.
Dit is 'n opsie gebruiker_xattr. As jy 'n "bewerking nie ondersteun nie"-boodskap kry wanneer jy met uitgebreide gebruikerskenmerke werk, maak seker dat jy die parameter stel berg in /etc/fstab.
Baie eienskappe is gedokumenteer. Sommige kenmerke is beskikbaar, maar nog nie geĂŻmplementeer nie. Moenie hulle gebruik nie; hulle sal vir jou niks bring nie.
Hieronder is die nuttigste eienskappe wat jy kan toepas:
A Hierdie kenmerk verseker dat die lĂȘer se lĂȘertoegangstyd nie verander nie.
Tipies, elke keer as 'n lĂȘer oopgemaak word, moet die lĂȘer se toegangstyd in die lĂȘer se metadata aangeteken word. Dit beĂŻnvloed prestasie negatief; dus vir lĂȘers wat gereeld toegang verkry word, die kenmerk A kan gebruik word om hierdie kenmerk te deaktiveer.
a Hierdie kenmerk laat jou toe om 'n lĂȘer by te voeg maar nie te verwyder nie.
c As jy 'n lĂȘerstelsel gebruik wat volumevlak-kompressie ondersteun, verseker hierdie lĂȘerkenmerk dat die lĂȘer saamgepers word die eerste keer dat die kompressiemeganisme geaktiveer word.
D Hierdie kenmerk verseker dat veranderinge aan lĂȘers onmiddellik na skyf geskryf word eerder as om eers in die kas te kas. Dit is 'n nuttige kenmerk op belangrike databasislĂȘers om seker te maak dat hulle nie tussen die lĂȘerkas en die hardeskyf verlore raak nie.
d Hierdie kenmerk verseker dat die lĂȘer nie in rugsteun gestoor sal word waar die stortingshulpmiddel gebruik word nie.
I Hierdie kenmerk maak indeksering moontlik vir die gids waarin dit geaktiveer is. Dit bied vinniger lĂȘertoegang vir primitiewe lĂȘerstelsels soos Ext3 wat nie die B-boom databasis vir vinnige lĂȘertoegang gebruik nie.
i Hierdie kenmerk maak die lĂȘer onveranderlik. Daarom kan geen veranderinge aan die lĂȘer gemaak word nie, wat nuttig is vir lĂȘers wat addisionele beskerming benodig.
j Hierdie kenmerk verseker dat, op 'n ext3-lĂȘerstelsel, die lĂȘer eers na die joernaal geskryf word en dan na datablokke op die hardeskyf.
s Oorskryf die blokke waarin die lĂȘer gestoor is tot 0'e nadat die lĂȘer uitgevee is. Dit verseker dat die lĂȘer nie herstel kan word sodra dit uitgevee is nie.
u Hierdie kenmerk stoor inligting oor die uitvee. Dit laat jou toe om 'n hulpprogram te ontwikkel wat met hierdie inligting werk om geskrap lĂȘers te red.
As jy die eienskappe wil toepas, kan jy die opdrag gebruik gesels. Gebruik byvoorbeeld chattr +s een of ander lĂȘerom eienskappe op een of ander lĂȘer toe te pas. Moet 'n kenmerk verwyder? Gebruik dan chattr -s een of ander lĂȘeren dit sal verwyder word. Om 'n oorsig te kry van alle eienskappe wat tans toegepas word, gebruik die opdrag lsattr.
Opsomming
In hierdie artikel het jy geleer hoe om met toestemmings te werk. U lees oor die drie basiese toestemmings, gevorderde toestemmings en hoe om ACL's op 'n lĂȘerstelsel toe te pas. Jy het ook geleer hoe om die umask-opsie te gebruik om verstektoestemmings toe te pas. Aan die einde van hierdie artikel het jy geleer hoe om gebruiker-uitgebreide kenmerke te gebruik om 'n bykomende laag lĂȘerstelselsekuriteit toe te pas.
As jy van hierdie vertaling gehou het, skryf asseblief daaroor in die kommentaar. Daar sal meer motivering wees om nuttige vertalings te maak.
Het 'n paar tik- en grammatikale foute in die artikel reggestel. Het sommige lywige paragrawe in kleineres verminder vir beter leesbaarheid.
In plaas van "Slegs iemand met administratiewe regte op die gids kan uitvoertoestemming toepas." vasgestel aan "Slegs iemand met skryftoestemmings op die gids kan uitvoertoestemming toepas.", wat meer korrek sou wees.
Dankie vir die kommentaar .
Vervang:
As jy nie die eienaar van die gebruiker is nie, sal die dop kyk om te sien of jy 'n lid van 'n groep is, ook bekend as die groep van die lĂȘer.Op die:
As jy nie die eienaar van die lĂȘer is nie, sal die dop kyk om te sien of jy 'n lid is van 'n groep wat toestemmings op die lĂȘer het. As jy 'n lid van hierdie groep is, sal jy toegang tot die lĂȘer kry met die toestemmings wat die groep gestel het, en die dop sal ophou kontroleer.Dankie vir jou kommentaar
Bron: will.com
