Advertentie
Dus je hebt vond een smaak van Linux die je leuk vindt, maar nu ben je in de war omdat je geen flauw idee hebt over terminalopdrachten en Linux-bestandsmachtigingen?
Of misschien heb je een website die wordt gehost op een Linux-server en heb je een aantal problemen met de bestandsrechten ondervonden die alleen kunnen worden opgelost met wat magie op de opdrachtregel.
Hoe dan ook, een van de meest essentiële Linux-opdrachten om te leren Een A-Z van Linux - 40 essentiële opdrachten die u moet kennenLinux is het vaak genegeerde derde wiel voor Windows en Mac. Ja, in de afgelopen tien jaar heeft het open source-besturingssysteem veel grip gekregen, maar het is nog lang niet overwogen ... Lees verder is een klein maar krachtig commando genaamd chmod. Maar voordat we uitleggen wat de opdracht doet, moeten we eerst een beetje begrijpen hoe Linux met bestandsbeveiliging omgaat.
De basis van Linux-bestandsrechten
Linux-besturingssystemen zijn eigenlijk Unix-achtige systemen (Linux begrijpen versus Unix), en Unix-achtige systemen benaderen bestandsrechten 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 dat te zijn anderen.
Alle bestanden op Unix-achtige systemen hebben rechten toegewezen aan alle drie 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 uit te voeren als een uitvoerbaar programma).
Met andere woorden, de rechten 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 en vervolgens negen tekens die de lees- (r), schrijf (w) en uitvoer (x) -rechten 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 uitvoeringsrechten voor de eigenaar; lees en voer permissies uit voor de groep; en alleen leesrechten voor iedereen.
Het tweede formaat heet numerieke notatie, wat een reeks van drie cijfers is die elk respectievelijk gebruikers-, groeps- en andere rechten vertegenwoordigen. Elk cijfer kan variëren van 0 tot 7 en de waarde van elk cijfer wordt verkregen door de rechten van de klas op te tellen:
- 0 betekent dat er geen rechten 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 is:
- 0: Geen toestemming
- 1: uitvoeren
- 2: schrijven
- 3: schrijven en uitvoeren
- 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 staat voor "wijzig modus" en waarmee u de machtigingsinstellingen van een bestand handmatig kunt wijzigen.
Niet te verwarren chown, een andere opdracht op systeemniveau op Unix-achtige systemen die staat voor "eigenaar wijzigen" en waarmee u het eigendom van een bestand aan een andere gebruiker kunt toewijzen, 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?
Door de machtigingen van een bestand in te stellen op 644 is het zo dat alleen de eigenaar het bestand kan openen en wijzigen, hoe hij dat ook doet willen terwijl alle anderen alleen toegang hebben zonder te wijzigen, en niemand kan het bestand uitvoeren - zelfs niet de eigenaar. Dit is de ideale instelling voor bestanden die openbaar toegankelijk zijn, omdat het een evenwicht biedt tussen flexibiliteit en 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 mappen omdat de toestemming voor uitvoeren nodig is om in een map te veranderen.
Wat betekent Chmod 555?
Door de bestandsmachtigingen in te stellen op 555, kan het bestand door niemand anders worden gewijzigd dan door de superuser van het systeem (lees meer over de Linux superuser Wat is SU en waarom is het belangrijk om Linux effectief te gebruiken?Het Linux SU- of root-gebruikersaccount is een krachtig hulpmiddel dat nuttig kan zijn bij correct gebruik of verwoestend bij roekeloos gebruik. Laten we eens kijken waarom u verantwoordelijk moet zijn bij het gebruik van SU. Lees verder ). 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 rechten van een bestand in te stellen op 777, kan iedereen met het bestand alles doen wat hij wil. Dit is een enorm beveiligingsrisico, vooral op webservers! Letterlijk iedereen heeft toegang tot het bestand, kan het naar eigen inzicht wijzigen en het op het systeem uitvoeren. U kunt zich de mogelijke schade voorstellen als een malafide gebruiker deze in handen kreeg.
Hoe Chmod op Linux te gebruiken
Het chmod-commando 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 voor alle klassen wilt toewijzen:
chmod 644 voorbeeld.txt
Machtigingen kunnen ook worden gegeven in symbolische notatie, wat handig is als u alleen de rechten van een bepaalde klasse wilt wijzigen. Bijvoorbeeld:
chmod u = rwx voorbeeld.txt. chmod g = rw voorbeeld.txt. chmod o = rw voorbeeld.txt
U kunt de rechten voor meerdere klassen wijzigen, zoals dit voorbeeld dat de eigenaar instelt om te lezen / schrijven / uitvoeren, maar de groep en anderen om te lezen / uitvoeren:
chmod u = rwx, g = rw, o = rw voorbeeld.txt
Wanneer u dezelfde rechten aan meerdere klassen toewijst, kunt u ze combineren:
chmod u = rwx, go = rw voorbeeld.txt
Maar het mooie 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 bijvoorbeeld voegt toe de uitvoeringsmachtiging voor de eigenaar van het bestand:
chmod u + x voorbeeld.txt
En dit verwijdert de schrijf- en uitvoeringsrechten voor andere gebruikers:
chmod o-wx voorbeeld.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), gebruikt u de optie -R en target u een map:
chmod -R 755 voorbeelddirectory
Hoewel het chmod-commando op het eerste gezicht een beetje gek lijkt, is het eigenlijk vrij eenvoudig en volkomen logisch. Als je het bovenstaande begrijpt, heb je in feite chmod 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 je helemaal nieuw bent in het besturingssysteem, raden we je aan deze te bekijken handige trucs voor Linux-nieuwkomers evenals deze Linux-opdrachten die u nooit mag uitvoeren.
Maar het allerbelangrijkste: u kunt het beste onze raadplegen uitgebreide beginnershandleiding voor Ubuntu en Linux Ubuntu: een beginnershandleidingBenieuwd naar Ubuntu, maar weet je niet waar je moet beginnen? Alles wat u nodig heeft om aan de slag te gaan met de nieuwste versie van Ubuntu, vindt u hier, geschreven in gemakkelijk te begrijpen, eenvoudig Engels. Lees verder , die je alles leert wat je moet weten om aan de slag te gaan en voldoende vertrouwd te raken om je op je gemak te voelen.
Joel Lee heeft een B.S. in computerwetenschappen en meer dan zes jaar professionele schrijfervaring. Hij is de hoofdredacteur van MakeUseOf.