Wat is Setuid?

Setuid, wat staat voor een ingesteld gebruikers-ID bij uitvoering, is een speciaal type bestandstoestemming in Unix en Unix-achtige besturingssystemen zoals Linux en BSD. Het is een beveiligingshulpmiddel waarmee gebruikers bepaalde programma's kunnen uitvoeren met geëscaleerde privileges.

Wanneer de setuid-machtiging van een uitvoerbaar bestand is ingesteld, kunnen gebruikers dat programma uitvoeren met een toegangsniveau dat overeenkomt met de gebruiker die eigenaar is van het bestand. Wanneer een gebruiker bijvoorbeeld zijn wachtwoord wil wijzigen, voert deze de passwd-opdracht uit. Het passwd-programma is eigendom van het root-account en is gemarkeerd als setuid, dus de gebruiker krijgt tijdelijk roottoegang voor dat zeer beperkte doel.

Bij het bekijken van de permissies van een bestand met de opdracht ls -l, wordt de machtiging setuid weergegeven als een " s " in de "user execute" bitpositie. Bijvoorbeeld:

 ls -l / usr / bin / passwd 
 -rwsr-xr-x 1 root 54192 20 november 17:03 / usr / bin / passwd 

Instellen van de setuid-machtiging van een bestand

Als u de toestemming setuid voor een uitvoerbaar bestand wilt instellen, gebruikt u de machtigings-ID u + s met de opdracht chmod :

 chmod u + s mijnbestand 

Niet-uitvoerbare bestanden kunnen worden gemarkeerd als setuid, maar dit heeft geen effect; het markeren van setuid maakt ze niet automatisch uitvoerbaar. In dit geval verschijnt het toestemmingsbit als een hoofdletter " S ". Bijvoorbeeld:

 ls -l mijn bestand 
 -rw-r - r-- 1 gebruiker 0 6 maart 10:45 mijnbestand 
 chmod u + s mijnbestand 
 ls -l mijn bestand 
 -rwSr - r-- 1 gebruiker 0 6 maart 10:45 mijnbestand 

Als u het bestand vervolgens als uitvoerbaar door de gebruiker instelt met de machtiging u + x, treedt de toestemming setuid in werking. Het zal dan worden weergegeven in de lijst met een kleine letters " s ":

 chmod u + x mijnbestand 
 ls -l mijn bestand 
 -rwsr - r-- 1 gebruiker 0 6 maart 10:45 mijnbestand 

setgid

Setgid is het equivalent van setuid dat toestemming verleent van de groep die de eigenaar van het bestand is, staat bekend als setgid . Het werkt op vrijwel dezelfde manier en de " s " - of " S " -indicator wordt weergegeven in de uitvoergroeppositie van de uitvoer van ls -l . Bijvoorbeeld:

 chmod g + s myfile2 
 ls -l mijnbestand2 
 -rw-r-sr-- 1 gebruiker 0 6 maart 10:46 myfile2 

Computerafkortingen, uitvoerbaar bestand, Linux, toestemming, beveiligingsvoorwaarden