unix

Inzicht in Linux-bestandsmachtigingen en eigendom

Inzicht in Linux-bestandsmachtigingen en eigendom
Linux-besturingssysteem, dat een kloon van UNIX is, is ontwikkeld om meerdere gebruikers aan te kunnen met multitasking-functies. Dit betekent dat er meer dan één gebruiker tegelijkertijd in deze modus kan werken wanneer de computer is aangesloten op een netwerk of internet. De externe gebruikers kunnen via SSH verbinding maken met de computer die het Linux-besturingssysteem bevat en op het systeem werken. Het is erg belangrijk om de beveiliging te handhaven wanneer meerdere gebruikers tegelijkertijd in hetzelfde besturingssysteem werken. Er zijn veel ingebouwde beveiligingsfuncties in het Linux-besturingssysteem die kunnen worden gebruikt wanneer lokale of externe toegang wordt verleend door verschillende gebruikers. De Linux-gebruikers moeten het concept van bestandsrechten en het eigendom van het bestand begrijpen om beveiliging op bestandssysteemniveau te bieden. Hoe de Linux-gebruikers de machtigingen kunnen bekijken en wijzigen, en het eigendom van het bestand en de mappen wordt in dit artikel getoond.

Vereisten:

De gebruikers moeten de manier kennen om de opdracht vanaf de terminal uit te voeren en de basiskennis van het maken van bestanden en mappen in het Linux-besturingssysteem om de opdrachten die in dit artikel worden gebruikt uit te voeren en te begrijpen.

Inhoud van dit artikel:

Het volgende concept en de volgende taken met betrekking tot de bestandsmachtiging en eigendom worden in dit artikel behandeld.

  1. Soorten gebruikers
  2. Toestemmingstypen
  3. Machtigingen controleren
  4. Toestemming wijzigen met chmod
  5. Eigendom wijzigen met chown

Soorten gebruikers:

Er zijn drie soorten gebruikers in het Linux-besturingssysteem, die hieronder worden vermeld:.

Eigenaar:

De gebruiker die het bestand of de map aanmaakt, is de eigenaar van dat bestand of die map, en de eigenaar kan de andere typen gebruikers toegang geven tot dat bestand en die map. Het wordt aangeduid met 'jij'.

Groep:

Elke gebruiker kan tot een bepaalde groep in Linux behoren. Dus wanneer een gebruiker een bestand of map aanmaakt, hebben andere leden van de groep waartoe de gebruiker behoort toegang tot het bestand of de map. Wanneer meerdere gebruikers aan een bepaalde map werken, is het beter om een ​​groep te maken met die gebruikers om die map goed te kunnen benaderen. Het wordt aangeduid met 'g'.

Overige/Alle:

Het geeft een gebruiker aan die niet de eigenaar is van een bepaald bestand of bepaalde map en niet tot de groep van de eigenaar van het bestand of de map behoort. Als de eigenaar van het bestand of de map anderen toegangsrechten geeft, kunnen alle gebruikers die specifieke toegang alleen doen. 'O' wordt gebruikt om andere gebruikers aan te duiden, en 'een' wordt gebruikt om alle gebruikers aan te duiden.

Toestemmingstypen:

Er zijn drie soorten machtigingen in het Linux-systeem, die hieronder worden vermeld:.

Lezen:

Deze toestemming wordt alleen gebruikt om elk bestand of elke map te lezen. Het wordt aangeduid met 'r' wanneer het wordt gedefinieerd door teken, en het wordt aangeduid met 4 wanneer het wordt gedefinieerd door een getal.

Schrijven:

Deze toestemming wordt gebruikt om een ​​bestand of map te schrijven, toe te voegen of te overschrijven. Het wordt aangeduid met 'met wie' wanneer het wordt gedefinieerd door het teken, en het wordt aangeduid met 2 wanneer het wordt gedefinieerd door het nummer. Als de gebruiker toestemming moet schrijven voor een bestand, maar hij/zij geen toestemming hoeft te schrijven voor de map waarin het bestand zich bevindt, dan kan de gebruiker alleen de inhoud van het bestand wijzigen, maar hij/zij kan de naam niet wijzigen , verplaats of verwijder het bestand.

uitvoeren:

