De Chmod-opdracht en Linux-bestandsmachtigingen uitgelegd

De Chmod-opdracht en Linux-bestandsmachtigingen uitgelegd

Dus je hebt een smaak van Linux gevonden die je leuk vindt, maar nu ben je in de war omdat je geen flauw idee hebt van terminalcommando's en Linux-bestandsrechten?





Of misschien heb je een website die wordt gehost op een Linux-server en ben je een aantal problemen met bestandsrechten tegengekomen die alleen kunnen worden opgelost met wat magie op de opdrachtregel.





Hoe dan ook, een van de meest essentiële Linux-commando's om te leren is een klein maar krachtig commando genaamd chmod . Maar voordat we uitleggen wat het commando doet, moeten we eerst een beetje begrijpen hoe Linux omgaat met bestandsbeveiliging.





De basisprincipes van Linux-bestandsmachtigingen

Linux-besturingssystemen zijn eigenlijk Unix-achtige systemen ( Linux versus Unix begrijpen ), en Unix-achtige systemen benaderen bestandspermissies als volgt:

Elk bestand heeft een eigenaar , die de 'gebruikersklasse' van het bestand bepaalt. Elk bestand heeft ook een groep , die de 'groepsklasse' van het bestand bepaalt. Elke systeemgebruiker die niet de eigenaar is en niet tot dezelfde groep behoort, is vastbesloten om: anderen .



Alle bestanden op Unix-achtige systemen hebben machtigingen die zijn toegewezen aan alle drie de klassen, en deze bepalen welke acties door die klassen kunnen worden ondernomen voor het gegeven bestand.

De drie beschikbare acties op een Unix-achtig systeem zijn: lezen (de mogelijkheid om de inhoud van het bestand te openen en te bekijken), schrijven (de mogelijkheid om de inhoud van een bestand te openen en te wijzigen), en uitvoeren (de mogelijkheid om het bestand als een uitvoerbaar programma uit te voeren).





Met andere woorden, de machtigingen van een bestand bepalen of:

  • De eigenaar kan het bestand lezen, schrijven en uitvoeren.
  • De groep kan het bestand lezen, schrijven en uitvoeren.
  • Iedereen kan het bestand lezen, schrijven en uitvoeren.

Linux-bestandsrechten kunnen in twee formaten worden weergegeven.





Het eerste formaat heet symbolische notatie , wat een reeks van 10 tekens is: één teken dat het bestandstype vertegenwoordigt, vervolgens negen tekens die de lees- (r), schrijf- (w) en uitvoerrechten (x) van het bestand vertegenwoordigen in de volgorde van eigenaar, groep en anderen. Indien niet toegestaan, wordt het streepjessymbool (-) gebruikt.

Bijvoorbeeld:

-rwxr-xr--

Dit betekent dat het een normaal bestand is met lees-, schrijf- en uitvoerrechten voor de eigenaar; lees en voer machtigingen voor de groep uit; en alleen leesrechten voor alle anderen.

Het tweede formaat heet numerieke notatie , wat een reeks van drie cijfers is die elk respectievelijk gebruikers-, groep- en andere machtigingen vertegenwoordigen. Elk cijfer kan variëren van 0 tot 7, en de waarde van elk cijfer wordt verkregen door de machtigingen van de klasse op te tellen:

  • 0 betekent dat er geen toestemmingen zijn toegestaan.
  • +1 als de klas het bestand kan uitvoeren.
  • +2 als de klas naar het bestand kan schrijven.
  • +4 als de klas het bestand kan lezen.

Met andere woorden, de betekenis van elke cijferwaarde wordt:

  • 0: Geen toestemming
  • 1: uitvoeren
  • 2: Schrijf
  • 3: Schrijven en uitvoeren
  • 4: Lees
  • 5: Lezen en uitvoeren
  • 6: Lezen en schrijven
  • 7: Lezen, schrijven en uitvoeren

Dus het bovenstaande voorbeeld (

-rwxr-xr--

) zou 754 zijn in numerieke notatie.

Dat zijn Linux-bestandsrechten in een notendop.

Wat is Chmod?

Op Unix-achtige systemen, chmod is een commando op systeemniveau dat staat voor 'wijzig modus' en waarmee u handmatig de machtigingsinstellingen van een bestand kunt wijzigen.

waarom crashen mijn games steeds?

Niet te verwarren met chown , een ander commando op systeemniveau op Unix-achtige systemen dat staat voor 'eigenaar wijzigen' en waarmee je het eigendom van een bestand aan een andere gebruiker kunt toewijzen, of chgrp , wat staat voor 'change group' en een bestand toewijst aan een andere groep. Deze zijn belangrijk om te weten, maar worden niet zo vaak gebruikt als chmod.

Wat betekent Chmod 644?

