Pagina1 van 1

Chmod Calculator – Bestand permissies met chmod

Chmod Calculator – Bestand permissies met chmod
   2

We werken niet allemaal dagelijks met Linux, en daar is helemaal niets mis mee.
Ik werk ook niet dagelijks met Linux, maar soms moet ik toch even toegang zoeken tot een Linux machine of aan de slag met Terminal onder MacOS X. Zeker als ik de toegangsrechten van bestanden of directories wil instellen.

Het commando hiervoor, chmod, is niet super moeilijk in gebruik, en wordt niet alleen op Unix varianten zoals Linux en MacOS X gebruikt, maar is heel vaak ook van toepassing als je met FTP aan de slag gaat. Voor het werken met chmod, hebben we wel een magisch nummer nodig om de juiste rechten toe te wijzen.

Omdat ik geen fotografisch geheugen heb, moet ik ook steeds weer zoeke hoe het ook al weer zat, en dan grijp ik vaak naar zo’n online chmod calculator, en omdat ik soms lui ben, leek het me een leuk idee om er gewoon een op m’n eigen website te zetten.

Dus hier dan en chmod calculator, geschreven in JavaScript …




De calculator

Laten we gelijk maar naar de calculator gaan, waar daar kom je waarschijnlijk voor:

Permissies Bezitter Groep Anderen
READ
WRITE
EXECUTE
Waarde voor chmod 0 0 0
chmod vs ls output --- --- ---

 

 

Wat chmod achtergrond info

chmod” is een afkorting van “Change Mode” wat ons dus niet zo heel veel zegt.
Het is een standaard commando onder Unix-achtige systemen (waaronder Linux en MacOS X) om toegangsrechten voor bestanden en directories te definiëren, waarbij we de volgende informatie gebruiken:

– READ (lees), WRITE (schrijf) en EXECUTE (uitvoer) rechten
– voor de OWNER (eigenaar) van het bestand, de GROUP gebruikers waar de eigenaar lid van is, en de OTHER (overige) gebruikers.

Uiteraard is het belangrijk dat je toegangsrechten van bestanden en directories kunt instellen zodat andere gebruikers niet ongewenst zaken verwijderen, veranderen, of inkijken. Maar er zijn natuurlijk varianten te bedenken. Zo kun je zeggen dat niemand jouw privé bestanden mag lezen of wijzigen. Maar het kan ook zijn dat bijvoorbeeld het bedrijfstelefoonboek voor iedereen leesbaar moet zijn, maar dat men daar niets mag veranderen. Een ander voorbeeld is een programma welke geïnstalleerd staat die men wel mag lezen en uitvoeren maar niet mag wijzigen.

Om het magische nummer te berekenen hoeven we alleen maar te kunnen optellen.

Elk “recht” heeft een waarde. LEZEN = 4, SCHRIJVEN = 2 en UITVOEREN = 1.
Dus als we iemand lees toegang geven en uitvoeren toestaan dan krijg je: LEZEN (4) + UITVOEREN (1) = 5.

Nu helpt dat natuurlijk niet veel als we dat niet kunnen toewijzen aan bepaalde gebruikers.
Dit gebeurt door 3 van dit soort cijfer achter elkaar te zetten.
Het eerste nummer heeft betrekking op de eigenaar, het tweede nummer op de groep waarvan de eigenaar lid is, en het derde nummer voor alle overige gebruikers.

Een paar chmod voorbeelden

Stel we willen de eigenaar lees, schrijf en uitvoer rechten geven: LEZEN (4) + SCHRIJVEN (2) + UITVOEREN (1) = 7.
Gebruikers in dezelfde groep mogen alleen maar lezen en uitvoeren: LEZEN (4) + UITVOEREN (1) = 5.
En alle andere gebruikers worden geblokkeerd: 0 (dus geen rechten).

Dit resulteert in het nummer: 750 en als we dat in een shell/terminal toepassen: chmod 750 <jouwbestand>

Een andere voorbeeld is bijvoorbeeld dat iedereen mag lezen, schrijven en uitvoeren: LEZEN (4) + SCHRIJVEN (2) + UITVOEREN (1) = 7.

