Er zijn 3 speciale toestemmingen die beschikbaar zijn voor uitvoerbare bestanden en mappen. Deze zijn :
1. SUID permissie
2. SGID permissie
3. Sticky bit
- Set-user Identification (SUID)
- Hoe stel je SUID in op een bestand?
- Set-group identification (SGID)
- SGID permissie op uitvoerbaar bestand
- Hoe de GUID op een bestand in te stellen?
- SGID op een directory
- Hoe SGID in te stellen op een directory
- Sticky Bit
- Voorbeeld van sticky bit :
- Hoe stel je sticky bit permissie in?
Set-user Identification (SUID)
Heb je ooit gedacht, hoe een niet-root gebruiker zijn eigen wachtwoord kan veranderen als hij geen schrijf permissie heeft voor het /etc/shadow bestand. hmmm… interessant is het niet? Om de truc te begrijpen, controleer de permissies van het commando /usr/bin/passwd :
# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd
– Als je goed kijkt, zie je de 2 S’en in het permissie veld. De eerste s staat voor SUID en de tweede staat voor SGID.
– Wanneer een commando of script met SUID bit ingesteld wordt uitgevoerd, wordt de effectieve UID die van de eigenaar van het bestand, in plaats van die van de gebruiker die het uitvoert.
– Een ander goed voorbeeld van SUID is het su commando :
# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su
– De setuid permissie wordt weergegeven als een “s” in het execute veld van de eigenaar.
Hoe stel je SUID in op een bestand?
# chmod 4555
Als een hoofdletter “S” verschijnt in het execute veld van de eigenaar, geeft dit aan dat de setuid bit aan staat, en de execute bit “x” voor de eigenaar van het bestand uit staat of wordt geweigerd.
Set-group identification (SGID)
SGID permissie op uitvoerbaar bestand
– SGID permissie is gelijk aan de SUID permissie, het enige verschil is – wanneer het script of commando met SGID aan wordt uitgevoerd, wordt het uitgevoerd alsof het lid is van dezelfde groep waar het bestand lid van is.
# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write
– De setgid permissie verschijnt als een “s” in het groep execute veld.
– Als een kleine letter “l” verschijnt in de groep execute veld, geeft dit aan dat de setgid bit is ingeschakeld, en de execute bit voor de groep is uit of geweigerd.
Hoe de GUID op een bestand in te stellen?
# chmod 2555
SGID op een directory
– Wanneer SGID-toestemming is ingesteld op een directory, behoren bestanden die in de directory zijn gemaakt tot de groep waarvan de directory lid is.
– Bijvoorbeeld als een gebruiker met schrijf-toestemming in de directory daar een bestand maakt, is dat bestand lid van dezelfde groep als de directory en niet van de groep van de gebruiker.
– Dit is erg handig bij het maken van gedeelde directories.
Hoe SGID in te stellen op een directory
# chmod g+s
Sticky Bit
– De sticky bit wordt voornamelijk gebruikt op gedeelde directories.
– Het is nuttig voor gedeelde mappen zoals /var/tmp en /tmp omdat gebruikers bestanden kunnen maken, lezen en uitvoeren die eigendom zijn van andere gebruikers, maar geen bestanden mogen verwijderen die eigendom zijn van andere gebruikers.
– Bijvoorbeeld als gebruiker bob een bestand maakt met de naam /tmp/bob, kan andere gebruiker tom dit bestand niet verwijderen, zelfs niet als de /tmp directory toestemming heeft van 777. Als sticky bit niet is ingesteld dan kan tom /tmp/bob verwijderen, omdat het /tmp/bob bestand de bovenliggende directory permissies erft.
– root gebruiker (Natuurlijk!) en eigenaar van de bestanden kunnen hun eigen bestanden verwijderen.
Voorbeeld van sticky bit :
# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp
- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.
Hoe stel je sticky bit permissie in?
# chmod +t or # chmod 1777