Bestandsrechten in Linux / Unix: hoe lezen, schrijven en wijzigen?
Linux is een kloon van UNIX, het multi-user besturingssysteem dat door veel gebruikers tegelijk kan worden gebruikt. Linux kan ook worden gebruikt in mainframes en servers zonder enige aanpassingen. Maar dit roept beveiligingsproblemen op, omdat een ongevraagde of kwaadaardige gebruiker cruciale gegevens kan beschadigen, wijzigen of verwijderen. Voor effectieve beveiliging verdeelt Linux autorisatie in 2 niveaus.
- Eigendom
- Toestemming
Het concept van Linux-bestand toestemming en ownership is cruciaal in Linux. Hier zullen we Linux-rechten en -eigendom uitleggen en beide bespreken. Laten we beginnen met de Eigendom.
Klik hier als de video niet toegankelijk is
Eigendom van Linux-bestanden
Aan elk bestand en elke map op uw Unix/Linux-systeem worden 3 soorten eigenaars toegewezen, zoals hieronder weergegeven.
Gebruiker
Een gebruiker is de eigenaar van het bestand. Standaard wordt de persoon die een bestand heeft gemaakt de eigenaar. Daarom wordt een gebruiker soms ook een eigenaar genoemd.
Groep
Een gebruikersgroep kan meerdere gebruikers bevatten. Alle gebruikers die tot een groep behoren, hebben dezelfde Linux-groepsmachtigingen voor toegang tot het bestand. Stel, je hebt een project waarbij een aantal mensen toegang nodig hebben tot een bestand. In plaats van handmatig machtigingen toe te wijzen aan elke gebruiker, kunt u alle gebruikers aan een groep toevoegen en groepsmachtigingen toewijzen aan een bestand zodat alleen deze groepsleden en niemand anders de bestanden kunnen lezen of wijzigen.
Overige
Elke andere gebruiker die toegang heeft tot een bestand. Deze persoon heeft het bestand niet aangemaakt, noch behoort hij tot een gebruikersgroep die de eigenaar van het bestand zou kunnen zijn. In de praktijk betekent het alle anderen. Daarom, wanneer u de machtiging voor anderen instelt, wordt dit ook wel de machtigingen voor de wereld genoemd.
Nu rijst de grote vraag hoe werkt? Linux onderscheiden tussen deze drie gebruikerstypen, zodat een gebruiker 'A' geen invloed kan hebben op een bestand dat de vitale informatie/gegevens van een andere gebruiker 'B' bevat. Het is alsof je niet wilt dat je collega, die aan je werkt Linux-computer, om uw afbeeldingen te bekijken. Dit is waar machtigingen zetten in, en ze definiëren gebruikersgedrag.
Laten we het begrijpen Toestemming systeem op Linux.
Linux-bestandsmachtigingen
Voor elk bestand en elke map in uw UNIX/Linux-systeem zijn de volgende 3 machtigingen gedefinieerd voor alle 3 hierboven besproken eigenaren.
- Lezen: Deze toestemming geeft u de bevoegdheid om een bestand te openen en te lezen. Leesmachtiging voor een map geeft u de mogelijkheid om de inhoud ervan weer te geven.
- Schrijven: De schrijfmachtiging geeft u de bevoegdheid om de inhoud van een bestand te wijzigen. De schrijfmachtiging voor een directory geeft u de bevoegdheid om bestanden die in de directory zijn opgeslagen toe te voegen, te verwijderen en te hernoemen. Overweeg een scenario waarin u schrijfmachtiging in het bestand moet hebben, maar geen schrijfmachtiging hebt voor de map waarin het bestand is opgeslagen. U kunt de inhoud van het bestand wijzigen. Maar u kunt het bestand niet hernoemen, verplaatsen of verwijderen uit de map.
- Voer uit: In Windows, een uitvoerbaar programma heeft meestal de extensie “.exe” en kunt u eenvoudig uitvoeren. In Unix/Linux kunt u geen programma uitvoeren tenzij de uitvoertoestemming is ingesteld. Als de uitvoerrechten niet zijn ingesteld, kunt u de programmacode mogelijk nog steeds zien/wijzigen (mits de lees- en schrijfrechten zijn ingesteld), maar deze niet uitvoeren.
Laten we bestandsrechten in Linux bekijken met voorbeelden:
ls – ik op terminal geeft
ls - l
Hier hebben we gemarkeerd: '-rw-rw-r–'en deze vreemd uitziende code is degene die ons vertelt over de Unix-machtigingen die zijn gegeven aan de eigenaar, gebruikersgroep en de wereld.
Hier de eerste '-' houdt in dat we een bestand hebben geselecteerd.p>
Anders, als het een directory was, d zou zijn getoond.
De personages zijn vrij gemakkelijk te onthouden.
r = leesrechten
w = schrijf toestemming
x = toestemming uitvoeren
- = geen toestemming
Laten we het op deze manier bekijken.
Het eerste deel van de code is 'rw-'. Dit suggereert dat de eigenaar 'Home':
- Lees het bestand
- Schrijf of bewerk het bestand
- Hij kan het bestand niet uitvoeren omdat de execute-bit is ingesteld op '-'.
Door hun ontwerp zijn veel Linux-distributies zoals Fedora, CentOS, Ubuntu, enz. zullen gebruikers toevoegen aan een groep met dezelfde groepsnaam als de gebruikersnaam. Zo wordt een gebruiker 'tom' toegevoegd aan een groep met de naam 'tom'.
Het tweede deel is 'rw-'. Het voor de gebruikersgroep 'Home' en groepsleden kunnen:
- Lees het bestand
- Schrijf of bewerk het bestand
Het derde deel is voor de wereld, wat elke gebruiker betekent. Het zegt 'r-'. Dit betekent dat de gebruiker alleen:
- Lees het bestand
Bestands-/maprechten wijzigen in Linux Met behulp van de opdracht 'chmod'
Stel dat u niet wilt dat uw collega uw persoonlijke afbeeldingen ziet. Dit kan worden bereikt door de bestandsrechten te wijzigen.
Wij kunnen gebruik maken van de 'chmod' commando dat staat voor 'change mode'. Met behulp van de opdracht kunnen we machtigingen instellen (lezen, schrijven, uitvoeren) voor een bestand/map voor de eigenaar, groep en de wereld.
Syntax:
chmod permissions filename
Er zijn 2 manieren om de commando -
- Absolute modus
- Symbolische modus
Absolute (numerieke) modus in Linux
In deze modus, bestand machtigingen worden niet weergegeven als tekens, maar als een octaal getal van drie cijfers.
In de onderstaande tabel staan de aantallen voor alle machtigingstypen.
Telefoon Nummer | Toestemmingstype | Symbool |
---|---|---|
0 | Geen toestemming | - |
1 | Uitvoeren | -X |
2 | Schrijven | -W- |
3 | Uitvoeren + Schrijven | -wx |
4 | Lees | R- |
5 | Lezen + Uitvoeren | rx |
6 | Lezen + Schrijven | rw |
7 | Lezen + Schrijven + Uitvoeren | rwx |
Laten we de opdracht chmod-permissies in actie zien.
In het hierboven gegeven terminalvenster hebben we de rechten van het bestand 'sample' gewijzigd in '764'.
De absolute code '764' luidt als volgt:
- Eigenaar kan lezen, schrijven en uitvoeren
- Gebruikersgroep kan lezen en schrijven
- Wereld kan alleen lezen
Dit wordt weergegeven als '-rwxrw-r–
Dit is hoe u gebruikersrechten in Linux in het bestand kunt wijzigen door een absoluut aantal toe te wijzen.
Symbolische modus in Linux
In de Absolute-modus wijzigt u de rechten voor alle drie de eigenaren. In de symbolische modus kunt u de machtigingen van een specifieke eigenaar wijzigen. Het maakt gebruik van wiskundige symbolen om de Unix-bestandsrechten te wijzigen.
Operator | Technische Beschrijving |
---|---|
+ |
Voegt een machtiging toe aan een bestand of map |
- |
Verwijdert de toestemming |
= |
Stelt de machtiging in en overschrijft de eerder ingestelde machtigingen. |
De verschillende eigenaren zijn vertegenwoordigd als –
Gebruikersaanduidingen | |
---|---|
u |
gebruiker / eigenaar |
g |
groep |
o |
Overige |
a |
allen |
We zullen geen rechten gebruiken in getallen zoals 755, maar tekens zoals rwx. Laten we eens kijken naar een voorbeeld
Eigendom en groep wijzigen in Linux
Om het eigendom van een bestand/map te wijzigen, kunt u de volgende opdracht gebruiken:
chown user filename
Als u zowel de gebruiker als de groep voor een bestand of map wilt wijzigen, gebruikt u de opdracht
chown user:group filename
Laten we dit in actie zien
Als u alleen de groepseigenaar wilt wijzigen, gebruikt u het commando
chgrp group_name filename
'chgrp' staat voor verandergroep.
Tip
- Het bestand /etc/group bevat alle groepen die in het systeem zijn gedefinieerd
- U kunt het commando “groepen” gebruiken om alle groepen te vinden waarvan u lid bent
- U kunt de opdracht newgrp gebruiken om als lid van een andere groep dan uw standaardgroep te werken
- Er kunnen niet twee groepen zijn die eigenaar zijn van hetzelfde bestand.
- Je hebt geen geneste groepen in Linux. De ene groep kan geen subgroep van de andere zijn
- x- Het uitvoeren van een map betekent dat je een map mag “betreden” en mogelijke toegang krijgt tot submappen
- Er zijn nog andere machtigingen die u kunt instellen voor bestanden en mappen. Deze worden later in een geavanceerde tutorial behandeld.
Overzicht:
- Omdat Linux een systeem voor meerdere gebruikers is, worden machtigingen en eigendom gebruikt voor de veiligheid.
- Er zijn drie gebruikerstypen op een Linux-systeem, namelijk Gebruiker, Groep en Overig
- Linux verdeelt de bestandsrechten in lezen, schrijven en uitvoeren, aangegeven met r, w en x
- De machtigingen voor een bestand kunnen worden gewijzigd met de opdracht 'chmod', die verder kan worden onderverdeeld in Absolute en Symbolische modus
- Met de opdracht 'chown' kunt u het eigenaarschap van een bestand/directory wijzigen. Gebruik de volgende opdrachten: chown user file of chown user:group file
- Met het commando 'chgrp' kan het groepseigendom worden gewijzigd chrgrp groepsbestandsnaam
- Wat betekent x – een map uitvoeren? A: Het mogen “betreden” van een map en mogelijke toegang krijgen tot submappen.