nl en de fi id nl nl nl nl nl en en nl nl en en nl nl nl en en nl en en nl nl en en nl it nl nl nl en en nl nl nl fi en nl nl en en nds nl nl nds nl nl nl nl nl nds nl en nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl fa nl en fr sv sk zh nl en en en en en en en en en it en it it nl nl nl nl nl en nl de nl fr it tr nl nl nl nl nl nl nl nl zh es uk nl nl nl en en en nl nl en nl en en en nl nl nl nl nl nl nl nl nl nl nl nl de nl sv nl en nl en nl nl nl nl en nl en nl sv nl fr nl de nl de nl fr nl fr nl nl nl nl nl nl nl nl nl nl en pl nl kn en nl ru de nl hbs_lat en nl ja en nl nl nl nl nl nl nl en nl fr en nl it pl en it de en en mn ca en en en nl nl en en es en nl en en en en nl en nl en nl
Domeinnaam Je adres op internet met extensies als .nl & .com. Mail Professioneel e-mailen met je eigen domein – veilig en reclamevrij. Mailarchivering Automatische en veilige archivering voor je bedrijf.
SSL-certificaten Bescherm je website optimaal dankzij versleuteling Microsoft 365 Je documenten altijd bij de hand met Office 365.
Websites voor beginners en professionals.
Sitebuilder Perfect voor beginners: zonder voorkennis je eigen website. Webshop Snel en professioneel online verkopen.
Snel, veilig en krachtig: hosting & WordPress van professionals voor professionals.
WordPress hosting In een handomdraai je eigen, veilige WordPress site. Hosting Perfect voor professionele en supersnelle websites. Hosting Mini Ons mini-hostingpakket – voor een mini-prijs.
WooCommerce Je eigen webshop maken met WordPress
Monitor het succes en verbeter de performance van je website
STRATO marketingRadar Het perfecte starterspakket voor online marketing. STRATO rankingCoach Snel en simpel een toppositie in zoekmachines als Google. STRATO listingCoach Verschijn met één klik in de belangrijkste online directory's.
STRATO adCoach Maak en beheer eenvoudig Google Ads-campagnes.
Sneller gaat niet: 100% merk-hardware voor virtual en dedicated systemen.
VPS Linux Krachtige Linux VPS met SSD-power & Plesk. VPS Windows VPS met véél RAM & Windows Datacenter-licentie. Cyber Protect Veiligheid dankzij professionele back-ups & anti-malware
Dedicated Server Linux Eigen hardware met root-rechten – voor veeleisende hosting. Dedicated Server Windows Merk-hardware met Administrator-toegang. ServerCloud Flexibele, schaalbare servers in de cloud.
Bestanden online opslaan & automatisch back-uppen naar de Europese cloud.
HiDrive Sla je bestanden op in de Europese cloud. HiDrive Business Veilig teamwork met je online harde schijf. HiDrive S3 De object storage voor je bedrijfsdata.
Chmod: zo werken maprechten in Linux
Toegangsrechten wijzigen met chmod
Weergave van toegangsrechten in de terminal
Toegangsrechten wijzigen met chmod via de terminal
Opties van het commando chmod
Toegangsrechten wijzigen met chmod
Op een groot deel van de webservers draait het Unix-achtige besturingssysteem Linux. Alle Unix-derivaten hebben gemeen dat aan bestanden en mappen bepaalde toegangsrechten worden toegekend. Je kunt die in Linux wijzigen met ‘chmod’, een command-line-programma dat in de terminal via het gelijknamige commando geactiveerd wordt.
Het programma ‘chmod’, afkorting van ‘change mode’, werd begin jaren zeventig geïntroduceerd met de eerste versie van de AT&T-Unix. De toepassing chmod wordt in Unix-gebaseerde besturingssystemen gebruikt om toegangsrechten toe te kennen in bestandssystemen die de klassieke Unix-bestandsrechten ondersteunen. Dit geldt meestal voor alle standaard bestandssystemen op gangbare Linux-servers. Het systeem van Unix-bestandsrechten is gebaseerd op gebruikerscategorieën en individueel toegewezen basisrechten. In dit geval ondersteunt chmod twee verschillende functies: de symbolische notatie met letters, en de toewijzing van bestandsrechten door middel van op cijfers gebaseerde, octale codes. Het wijzigen van de toegangsrechten met chmod kun je alleen doen als je eigenaar van het bestand bent óf rootgebruiker. De opdracht, die je gewoon in de terminal intypt, heeft altijd de volgende syntaxis:
$ chmod options mode file
Op het commando chmod volgt het vrijblijvende element options. Daarmee definieer je extra eigenschappen van chmod. Het element mode vertegenwoordigt een rechtenmasker dat op het volgende bestand, d.w.z. een bestand of map, moet worden toegepast. Dit masker geeft aan of een gebruikersklasse nieuwe toegangsrechten moet krijgen of dat deze rechten uit reeds toegekende rechten moeten worden verwijderd.
In Unix en Linux heeft elk bestand op een server individuele toegangsrechten. Hetzelfde geldt voor directory's. De toegangsrechten worden geregeld volgens drie klassen van gebruikers:
Eigenaar (user): een gebruiker die een bestand aanmaakt in Unix wordt gewoonlijk automatisch gedefinieerd als de ‘user’ van het bestand. Het eigendom kan later worden gewijzigd door het commando ‘chown’. In de symbolische notatie krijgt de gebruikersklasse ‘user’ de letter ‘u’.
Groep (group): de gebruikersklasse ‘group’ omvat verschillende gebruikersaccounts op de server. In Unix-bestandssystemen wordt elk gebruikersaccount automatisch toegewezen aan een hoofdgroep. Lidmaatschap in andere groepen is ook mogelijk. Zowel de eigenaar als de rootgebruiker kan bestanden groeperen met behulp van het ‘chgrp’ commando. De gebruikersklasse ‘groep’ wordt in de symbolische notatie met de letter ‘g’ weergegeven.
Andere (others): deze gebruikersklasse omvat alle gebruikers die geen user zijn van het bestand en ook niet bij een groep horen. Deze gebruikersklasse heeft de symbolische notatie ‘o’.
Heeft een opdracht betrekking op alle gebruikersklassen (user, group en others)? Dan is in de symbolische notatie hiervoor de afkorting ‘a’ beschikbaar, voor ‘all’.
Het Unix-bestandssysteem heeft drie basisrechten. Elk van de bovengenoemde gebruikersaccounts kan verschillende rechten hebben die door de eigenaar van het bestand zijn toegewezen:
Lezen (read): het toegangsrecht ‘read’ geeft een gebruiker leestoegang tot een bestand. In het geval van een directory kan hij de hele inhoud van die map lezen. Maar met het read-toegangsrecht kun je geen bestandsrechten bekijken. In de symbolische notatie wordt dit recht gecodeerd met de letter ‘r’, ook wel r-bit genoemd.
Schrijven (write): gebruikers met het toegangsrecht ‘write’ mogen de inhoud van het bestand wijzigen. Als ‘write’ is toegewezen aan een directory, mag de gebruiker in die map submappen en bestanden aanmaken. Het schrijfrecht wordt in de symbolische notatie weergegeven met een ‘w’. Het heet daarom ook wel w-bit.
Uitvoeren (execute): een gebruiker met dit toegangsrecht mag bestanden als programma uitvoeren en naar een andere directory gaan om daar te kijken welke submappen of bestanden er staan. De symbolische notatie kent aan dit recht de letter ‘x’ toe, ofwel het x-bit.
Denk er bij het toekennen van toegangsrechten aan dat machtigingen in Unix niet worden geërfd. Ofwel, als je een bestand in een directory aanmaakt, krijgt dat bestand niet automatisch de toegangsrechten die voor de hele directory gelden. Individuele bestandsrechten vloeien voort uit de machtiging van het programma dat het bestand heeft aangemaakt.
Weergave van toegangsrechten in de terminal
Om het systeem van Unix-toegangsrechten te onthouden, is het handig om te weten hoe de terminal toegangsrechten voor bestanden of mappen weergeeft. Met de opdracht ‘ls’ kan de inhoud van een map in de terminal weergegeven worden. Voor informatie over bestandsmachtigingen gebruik je (als user of rootgebruiker) het attribuut ‘-l’. Hieronder zie je de toegangsrechten voor de map ‘voorbeeldmap’:
gebruiker@computer:~$ ls –l drwxrw-r-- 0 voorbeelduser voorbeeldgroup 0000 2016-01-01 voorbeeldmap
De tekens aan het begin zijn bijzonder belangrijk voor bestandsmachtigingen:
Deze coderen het bestandstype en toegangsrechten voor de drie gebruikersklassen. Het beginteken geeft het type bestand aan. De string in het voorbeeld begint met een d. Het is dus het bestandstype ‘directory’. Daarna volgen drie blokken van elk drie tekens. Elk van deze drie blokken vertegenwoordigt een gebruikersklasse volgens de standaardvolgorde (user, group, others). De letters zijn afkortingen voor de symbolische notatie van de verschillende toegangsrechten:
De bestandsmachtigingen voor de map ‘voorbeeldmap’ zijn daarom als volgt: de eigenaar (user) mag de map wijzigen (r), hij heeft schrijfmachtigingen (w) en het uitvoerrecht (x) waarmee hij een lijst van de bestanden in de map mag bekijken. Leden van de groep ‘voorbeeldgroep’ hebben lees- en schrijfrechten (r, w), ze mogen bestanden opslaan in de directory. Alle andere gebruikers mogen alleen bestanden en submappen in de directory openen als zij de naam kennen (r). Maar let op: de gedefinieerde toegangsrechten gelden alleen voor de map – niet voor de submappen of bestanden in die map. Voor een tekstbestand in deze map kunnen de toegangsrechten er totaal anders uitzien:
-rw------- 0 voorbeelduser voorbeeldgroup 0000 2016-01-01 voorbeeld.txt
In dit voorbeeld geeft het initiële koppelteken (-) aan dat het een gewoon bestand is en geen directory of link. De notatie rw- geeft de eigenaar zowel lees- als schrijftoegang. Aangezien dit een tekstbestand is en geen programma, wordt het uitvoeringsrecht weggelaten en met een koppelteken (-) genoteerd. Het koppelteken staat ook in de blokken die zijn toegewezen aan de gebruikersklassen ‘group’ en ‘others’. Dit betekent dat alle toegangsrechten tot het voorbeeldbestand voor deze gebruikersklassen zijn uitgesloten.
Toegangsrechten wijzigen met chmod via de terminal
Als je de toegangsrechten tot een map of bestand wilt wijzigen voor één of alle gebruikersklassen, gebruik je in Linux ‘chmod’. Een bestandseigenaar of rootgebruiker voert deze opdracht in, inclusief het rechtenmasker (mode) en de bestandsnaam (file).
$ chmod options mode file
Het rechtenmasker kun je in een symbolische notatie of als octale code definiëren.
Als je het rechtenmasker volgens de symbolische notatie opstelt, gebruik je de volgende operatoren, die de respectievelijke gebruikersklassen koppelen aan bestandsrechten.
Met de operator ‘+’ koppel je nieuwe bestandsrechten aan een gebruikersklasse. Alleen de betroffen bestandsrechten worden hierbij overschreven.
De operator ‘-‘ verwijdert een bestandsrecht van een gebruikersklasse.
Wil je bestandsrechten voor een gebruikersklasse definiëren, ongeacht de vorige rechten? Dan gebruik je hiervoor de operator ‘=’
Als bijvoorbeeld het nieuw geïntroduceerde bestand ‘voorbeeld.txt’ zo moet worden gewijzigd dat niet alleen de eigenaar (user), maar ook alle andere gebruikers (group, others) schrijf- en leesrechten krijgen, dan zou het chmod-commando er als volgt uitzien:
$ chmod ugo+rw voorbeeld.txt
$ chmod a+rw voorbeeld.txt
Een verwijzing naar alle gebruikersklassen zou ook mogelijk zijn:
In de terminal zou het bestand ‘voorbeeld.txt’ nu de volgende rechten tonen in plaats van de oorspronkelijke toegangsrechten:
Toegangsrechten voor de wijziging:
Toegangsrechten na de wijziging:
+ = Toegangsrecht toevoegen
De symbolische notatie is gemakkelijk te begrijpen, maar wordt wat onhandig bij frequent gebruik. Veel beheerders gebruiken daarom de octale notatie bij het toewijzen van toegangsrechten. Dit is een reeks van drie cijfers waarbij elk cijfer een gebruikersklasse van de server vertegenwoordigt. De octale notatie is ook gebaseerd op de standaardvolgorde:
Hoort bij de gebruikersklasse ‘eigenaar’ (user)
Hoort bij de gebruikersklasse ‘groep’ (group)
Hoort bij de gebruikersklasse ‘overige’ (others)
De waarde van elk cijfer bepaalt de toegangsrechten die aan de individuele gebruikerscategorieën worden toegekend. Vervolgens geldt de som van de individuele waarden die je aan de respectievelijke rechten toekent:
Deze toekenning leidt tot de volgende waardecombinaties:
Voor een voorbeeld van de octale notatie gebruiken we weer het bestand ‘voorbeeld.txt’. Vóór we de toegangsrechten met chmod wijzigden, gold deze code:
-rw------- 0 voorbeelduser voorbeeldgroup 0000 2016-01-01 voorbeeld.txt
Alleen de eigenaar (user) heeft de toegangsrechten ‘read’ (r) en ‘write’ (w). Alle andere gebruikers hebben geen toegangsrechten tot het bestand. Ervan uitgaande dat de eigenaar van plan is om de ‘voorbeeldgroep’ leesrechten toe te kennen, wordt dit de octale code:
$ chmod 640 voorbeeld.txt
De eigenaar heeft dezelfde toegangsrechten als voorheen, maar nu met de waarde 6 op de eerste plaats in het rechtenmasker: 4 (lezen) + 2 (schrijven). De tweede waarde in het rechtenmasker specificeert de toegangsrechten van de groep: 4 (lezen). Andere gebruikers hebben geen rechten en zijn met een 0 gecodeerd.
Als de gebruikerscategorie ‘others’ leesrechten moet krijgen, wordt dit de octale code:
$ chmod 644 voorbeeld.txt
De 4 op de derde plaats van de octale code definieert dit leesrecht voor andere gebruikers op de server.
Opties van het commando chmod
Bij het toekennen van toegangsrechten heb je verschillende opties, ongeacht of je een symbolische of numerieke notatie kiest. Deze opties plaats je tussen de opdracht en het rechtenmasker.
De wijziging van toegangsrechten geldt voor alle bestanden en submappen in een map.
Na de command-line-opdracht wordt een diagnose gesteld voor alle verwerkte bestanden.
Na de command-line-opdracht wordt een diagnose gesteld voor alle gewijzigde bestanden.
Foutmeldingen worden niet getoond.
Het volgende voorbeeld toont een commando waarbij de wijziging van toegangsrechten recursief verwijst naar de submappen en bestanden in de map:
$ chmod -R 744 voorbeeldmap
Voor alle bestanden en submappen in de directory ‘voorbeeldmap’ geldt het volgende: de eigenaar krijgt volledige toegangsrechten (7), groepsleden en andere gebruikers hebben alleen leestoegang (4).
Het voordeel van het Unix-bestandssysteem is zijn eenvoudige structuur. Je kunt complexe dagelijkse problemen bij het werken met een multi-user-besturingssysteem eenvoudig oplossen. Bovendien blijft het systeem intuïtief voor gebruikers en gebruiksvriendelijk voor computersystemen. Maar als je bij het instellen van toegangsrechten de terminal niet wilt gebruiken, kun je ook een bestandsbeheerder nemen. Traditionele FTP-programma's bieden hiervoor meestal een grafische interface.