Hoe de Opdracht chmod Gebruiken op Linux

0
471
Fatmawati Achmad Zaenuri/Shutterstock.com

Bepalen wie toegang heeft tot bestanden zoeken in mappen en scripts uit te voeren met behulp van de Linux het commando chmod. Deze opdracht wijzigt Linux rechten, welke look ingewikkeld op het eerste gezicht, maar zijn eigenlijk vrij simpel als je eenmaal weet hoe ze werken.

chmod Wijzigt Bestand Machtigingen

In Linux, wie wat kan doen om een bestand of map wordt gecontroleerd door sets van machtigingen. Er zijn drie sets van de machtigingen. Een set voor de eigenaar van het bestand, een andere set voor de leden van het bestand van de groep, en een uiteindelijke set voor iedereen anders.

De machtigingen voor de controle van de acties die kunnen worden uitgevoerd op het bestand of de map. Ze toestaan of voorkomen dat een bestand niet kan worden gelezen, gewijzigd of, indien het een script of programma, uitgevoerd. Voor een directory, de machtigingen bepalen wie de cd in de directory en die kan maken of wijzigen van bestanden in de map.

U de opdracht chmod gebruiken om elk van deze machtigingen. Om te zien welke machtigingen zijn ingesteld op een bestand of map, kunnen we gebruik maken van ls.

Het bekijken en Begrijpen van de bestandsrechten

We kunnen gebruik maken van de optie-l (lange notatie) optie om ls het bestand machtigingen voor bestanden en mappen.

ls -l

Op elke lijn, het eerste teken identificeert het type item dat wordt weergegeven. Als het een streepje (-) dat het een bestand is. Als het de letter d is een directory.

De volgende negen personages vertegenwoordigen de instellingen voor de drie sets van machtigingen.

  • De eerste drie tekens tonen de rechten voor de gebruiker die eigenaar is van het bestand (gebruikersrechten).
  • De middelste drie tekens tonen de rechten voor de leden van het bestand van de groep (machtigingen).
  • De laatste drie tekens toon de permissies voor iedereen die niet in de eerste twee categorieën (andere rechten).

Er zijn drie tekens in elke set van rechten. De tekens zijn indicatoren voor de aanwezigheid of afwezigheid van één van de rechten. Ze zijn een liggend streepje (-) of een brief. Als het karakter van een min-teken, het betekent dat toestemming niet is verleend. Als het karakter van een r, w, of een x, dat toestemming is verleend.

De letters staan voor:

  • r: Lees-rechten. Het bestand kan worden geopend en de inhoud bekeken.
  • w: Schrijf rechten. Het bestand kan worden bewerkt, gewijzigd en verwijderd.
  • x: machtigingen. Als het bestand een script of een programma kan worden uitgevoerd (geëxecuteerd).

Bijvoorbeeld:

  • — betekent geen machtigingen zijn verleend op alle.
  • rwx betekent volledige machtigingen zijn verleend. Het lezen, schrijven en uitvoeren van de indicatoren zijn alle aanwezig.

In onze screenshot, de eerste regel begint met een d. Deze lijn verwijst naar een directory genaamd “archief.” De eigenaar van de directory is “dave” en de naam van de groep die in de directory behoort, wordt ook wel “dave.”

De volgende drie tekens van de gebruiker machtigingen voor deze map. Deze tonen aan dat de eigenaar heeft volledige rechten. De r, w, en x-tekens zijn allemaal aanwezig. Dit betekent dat de gebruiker dave met lees -, schrijf-en uitvoeringsrechten voor de directory.

De tweede set van drie tekens van de groep permissies, deze zijn r-x. Deze geven aan dat de leden van de dave groep hebben lees en machtigingen voor deze map. Dat betekent dat zij de lijst van de bestanden en hun inhoud in de map, en ze kunnen cd (execute) in die map. Ze hebben geen schrijf rechten, zodat ze niet kunt maken, bewerken of verwijderen van bestanden.

De uiteindelijke set van drie personages zijn ook r-x. Deze machtigingen zijn van toepassing op personen die niet onder de eerste twee sets van de machtigingen. Deze mensen (de zogenaamde”anderen”) hebt gelezen en machtigingen in deze map.