Het resultaat: 777 wat er dan in shell/terminal zo uit ziet: chmod 777 <jouwbestand>

Een bekende voor web designers is dat de gebruiker volledige toegang heeft, maar dat verder iedereen allen mag lezen en uitvoeren: LEZEN (4) + UITVOEREN (1) = 5, en voor de gebruiker is het natuurlijk weer 7.

Dit wordt dus: 755 en in the shell/terminal: chmod 755 <jouwbestand>

Het berekenen van dit nummer, zoals je ziet, is dus echt niet moeilijk – maar je moet het natuurlijk wel onthouden of weer opzoeken als je het nodig hebt.

Merk op dat we steeds maar 1 bestand hebben aangepast. Mocht je nu een directory willen veranderen met alle bestanden en directories daarin dan moete we de “-R” optie gebruiken, bijvoorbeeld: chmod -R 750 <jouwdirectory>

Soms zie ik de uitvoer van een “ls -l”, en dan wil ik proberen het bijbehorende chmod nummer weten. Ook hiervoor gebruik ik deze calculator dan om even te prullen en te klikken tot ik de combinatie zie die ik nodig heb.

chmod zonder de calculator

Linux kenners zullen nu vast even vermelden dat je niet perse met de nummers hoeft te werken. Er is namelijk een alternatieve manier, maar ook hiervoor geldt weer: je moet het maar net even weten en … onthouden!

Zo kun je bijvoorbeeld de LEES rechten van de “overige” gebruikers als volgt yoevoegen: chmod o+r <jouwbestand>

De man pagina van chmod (man chmod) vertled je hier meer over, of kijk eens op deze Wiki pagina.

Overige bronnen

Er zijn een aantal varianten online beschikbaar, dus als je de code zelf wilt gebruiken, kijk dan ook eens naar deze JavaScripKit codes van:

 

Overigens; de versie hier is niet gebaseerd op deze versies, maar ik heb wel veel geleerd van hun werk.

Ondersteun ons ...


Jouw ondersteuning wordt zeer gewaardeerd, en hoeft zelfs niets te kosten. Bijvoorbeeld door links naar ons te delen op social media, of andere websites.

Andere vormen kunnen ook gratis zijn (b.v. shoppen op Amazon).
Alle opbrengsten worden gebruikt voor web-hosting kosten, project hardware en software, koffie, etc.

Hartelijk dank voor wie al heeft bijgedragen!
Het is altijd geweldig om te zien hoe men mijn artikeltjes en applicaties weet te waarderen.

Merk op dat het klikken op affiliate links een kleine commissie voor ons kunnen genereren - dit wordt zeer gewaardeerd.

Reacties


Er zijn 2 reacties welke je hieronder kunt lezen.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een bestaande opmerking plaatsen door op de "Beantwoorden" knop te klikken.

  • 7 sep 2018 - 8:41 - hans - Auteur: Reactie Link

    Voor MacOS gerbruikers;

    wil je deze waarde van een bestand uitlezen, probeer dan dit:

    stat -f $A filename

    Bijvoorbeeld:

    $ stat -f %A voorbeeldbestand.txt 
    644
    Beantwoorden

    hans

  • 7 sep 2018 - 12:59 - Henkie60 Reactie Link

    Kleine aanvulling;

    Als je de rwx volgorde onthoud, dan koppel je de ‘positie’ aan de bitwaarde;

    x = 1e positie is dus binair 1

    w = 2e positie en is dus binair 2

    r = 3e positie en is dus binair 4

    In het kort;

    rwx – rechten positie

    421 – bitwaarde

    Zijn de rechten rwx allen nodig dan tel je 4,2,1 bij elkaar op en wordt dus 7

    Is alleen r– nodig dan tel je 4,0,0 op en is dus 4

    Enz.

    Beantwoorden

    Henkie60



Jouw Opmerking ...

Plaats hier geen grote bestanden (zoals source codes, log files of config files). Gebruik hiervoor het Forum.

Delen:
*
*
Laat me per email weten als er nieuwe reacties zijn.
       Je kunt jouw RSS reader gebruiken om reacties te volgen.


Tweaking4All gebruikt de gratis Gravatar dienst voor Avatar weergave.