| Je wijzigt de machtigingen voor een shellscript in Unix met behulp van het `chmod`-commando. Hier ziet u hoe:
Rechten begrijpen:
Unix-machtigingen worden weergegeven door een driecijferig octaal getal (grondtal 8). Elk cijfer regelt de rechten voor een categorie gebruikers:
* Eerste cijfer (uiterst links): Eigenaarsrechten
* Tweede cijfer: Groepsmachtigingen
* Derde cijfer: Anderen (alle anderen)
Elk cijfer is een som van deze waarden:
* `4`:Leesrechten
* `2`:Schrijfrechten
* `1`:Toestemming uitvoeren
* `0`:Geen toestemming
Voorbeeldscenario's:
Laten we zeggen dat je een script hebt met de naam `my_script.sh`.
* Maak het alleen uitvoerbaar voor de eigenaar:
``` bash
chmod 700 mijn_script.sh
```
Dit geeft de eigenaar lees- (4), schrijf- (2) en uitvoerrechten (1) (4+2+1=7), en geen machtigingen voor de groep of anderen (00).
* Maak het uitvoerbaar voor de eigenaar en groep:
``` bash
chmod 750 mijn_script.sh
```
Dit geeft de eigenaar lees-, schrijf- en uitvoerrechten (7), de groep lees- en uitvoerrechten (4+1=5) en geen rechten voor anderen (0).
* Maak het voor iedereen uitvoerbaar:
``` bash
chmod 755 mijn_script.sh
```
Dit geeft de eigenaar lezen, schrijven en uitvoeren (7), de groep lezen en uitvoeren (5), en anderen lezen en uitvoeren (5). Dit is een algemene toestemming voor scripts die bedoeld zijn om door meerdere gebruikers te worden uitgevoerd.
* Voeg uitvoeringsrechten toe voor iedereen zonder de lees-/schrijfrechten te wijzigen:
Als u niet alle machtigingen wilt opgeven, kunt u de syntaxis `+x` gebruiken om de machtiging *toevoegen* uit te voeren.
``` bash
chmod +x mijn_script.sh
```
Dit voegt uitvoerrechten toe voor de eigenaar, de groep en anderen, waarbij de lees- en schrijfrechten ongewijzigd blijven.
* Verwijder de uitvoeringsrechten voor anderen:
U kunt ook de `-x`-syntaxis gebruiken om de uitvoeringsrechten te *verwijderen*.
``` bash
chmod -x mijn_script.sh
```
Hiermee wordt de uitvoeringsmachtiging voor de eigenaar, groep en anderen verwijderd.
Rechten controleren:
Nadat u de machtigingen hebt gewijzigd, kunt u deze verifiëren met het commando `ls -l`:
``` bash
ls -l mijn_script.sh
```
Dit toont u de machtigingen in een voor mensen leesbaar formaat (bijvoorbeeld `-rwxr-xr-x`).
Vergeet niet om `my_script.sh` te vervangen door de werkelijke naam van uw shellscript. Wees altijd voorzichtig bij het wijzigen van machtigingen, omdat onjuiste instellingen beveiligingsproblemen kunnen veroorzaken. |