Deze toestemming wordt alleen gebruikt om elk bestand uit te voeren. Het wordt aangeduid met 'X' wanneer het wordt gedefinieerd door het teken, en het wordt aangeduid met 1 wanneer het wordt gedefinieerd door het nummer.

Controleer machtigingen:

Voer de volgende opdracht uit om de machtigingen van alle bestanden en voeders van de huidige map te controleren:.

$ ls -l

De uitvoer toont zeven kolommen. De eerste kolom toont de machtigingen van het specifieke bestand en de mappen. De eerste kolom heeft vier delen die 10 bits bevatten. Het eerste deel bevat 1 bit dat het bestand of de map of de symbolische link aangeeft. De map wordt aangegeven met het teken 'd', het bestand wordt aangegeven met '-' en de link wordt aangegeven met het teken 'ik'. Het tweede deel bevat 3 bits die de permissiebits bevatten voor de eigenaar van het bestand of de map. Het derde deel bevat 3 bits die de permissiebits bevatten voor de groepsgebruikers. Het vierde deel bevat 3 bits die toestemmingsbits bevatten voor andere gebruikers. De permissiebits van de huidige directorylijst zien eruit als de eerste kolom van de volgende afbeelding:.


Volgens de bovenstaande toestemmingsbits geeft het eerste bit aan dat het de toestemmingen van een bestand toont. De volgende drie bits geven aan dat de eigenaar van het bestand lees-, schrijf- en toegangsrechten heeft. De volgende drie bits geven aan dat de groepsgebruikers lees- en schrijfrechten hebben. De laatste drie bits geven aan dat andere gebruikers het bestand alleen kunnen lezen. Hoe de standaardpermissiebits kunnen worden gewijzigd door verschillende Linux-commando's te gebruiken, wordt getoond in het volgende deel van het artikel.

Toestemming wijzigen met chmod:

chmod commando wordt gebruikt om de permissiebits van het bestand of de map te wijzigen. De volledige vorm van dit commando is om de bestandsmodus te wijzigen. De eigenaar van het bestand en de rootgebruiker kunnen de permissiebits van het bestand en de map wijzigen. Elke toestemming voor elke gebruiker kan worden gegeven en ingetrokken voor het bestand en de map met behulp van chmod.

Syntaxis:

chmod [Toestemming][Pad van bestand of map]

De permissiebits kunnen worden gedefinieerd door expliciete en binaire verwijzingen, die worden uitgelegd in het volgende deel van deze tutorial.

Stel machtigingen in symbolische modus in:

'jij', 'g', en 'O' karakters worden gebruikt voor gebruikerstypes, en 'r', 'met wie', en 'X'-tekens worden gebruikt voor machtigingstypen in de symbolische modus. Hoe de toestemming kan worden ingesteld voor bestand en map wordt getoond in het volgende deel van de tutorial. De volgende tabel toont de lijst met wiskundige symbolen die worden gebruikt om machtigingsbits voor het bestand of de map in te stellen, opnieuw in te stellen en te verwijderen.

Operator Doel
+ Het wordt gebruikt om de machtigingen voor het specifieke bestand of de map toe te voegen of toe te wijzen.
= Het wordt gebruikt om de machtigingen voor het specifieke bestand of de map opnieuw toe te wijzen.
- Het wordt gebruikt om de machtigingen van het specifieke bestand of de map te verwijderen.

Bestandsmachtigingen:

Enkele voorbeelden van het toevoegen en verwijderen van toestemmingsbits van het bestand worden getoond in de volgende voorbeelden:. Voer de volgende opdrachten uit om de huidige machtigingsbits van het specifieke mappad te controleren:, /projecten/bak/ die in het systeem bestaat. Deze opdracht retourneert de lange lijst met bestanden en mappen in omgekeerde volgorde met de machtigingsbits.

$ ls -lr

De uitvoer laat zien dat de projecten/bak directory bevat twee mappen en zeven bestanden.

Voorbeeld-1: Uitvoerrechten instellen voor de eigenaar van een bestand

Voer de volgende opdrachten uit om de to uitvoeren(x) toestemmingsbit voor de eigenaar(u) van het bestand, app.py, en controleer de toestemmingsbits opnieuw na het uitvoeren van de chmod opdracht.

$ chmod u+x-app.py
$ ls -lr

