Overzicht van umask
Het besturingssysteem kent standaardrechten toe wanneer nieuwe bestanden of mappen worden aangemaakt. De `umask` waarde wordt 'uitgesloten' van deze standaardrechten om de uiteindelijke rechten te bepalen. `umask` is belangrijk vanuit beveiligingsperspectief, omdat het bijvoorbeeld kan voorkomen dat belangrijke configuratiebestanden met te open rechten worden aangemaakt. De `umask` waarde kan voor elke gebruikerssessie anders worden ingesteld en wordt meestal ingesteld in shell-initialisatiebestanden zoals `.bashrc` of `.profile`.
Hoe umask werkt
`umask` is een **maskerwaarde die de rechten specificeert die 'uitgesloten' moeten worden, in plaats van de rechten die toegestaan moeten worden**. Met andere woorden, de uiteindelijke rechten zijn het resultaat van het aftrekken van de `umask` waarde van de maximale standaardrechten.
Maximale standaardrechten
- Bestand: `666` (lezen en schrijven, geen uitvoeringsrechten)
- Map: `777` (alle rechten voor lezen, schrijven en uitvoeren)
Hoe umask te berekenen
`umask` wordt weergegeven als een 3-cijferig octaal getal (bijv. `022`, `002`). Deze waarde wordt toegepast in de volgorde van eigenaar (User), groep (Group) en anderen (Others). Elk cijfer vertegenwoordigt de som van de rechtenbits (lezen=4, schrijven=2, uitvoeren=1). De uiteindelijke rechten worden als volgt berekend:
Type | Maximale standaardrechten | umask | Uiteindelijke rechten |
---|---|---|---|
Bestand | 666 (rw-rw-rw-) | 022 (--w--w-) | 644 (rw-r--r--) |
Map | 777 (rwxrwxrwx) | 022 (--w--w-) | 755 (rwxr-xr-x) |
Algemene umask-waarden
In de meeste systemen is de standaard `umask` waarde `0022` of `0002`. De voorafgaande `0` staat voor speciale rechten (sticky bit, SGID, SUID) en wordt doorgaans op `0` ingesteld.
Betekenis van algemene umask-waarden
- `umask 022`: Bestanden worden aangemaakt met `644`(rw-r--r--), en mappen met `755`(rwxr-xr-x) rechten. Dit is de meest gebruikelijke instelling, waarbij de eigenaar alle rechten heeft en groep en andere gebruikers lees- en uitvoeringsrechten krijgen.
- `umask 002`: Bestanden worden aangemaakt met `664`(rw-rw-r--), en mappen met `775`(rwxrwxr-x) rechten. Dit staat schrijfrechten toe voor groepsgebruikers, wat samenwerking binnen dezelfde groep bevorderlijk maakt.
- `umask 077`: Bestanden worden aangemaakt met `600`(rw-------), en mappen met `700`(rwx------) rechten. Dit is een zeer strikte rechteninstelling, waarbij niemand anders dan de eigenaar toegang heeft. Dit is geschikt voor persoonlijke bestanden of mappen waar beveiliging van groot belang is.
Belangrijke umask-commando-opties
`umask` commando wordt gebruikt om de huidige waarde te controleren of een nieuwe waarde in te stellen. Wanneer het zonder opties wordt gebruikt, toont het de huidige `umask` waarde.
1. umask-waarde controleren en instellen
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`umask` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruik Voorbeelden
Leer hoe je de standaardrechten voor nieuw aangemaakte bestanden en mappen kunt controleren en instellen aan de hand van verschillende toepassingsvoorbeelden van het `umask` commando.
Controleer huidige umask-waarde
umask
Controleert de `umask` waarde van de huidige shell-sessie in octale vorm (bijv. `0022`).
Controleer umask-waarde in symbolische modus
umask -S
Controleert de `umask` waarde in de uiteindelijke toegestane rechten vorm zoals 'u=rwx,g=rx,o=rx' in plaats van octaal.
Stel umask-waarde in op 002
umask 002
Verandert de `umask` zodat nieuw aangemaakte bestanden worden ingesteld op `664`(rw-rw-r--), en mappen op `775`(rwxrwxr-x). (Geeft schrijfrechten aan groepsgebruikers)
Stel strikte umask-waarde in op 077
umask 077
Verandert de `umask` zodat nieuw aangemaakte bestanden worden ingesteld op `600`(rw-------), en mappen op `700`(rwx------). Niemand anders dan de eigenaar heeft toegang.
Controleer de rechten voor bestanden/mappen na umask-wijziging
umask 002
touch test_file_002.txt
mkdir test_dir_002
ls -l test_file_002.txt test_dir_002
Stelt de umask in op `002` en controleert met `ls -l` of de gewijzigde rechten zijn toegepast door nieuwe bestanden en mappen aan te maken.