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