De volgende uitvoer laat zien dat de permissiebits voor app.py zijn veranderd in
- r w x r w - r - -. De uitvoeren(x) toestemming is toegewezen aan de eigenaar.

Voorbeeld-2: schrijf- en uitvoerrechten instellen voor elke gebruiker van een bestand

Voer de volgende opdracht uit om in te stellen: schrijf(w) en uitvoeren(x) machtigingen voor alle gebruikers voor het bestand app2.py en controleer de toestemmingsbits opnieuw na het uitvoeren van de chmod opdracht.

$ chmod a+wx app2.py
$ ls -lr

De volgende uitvoer laat zien dat de permissiebits voor app2.py zijn veranderd in
- r w x r w x r w x. De auteur) en uitvoeren(x) machtigingen worden toegewezen aan elke gebruiker voor dit bestand.

Voorbeeld-3: Machtiging opnieuw instellen voor groepsgebruikers van een bestand

Voer de volgende opdracht uit om de machtigingen opnieuw in te stellen voor: groep gebruikers voor het bestand app3.py en controleer de toestemmingsbits opnieuw na het uitvoeren van de chmod opdracht. Hier de uitvoeren(x) toestemmingsbit wordt alleen ingesteld voor de groep gebruikers, en lees(r) en auteur) machtigingen worden ingetrokken.

$ chmod g=x app3.py
$ ls -lr

De volgende uitvoer laat zien dat de permissiebits voor app3.py zijn veranderd in
- r w - - - x r - -. De execute(x)-machtiging wordt alleen toegewezen aan de groepsgebruikers.

Voorbeeld-4: Leesmachtiging is ingetrokken van anderen

Voer de volgende opdracht uit om te verwijderen: lees(r) toestemmingsbit voor anderen voor het bestand app4.py en controleer de toestemmingsbits opnieuw na het uitvoeren van de chmod opdracht.

$ chmod o-r app4.py
$ ls -lr

De volgende uitvoer laat zien dat de permissiebits voor app4.py zijn veranderd in
- r w - r w - - - -. De lees(r) toestemming wordt ingetrokken voor de anderen.

Maprechten:

De machtigingsbits kunnen worden ingesteld, opnieuw ingesteld en verwijderd voor de map, zoals de bestanden die worden weergegeven in de bovenstaande chmod-opdrachten.

Voorbeeld-5: toestemming voor de map instellen, opnieuw instellen en intrekken

Voer de volgende opdrachten uit om in te stellen: schrijf(x) toestemming voor anderen, toestemming opnieuw instellen voor groep gebruikers door toe te wijzen lees(r) alleen toestemming en verwijderen uitvoeren(x) toestemming voor de eigenaar van de map, Sjablonen.

$ chmod o+x-sjablonen
$ chmod g=r sjablonen
$ chmod u-x-sjablonen
$ ls -lr

De volgende uitvoer laat zien dat de permissiebits voor de Sjablonen map zijn gewijzigd in d r w - r - - r - x. De uitvoeren(x) toestemming is ingesteld voor anderen, lees(r) toestemming is gereset voor groep gebruikers en uitvoeren(x) toestemming wordt ingetrokken voor de eigenaar.

Stel machtigingen in numerieke modus in:

De machtigingsbits van bestand en map worden ingesteld of gereset met behulp van een driecijferig octaal getal. In de symbolische modus kunnen een of meer permissiebits worden ingesteld, gereset of verwijderd, alleen voor een bepaald gebruikerstype. In de numerieke modus worden de permissiebits voor alle drie typen gebruikers gewijzigd door een enkele opdracht. De volgende tabel toont verschillende machtigingstypen die worden gedefinieerd door numerieke waarden.

Numerieke waarde Toestemmingstype
0 Het geeft aan dat er geen toestemming is.
1 Het geeft alleen execute(x) toestemming aan.
2 Het geeft alleen schrijf(w) toestemming aan.
3 Het geeft schrijf(w) en execute(x) permissies aan.
4 Het geeft alleen lees(r) toestemming aan.
5 Het geeft read(r) en execute(x) permissies aan.
6 Het geeft lees(r) en schrijf(w) permissies aan.
7 Het geeft alle drie de machtigingen aan (read(r), write(w) en execute(x)).

Bestandstoestemming:

Enkele voorbeelden om permissiebits van het bestand in te stellen of te resetten met behulp van numerieke waarden worden uitgelegd in het volgende deel van dit artikel.