Door de machtigingen van een bestand in te stellen op 644, kan alleen de eigenaar het bestand openen en wijzigen zoals hij dat wil, terwijl alle anderen alleen toegang hebben zonder te wijzigen, en niemand het bestand kan uitvoeren --- zelfs de eigenaar niet. Dit is de ideale instelling voor bestanden die openbaar toegankelijk zijn, omdat het flexibiliteit en veiligheid in evenwicht brengt.

hoe mac naar roku te casten

Wat betekent Chmod 755?

Het instellen van de machtigingen van een bestand op 755 is in principe hetzelfde als 644, behalve dat iedereen ook uitvoerrechten heeft. Dit wordt voornamelijk gebruikt voor openbaar toegankelijke directory's omdat de execute-machtiging nodig is om in een directory te veranderen.

Wat betekent Chmod 555?

Het instellen van de permissies van een bestand op 555 zorgt ervoor dat het bestand door niemand kan worden gewijzigd, behalve door de supergebruiker van het systeem (lees meer over de Linux-supergebruiker). Dit wordt niet zo vaak gebruikt als 644, maar het is nog steeds belangrijk om te weten omdat de alleen-lezen-instelling onbedoelde wijzigingen en/of manipulatie voorkomt.

Wat betekent Chmod 777?

Door de machtigingen van een bestand in te stellen op 777, kan iedereen met het bestand doen wat ze willen. Dit is een enorm veiligheidsrisico, vooral op webservers! Letterlijk iedereen kan toegang krijgen tot het bestand, het naar eigen inzicht aanpassen en het op het systeem uitvoeren. Je kunt je de potentiële schade voorstellen als een malafide gebruiker het in handen krijgt.

Hoe Chmod op Linux te gebruiken

De opdracht chmod heeft een eenvoudig formaat:

chmod [permissions] [file]

Machtigingen kunnen worden gegeven in numerieke notatie, wat het beste formaat is om te gebruiken wanneer je specifieke machtigingen voor alle klassen wilt toewijzen:

chmod 644 example.txt

Machtigingen kunnen ook in symbolische notatie worden gegeven, wat handig is als u alleen de machtigingen van een bepaalde klasse wilt wijzigen. Bijvoorbeeld:

chmod u=rwx example.txt
chmod g=rw example.txt
chmod o=rw example.txt

U kunt machtigingen voor meerdere klassen wijzigen, zoals dit voorbeeld waarbij de eigenaar wordt ingesteld om te lezen/schrijven/uitvoeren, maar de groep en anderen om te lezen/uitvoeren:

chmod u=rwx,g=rw,o=rw example.txt

Wanneer u dezelfde machtigingen aan meerdere klassen toewijst, kunt u ze combineren:

chmod u=rwx,go=rw example.txt

Maar de schoonheid van het gebruik van symbolische notatie schijnt wanneer u alleen de toestemming voor een bepaalde actie voor een bepaalde klasse wilt toevoegen of verwijderen.

Dit is bijvoorbeeld voegt toe de uitvoermachtiging voor de eigenaar van het bestand:

chmod u+x example.txt

En dit verwijdert de schrijf- en uitvoerrechten voor andere gebruikers:

chmod o-wx example.txt

Als u ten slotte een bepaalde set machtigingen wilt toepassen op alle bestanden en mappen in een bepaalde map (d.w.z. een recursieve chmod), gebruik dan de -R optie en richt u op een map:

chmod -R 755 example_directory

Hoewel het chmod-commando er op het eerste gezicht een beetje gek uitziet, is het eigenlijk vrij eenvoudig en volkomen logisch. Als je het bovenstaande begrijpt, heb je chmod eigenlijk onder de knie!

Meer informatie over het beheersen van Linux

Commando's zoals chmod, chown en chgrp zijn slechts het topje van de Linux-ijsberg. Als het besturingssysteem helemaal nieuw voor je is, raden we je aan deze handige trucs voor Linux-beginners te bekijken, evenals deze Linux-commando's die je nooit zou moeten uitvoeren.

Maar het belangrijkste is dat u het beste kunt kijken op onze uitgebreide beginnershandleiding voor Ubuntu en Linux , die u alles leert wat u moet weten om aan de slag te gaan en voldoende vertrouwd raakt om u op uw gemak te voelen.

Deel Deel Tweeten E-mail 5 tips om uw VirtualBox Linux-machines een boost te geven

Moe van de slechte prestaties van virtuele machines? Dit is wat u moet doen om uw VirtualBox-prestaties te verbeteren.

Lees volgende
Gerelateerde onderwerpen
  • Linux
  • Linux-opdrachten
Over de auteur Joel Lee(1524 artikelen gepubliceerd)

Joel Lee is de hoofdredacteur van MakeUseOf sinds 2018. Hij heeft een B.S. in computerwetenschappen en meer dan negen jaar professionele schrijf- en redactieervaring.

Meer van Joel Lee

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren