Med hjälp av kommandot chmod kan klientdatoranvändare ange setuid (set-user-identifier-on-execution), setgid (set-group-identifier-on-execution) och sticky bits (tröga bitar) för filläge på filer eller kataloger som lagras i en NTFS-filsystempartition och som delas via Server för NFS. När filen eller katalogen senare hämtas av en UNIX-baserad klient, tillämpas standardsemantiken på dessa bitar. En körbar fil vars setuid-bit är inställd, kommer till exempel att köras under filägarens användar-ID (UID) och inte under det användar-ID som tillhör den som kör filen.

När setuid- eller setgid-biten är inställd på en fil, kommer filens ägare eller grupp att ändras till ägaren eller grupp (GID) under vars ID filen körs. Såvida inte en ägare har rätt att återställa filer eller kataloger, tillåter Windows-säkerheten att en användare övertar ägandeskapet till en fil (förutsatt att filens behörighetsinställningar tillåter det), men tillåter inte att ägandeskapet överförs till en andra användare. Om du ska kunna använda kommandot chown eller chgrp för att ändra en fils ägare eller grupp, krävs att du har privilegier att återställa filer och kataloger. Som standard tilldelas denna behörighet medlemmar av grupperna Ansvariga och Ansvariga för säkerhetskopiering, även om den kan tilldelas andra grupper eller enskilda användare. Kontot för den användare som kör kommandot chown eller chgrp och den användare eller grupp som ägandeskapet överförs till, måste mappas på rätt sätt via Active Directory-sökning eller Mappning av användarnamn.

Vissa UNIX-baserade NFS-servrar (Network File System) tillämpar speciella tolkningar av eller begränsningar för setuid, setgid och sticky bits (tröga bitar). Vissa versioner av UNIX tillämpar exempelvis obligatorisk låsning av en katalog vars setgid-bit angetts men som saknar körbehörighet. Server för NFS tillämpar inte speciella tolkningar av eller begränsningar för användning av dessa bitar.

Säkerhetsproblem

Ett vanligt beteende hos UNIX-setuid och UNIX-setgid utgör ett känt säkerhetsproblem i UNIX. En inkräktare kan utnyttja beteendet hor setuid och setgid genom att skriva över en körbar fil med en trojansk häst och därefter sätta igång den körbara filen. Den körbara filen körs med de rättigheter som ägare har i stället för att köras som inkräktaren.

För att förhindra att detta säkerhetsproblem uppstår, är setuid och setgid inaktiverade som standard och påverkar inte inställningarna för UID eller GID om filen eller katalogen kännetecknas av följande:

  • Den ena eller båda av följande bitar är inställda: setgid eller setuid.

  • Filen eller katalogen är skrivbar för gruppen, körbar för gruppen, skrivbar för alla eller körbar för alla.

Vissa kunder upplever kanske denna säkerhetsåtgärd som problematisk eftersom det påverkar det normala UNIX-beteendet, även om det typiska beteendet hos UNIX-setuid och UNIX-setgid inte ingår i NFS-protokollet.

Så här ändrar du beteendet hos setuid och setgid

Använd följande procedur för att ändra beteendet för bitarna setuid och setgid:

Så här ändrar du beteendet hos setuid och setgid
  1. Öppna Registereditorn.

  2. Ställ in följande registernyckel:

    HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)

    • Värdet 1 resulterar i ett säkrare beteende hos setuid och setgid.

    • Värdet 0 resulterar i standard-UNIX-beteendet.


Innehåll