Voorbeeld-1: Stel '- r w x r - x - w -' permissie in voor een bestand

$ chmod 752 app5.py
$ ls -l

De volgende uitvoer laat zien dat: lees(r), auteur) en uitvoeren(x) machtigingen zijn ingesteld voor de eigenaar van app5.py. lees(r) en uitvoeren(x) machtigingen zijn ingesteld voor groep gebruikers van app5.py. schrijf(w) toestemming is ingesteld voor elke gebruiker van app5.py.

Voorbeeld-2: Stel '- r w x r - - - - -' permissie in voor een bestand

$ chmod 740 app6.py
$ ls -lr

De volgende uitvoer laat zien dat: lees(r), auteur) en uitvoeren(x) machtigingen zijn ingesteld voor de eigenaar van app6.py. lees(r) toestemming is ingesteld voor groep gebruikers van app6.py. Er is geen toestemming ingesteld voor elke gebruiker van app6.py.

Voorbeeld-3: Stel '- r - - - - - - - -' permissie in voor een bestand

$ chmod 400-app5.py
$ ls -lr

De volgende uitvoer laat zien dat: lees(r) toestemming is alleen ingesteld voor de eigenaar en de andere rechten van andere gebruikers worden verwijderd voor het bestand, app5.py.

Voorbeeld-4: Stel '- r - - r - - r - -' permissie in voor een bestand

$ chmod 444 app6.py
$ ls -lr

De volgende uitvoer laat zien dat: lees(r) toestemming is voor alle soorten gebruikers en andere toestemmingen worden ingetrokken voor het bestand, app6.py.

Voorbeeld-5: Stel '- r w x r w x r w x' permissie in voor een bestand

$ chmod 777 app7.py
$ ls -lr

De volgende uitvoer laat zien dat: lees(r), auteur), en uitvoeren(x) machtigingen zijn ingesteld voor alle soorten gebruikers van app7.py.

Maptoestemming:

$ chmod 442 sjablonen
$ ls -lr

De volgende uitvoer laat zien dat: lees(r) toestemming is ingesteld voor eigenaar en groepsgebruikers en schrijf(w) toestemming is ingesteld voor elke gebruiker van de map, Sjablonen.

Eigendom wijzigen met chown:

chown commando wordt gebruikt om het eigendom van gebruiker en groepsgebruiker voor elk bestand te wijzigen. Deze opdracht kan op verschillende manieren worden gebruikt om het eigendom van de gebruikers te wijzigen.

Syntaxis:

chown [OPTIE] [EIGENAAR] [: [GROEP] ] BESTAND

Hieronder worden enkele opties van deze opdracht gegeven die kunnen worden gebruikt om het eigendom van het bestand te wijzigen.

Keuze Doel
-van=CURRENT_OWNER: CURRENT_GROUP Het wordt alleen gebruikt om de eigenaar en/of groep van elk bestand te wijzigen als de huidige eigenaar en/of groep overeenkomt met de gedefinieerde eigenaar en groep.
-c, -veranderingen Het maakt een rapport aan als er een wijziging wordt aangebracht in het eigendom.
-f, -stil, -stil Het zal de meeste foutmeldingen verwijderen.
-R, -recursief Het werkt recursief op bestanden en mappen.
-L Het zal elke symbolische link naar een map doorkruisen.
-P Het zal geen symbolische links doorkruisen.
-helpen Het zal de help-informatie weergeven.
-versie Het geeft versie-informatie weer.

Supergebruiker worden:

Je moet een superuser worden voor het uitvoeren van de chown opdracht. Je kunt voor een korte tijd een superuser zijn door de volgende opdrachten uit te voeren, maar je moet het root-wachtwoord voor de specifieke opdracht weten.

'zo' commando:
De volledige vorm van zo is een vervangende gebruiker, en deze opdracht kan worden gebruikt om de superuser-privileges te krijgen om enkele administratieve taken uit te voeren. Je moet het root-wachtwoord opgeven na het uitvoeren van deze opdracht om het root-privilege te krijgen. Na het uitvoeren van de opdracht wordt de nieuwe shell-sessie gemaakt voor de supergebruiker. De sessie van de superuser kan worden beëindigd door te typen Uitgang opdracht.

