De Chmod-commando- en Linux-bestandsrechten verklaard

De Chmod-commando- en Linux-bestandsrechten verklaard / Linux

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 over terminalopdrachten en Linux-bestandsrechten?

Of misschien heeft u een website die wordt gehost op een Linux-server en u bent een aantal problemen met bestandsrechten tegengekomen die alleen kunnen worden opgelost met een magische opdrachtregel.

Ongeacht, een van de meest essentiële Linux-commando's om een ​​A-Z van Linux te leren - 40 essentiële opdrachten die je moet kennen A-Z van Linux - 40 essentiële opdrachten die je moet weten Linux is het vaak genegeerde derde wiel naar Windows en Mac. Ja, in het afgelopen decennium heeft het open source besturingssysteem veel grip gekregen, maar het is nog steeds ver verwijderd van het feit dat ... Lees meer 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 grondbeginselen van Linux-bestandsmachtigingen

Linux-besturingssystemen zijn eigenlijk Unix-achtige systemen (Linux versus Unix), en Unix-achtige systemen benaderen bestandsrechten zoals:

Elk bestand heeft een eigenaar, welke het bestand bepaalt “gebruikersklasse.” Elk bestand heeft ook een groep, welke het bestand bepaalt “groepsles.” Elke systeemgebruiker die niet de eigenaar is en niet tot dezelfde groep behoort, is vastbesloten om te zijn anderen.

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

De drie acties die beschikbaar zijn 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 aan te passen), en uitvoeren (de mogelijkheid om het bestand uit te voeren als een uitvoerbaar programma).

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

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

Linux-bestandsmachtigingen kunnen in twee indelingen worden weergegeven.

Het eerste formaat wordt genoemd symbolische notatie, Dit is een reeks van 10 tekens: één teken dat het bestandstype vertegenwoordigt en vervolgens negen tekens die de lees- (r), schrijf (w) en uitvoer (x) -machtigingen van het bestand vertegenwoordigen in volgorde van eigenaar, groep en anderen. Als dit niet is toegestaan, wordt het streepjesymbool (-) gebruikt.

Bijvoorbeeld:

-rwxr-xr--

Dit betekent dat het een gewoon bestand is met lees-, schrijf- en uitvoerrechten voor de eigenaar; lees en voer de rechten voor de groep uit; en lees alleen toestemmingen voor iedereen.

Het tweede formaat wordt genoemd numerieke notatie, Dit is een reeks van drie cijfers die elk respectievelijk gebruikers-, groeps- 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 klas te sommeren:

  • 0 betekent geen toegestane machtigingen.
  • +1 als de klasse het bestand kan uitvoeren.
  • +2 als de klasse naar het bestand kan schrijven.
  • +4 als de klas het bestand kan lezen.

Met andere woorden, de betekenis van elke cijferwaarde wordt uiteindelijk:

  • 0: geen toestemming
  • 1: uitvoeren
  • 2: schrijven
  • 3: schrijf en voer uit
  • 4: lezen
  • 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 opdracht op systeemniveau die voor staat “verander modus” en kunt u de machtigingsinstellingen van een bestand handmatig wijzigen.

Niet te verwarren met chown, wat een ander commando op systeemniveau is op Unix-achtige systemen die voor staat “wijzig eigenaar” en kunt u het eigendom van een bestand toewijzen aan een andere gebruiker, of chgrp, wat staat voor “verander groep” en wijst een bestand toe aan een andere groep. Deze zijn belangrijk om te weten, maar niet zo vaak gebruikt als chmod.

Wat betekent Chmod 644 Mean?

Het instellen van de rechten van een bestand op 644 maakt het zo dat alleen de eigenaar het bestand kan openen en aanpassen zoals ze willen, terwijl iedereen alleen toegang kan krijgen zonder het te wijzigen en niemand het bestand kan uitvoeren, zelfs niet de eigenaar. Dit is de ideale instelling voor bestanden die openbaar toegankelijk zijn omdat het flexibiliteit in evenwicht brengt met beveiliging.

Wat betekent Chmod 755??

Het instellen van de rechten van een bestand op 755 is in principe hetzelfde als 644, behalve dat iedereen ook uitvoeringsrechten 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 rechten van een bestand op 555 maakt het zo dat het bestand door niemand anders dan de superuser van het systeem kan worden gewijzigd (kom meer te weten over de Linux superuser Wat is SU en waarom is het belangrijk om Linux effectief te gebruiken? Wat is SU & waarom is het Belangrijk om Linux effectief te gebruiken? De Linux SU of root-gebruikersaccount is een krachtige tool die nuttig kan zijn bij correct gebruik of verwoestende roekeloos gebruik. Laten we eens kijken waarom u verantwoordelijk zou moeten zijn als u SU gebruikt. 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 knoeien voorkomt.

Wat betekent Chmod 777??

Het instellen van de rechten van een bestand op 777 maakt het zo dat iedereen alles kan doen wat ze willen met het bestand. Dit is een enorm beveiligingsrisico, vooral op webservers! Letterlijk iedereen heeft toegang tot het bestand, kan het desgewenst aanpassen en het op het systeem uitvoeren. Je kunt je de potentiële schade voorstellen als een malafide gebruiker de hand heeft weten te leggen.

Hoe Chmod te gebruiken op Linux

De opdracht chmod heeft een eenvoudig formaat:

chmod [permissies] [bestand]

Machtigingen kunnen worden gegeven in numerieke notatie, wat de beste indeling is om te gebruiken wanneer u specifieke rechten wilt toewijzen aan alle klassen:

chmod 644 example.txt

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

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

U kunt rechten voor meerdere klassen wijzigen, zoals dit voorbeeld waarmee de eigenaar leest / schrijft / uitvoert maar de groep en anderen moet lezen / uitvoeren / uitvoeren:

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

Bij het toewijzen van dezelfde rechten aan meerdere klassen, kunt u ze combineren:

chmod u = rwx, go = rw example.txt

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

Bijvoorbeeld dit voegt de execute permissie 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 binnen een bepaalde map (bijvoorbeeld een recursieve chmod), gebruikt u de optie -R en target u een directory:

chmod -R 755 voorbeelddirectory

Hoewel het commando chmod op het eerste gezicht een beetje gek lijkt, is het eigenlijk vrij eenvoudig en volledig logisch. Als je het bovenstaande begrijpt, heb je chmod in essentie onder de knie!

Meer informatie over het beheersen van Linux

Commando's zoals chmod, chown en chgrp vormen slechts het topje van de Linux-ijsberg. Als je helemaal niets van het besturingssysteem wilt weten, raden we je aan deze handige trucs voor Linux-nieuwelingen te bekijken, evenals deze Linux-opdrachten die je nooit zou moeten uitvoeren.

Maar het belangrijkste is dat je het beste kunt doen door onze uitgebreide beginnershandleiding voor Ubuntu en Linux te bekijken. Ubuntu: Een beginnersgids Ubuntu: een beginnersgids Benieuwd naar Ubuntu, maar weet je niet zeker waar je moet beginnen? Alles wat u nodig heeft om aan de slag te gaan met de nieuwste versie van Ubuntu, is hier geschreven in eenvoudig te begrijpen, eenvoudig Engels. Lees meer, waarmee u alles leert wat u moet weten om aan de slag te gaan en voldoende vertrouwd te maken om u op uw gemak te voelen.

Ontdek meer over: Linux-opdrachten.