Dus, samengevat, de leden van de groep en anderen hebben machtigingen voor lezen en uitvoeren. De eigenaar, een gebruiker genaamd dave, ook schrijfrechten heeft.

Voor alle andere bestanden (met uitzondering van de mh.sh script bestand) dave en leden van de dave groep hebben lees-en schrijf eigenschappen van de bestanden, en de anderen hebben de machtigingen lezen alleen.

Voor het speciale geval van de mh.sh script-bestand, de eigenaar dave en de leden van de groep hebben lees, schrijf en uitvoerbare rechten, en de anderen hebben machtigingen voor lezen en uitvoeren alleen.

Het Begrijpen Van De Toestemming Van De Syntaxis

Om chmod gebruiken om machtigingen in te stellen, moeten we om het te vertellen:

  • Wie: Wie wij zijn het instellen van machtigingen voor.
  • Wat: Wat zijn we het maken? Zijn we toe te voegen of te verwijderen van de toestemming?
  • Wat: Welke van de machtigingen zijn we?

Wij maken gebruik van indicatoren te vertegenwoordigen deze waarden, en de vorm van korte ‘rechten verklaringen” zoals u+x, waarbij “u” betekent “gebruiker” (die), “+” betekent dat het toevoegen van (wat), en “x” betekent dat de machtiging uitvoeren (die).

De “wie” waarden die we kunnen gebruiken zijn:

  • u: de Gebruiker, wat betekent dat de eigenaar van het bestand.
  • g: Groep, wat betekent dat de leden van de groep van het bestand.
  • o: Anderen, wat betekent dat mensen niet beheerst door de u-en g-rechten.
  • a: Alle, wat betekent al het bovenstaande.

Als geen van deze zijn gebruikt, chmod gedraagt zich als “een” was gebruikt.

De “wat” – waarden die we kunnen gebruiken zijn:

  • –: Min-teken. Hiermee verwijdert u de toestemming.
  • +: Plus-teken. Verleent de toestemming. De toestemming wordt toegevoegd aan de bestaande machtigingen. Als u wilt deze toestemming en alleen deze machtiging is ingesteld, gebruikt u de = optie, die hieronder worden beschreven.
  • =: Is gelijk ‘ – teken. Stel een machtiging en verwijder de anderen.

De “die” waarden die we kunnen gebruiken zijn:

  • r: De machtiging lezen.
  • w: Het schrijven toestemming.
  • x: De machtiging uitvoeren.

Het Instellen En Wijzigen Van Machtigingen

Laten we zeggen dat we een file waar iedereen volledige rechten heeft op het.

ls -l new_ file.txt

We willen de gebruiker dave hebben de machtigingen lezen en schrijven en de groep en dat andere gebruikers de machtigingen lezen alleen. We kunnen doen met het volgende commando:

chmod u=rw,og=r new_file.txt

Met behulp van de ” = ” – operator betekent dat we veeg uit alle bestaande machtigingen en stel vervolgens de die zijn opgegeven.

kijkt u eens naar de nieuwe vergunning op dit bestand:

ls -l new_file.txt

De bestaande rechten zijn verwijderd, en de nieuwe machtigingen zijn ingesteld, zoals we hadden verwacht.

Hoe over het toevoegen van een toestemming, zonder het verwijderen van de bestaande instellingen voor machtigingen? We kunnen dat gemakkelijk ook.

Laten we zeggen dat we een script bestand dat we klaar bent met bewerken. We moeten zorgen dat deze wel uitvoerbaar is voor alle gebruikers. De huidige machtigingen er als volgt uitzien:

ls -l new_script.sh

We kunnen het toevoegen van de machtiging uitvoeren voor iedereen met het volgende commando:

chmod a+x new_script.sh

Als we een kijkje nemen in de rechten, zullen we zien dat de machtiging uitvoeren is nu toegekend aan iedereen, en de bestaande machtigingen zijn er nog steeds.

ls -l new_script.sh

Wij kunnen bereiken hetzelfde, zonder de “a” in de “a+x’ – instructie. De volgende opdracht zou hebben gewerkt, net zo goed.

chmod +x new_script.sh

Machtigingen instellen voor Meerdere Bestanden

We kunnen toepassen van machtigingen om meerdere bestanden in één keer.

Dit zijn de bestanden in de huidige map:

ls -l

Laten we zeggen dat we willen verwijder de schrijfrechten voor de “andere” gebruikers van bestanden “.pagina ‘ extensie. We kunnen dit doen met het volgende commando:

chmod of *.pagina

Laten we eens kijken wat voor effect dat heeft gehad:

ls -l

Zoals we kunnen zien, de machtiging lezen heeft verwijderd werd van de plaats “.pagina” bestanden voor de “andere” categorie van gebruikers. Geen andere bestanden zijn getroffen.

Als we wilden ook bestanden in submappen, die wij zouden hebben gemaakt van de -R (recursieve) optie.

chmod -R of *.pagina

Numerieke Shorthand

Een andere manier om gebruik te maken chmod is om de machtigingen die u wenst te geven aan de eigenaar, groep en anderen als een drie-cijferig nummer. Het meest linkse cijfer vertegenwoordigt de rechten voor de eigenaar. Het middelste cijfer vertegenwoordigt de machtigingen voor de leden van de groep. Het meest rechtse cijfer vertegenwoordigt de machtigingen voor de anderen.

De cijfers die u kunt gebruiken en wat ze vertegenwoordigen, wordt hier vermeld:

  • 0: (000) Geen toestemming.
  • 1: (001) de machtiging Uitvoeren.
  • 2: (010) Schrijven toestemming.
  • 3: (011) Schrijf en uitvoerbare rechten.
  • 4: (100) Lees toestemming.
  • 5: (101) machtigingen voor Lezen en uitvoeren.
  • 6: (110) de machtigingen Lezen en schrijven.
  • 7: (111) Lees, schrijf en uitvoerbare rechten.

Elk van de drie machtigingen wordt vertegenwoordigd door een van de bits van het binaire equivalent van het decimale getal. Dus 5, en dat is 101 in binaire, te lezen en uit te voeren. 2, 010 in binaire, zou betekenen dat de machtiging schrijven.

Met behulp van deze methode, stelt u de machtigingen die u wilt hebben; voeg deze machtigingen op de bestaande machtigingen. Dus als de machtigingen lezen en schrijven waren al op zijn plaats zou u moeten gebruiken 7 (111) toe te voegen machtigingen. Met behulp van 1 (001) zou de lees-en schrijf machtigingen en voeg de machtiging uitvoeren.

Laten we het toevoegen van de machtiging lezen weer op “.pagina” bestanden voor de andere categorie gebruikers. We moeten de machtigingen voor gebruikers en groepen, dus moeten we hen om wat ze al. Deze gebruikers al hebben de machtigingen lezen en schrijven, dat is 6 (110). We willen de “anderen” te hebben gelezen en machtigingen, zodat ze moeten worden ingesteld op 4 (100).

De volgende opdracht uitvoeren:

chmod 664 *.pagina

Dit stelt de machtigingen die we nodig hebben voor de gebruiker, de leden van de groep, en de anderen wat we nodig hebben. De gebruikers en de leden van de groep hebben hun machtigingen opnieuw instellen om wat ze al waren, en de anderen hebben de machtiging lezen hersteld.

ls -l

Geavanceerde Opties

Als u lees de man pagina voor chmod u ziet zijn er een aantal geavanceerde opties met betrekking tot de SETUID en SETGID-bits, en het beperkt verwijderen of het “sticky” bit.

Voor 99% van de gevallen moet u chmod voor de opties die hier worden beschreven zal hebben u gedekt.

LEES VERDER

  • “Hoe Schrijvers Kunnen Gebruiken GitHub voor het Opslaan van Hun Werk
  • “Hoe Gemakkelijk het Recyclen van de Oude Elektronica Kan Je niet Verkopen
  • “Hoe om te Controleren of Uw Chromecast Is Nog steeds het Krijgen van Updates
  • “Hoe om Adobe Flash SWF-Bestanden Buiten Uw Web-Browser
  • “Opdrachtregels: Waarom Doen Mensen Nog De Moeite?