'sudo' commando:
Het alternatief van zo commando is de sudo opdracht. Een of meer gebruikers kunnen het root-privilege krijgen door deze opdracht te gebruiken:. De huidige gebruiker kan de root shell-achtig openen zo commando met behulp van de -i optie met sudo opdracht. Uitgang commando beëindigt de root-shell en keert terug naar de shell van de huidige gebruiker.
Het root-gebruikersaccount is standaard uitgeschakeld op Ubuntu. Zo, de sudo commando wordt hier gebruikt om de root-privileges te krijgen en het chown-commando uit te voeren om het eigendom van het bestand in te stellen.

Voorbeeld-1: Gebruik van chown met de eigenaar

$ ls -l
$ sudo chown yesmin c1.py
$ ls -l

De eerste ls commando toont het huidige eigendom van de bestanden die bestaan ​​in de code map. Hier, fahmida is de eigenaar van het bestand c1.py bestand voordat u de chown opdracht. Wanneer de ls commando wordt uitgevoerd na het uitvoeren van het chown-commando, dan wordt het eigendom aan de gebruiker gegeven, yesmin, en de groepsnaam is ongewijzigd gebleven.

Voorbeeld-2: Gebruik van chown met de eigenaar en dubbele punt (:)

$ ls -l
$ sudo chown yesmin: c2.py
$ ls -l

De eerste ls commando toont de huidige eigenaar en groepseigendom van de c2.py het dossier. Hier de gebruikers- en groepseigendomsnaam van c2.py is fahmida voor het uitvoeren van de chown opdracht. Wanneer de ls opdracht wordt uitgevoerd na het uitvoeren van de opdracht, dan wordt het gebruikerseigendom gegeven aan: yesmin, en het groepseigendom wordt gegeven aan de groep van de eigenaar met de naam yesmin.

Voorbeeld-3: Gebruik van chown met de groep gevolgd door dubbele punt (:)

$ ls -l
$ sudo chown :pygroup c3.py
$ ls -l

De eerste ls commando toont de huidige eigenaar en groepseigendom van de c3.py het dossier. Hier, de gebruikers- en groepseigendomsnaam van c3.py is fahmida voordat u het chown-commando uitvoert. Wanneer de ls opdracht wordt uitgevoerd na het uitvoeren van de opdracht, dan wordt het groepseigendom gegeven aan de groep van de eigenaar met de naam pygroep, en de eigendomsnaam van de gebruiker blijft ongewijzigd.

Voorbeeld-4: Gebruik van chown met de gebruiker en groep gevolgd door dubbele punt (:)

$ ls -l
$ sudo chown fahmida:pygroup c2.py
$ ls -l

De eerste ls commando toont de huidige eigenaar en groepseigendom van de c2.py het dossier. Hier, de gebruikers- en groepseigendomsnaam van c2.py is yesmin voordat u de chown opdracht. Wanneer de ls opdracht wordt uitgevoerd na het uitvoeren van de opdracht, dan wordt het gebruikerseigendom gegeven aan: fahmida, en het groepseigendom wordt gegeven aan pygroep.

Voorbeeld-5: Gebruik van chown met alleen een dubbele punt (:)

$ ls -l
$ sudo chown: c3.py
$ ls -l

De eerste ls commando toont de huidige eigenaar en groepseigendom van de c3.py het dossier. Hier is het eigendom van de gebruiker fahmida, en het eigendom van de groep is pygroep van c2.py voordat u de chown opdracht. Wanneer de ls opdracht wordt uitgevoerd na het uitvoeren van de opdracht, dan blijft het eigendom van zowel gebruiker als groep ongewijzigd.

Conclusie:

Linux-gebruikers kunnen de bestandsrechten en eigendom op meerdere manieren wijzigen, die worden getoond door verschillende Linux-commando's in dit artikel te gebruiken. Er bestaat een ander commando in Linux om het eigendom van groepsgebruikers alleen voor het bestand te wijzigen. Het commando is chgrp dat wordt hier niet uitgelegd. De taak van de chgrp commando kan eenvoudig worden gedaan met behulp van de chown opdracht. Ik hoop dat het concept van de bestandsmachtiging en eigendom van het bestand en de map in het Linux-besturingssysteem zal worden gewist na het lezen van dit artikel.

Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...
Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...
Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...