Gli utenti di computer client possono utilizzare l'utilità chmod per impostare i bit di modalità file setuid (set-user-identifier-on-execution), setgid (set-group-identifier-on-execution) e sticky in directory o file archiviati in una partizione del file system NTFS e condivisi tramite Server per NFS. Quando successivamente viene eseguito l'accesso al file o alla directory da parte di un client basato su UNIX, viene applicata la semantica standard per questi bit. Un file eseguibile con il bit setuid impostato verrà ad esempio eseguito con l'ID utente del proprietario del file e non dell'utente che sta eseguendo il file.
In genere, quando in un file viene impostato il bit setuid o setgid, il proprietario o il gruppo del file viene modificato nel proprietario o nel gruppo con l'ID del quale verrà eseguito il file. A meno che un utente disponga del diritto di ripristinare file o directory, la sicurezza di Windows consente all'utente di diventare proprietario di un file, se le autorizzazioni del file lo consentono, ma non di trasferire la proprietà a un altro utente. Di conseguenza, per utilizzare i comandi chown o chgrp per cambiare il proprietario o il gruppo di un file assegnando un diverso utente o gruppo, è necessario disporre del privilegio di ripristino di file e directory. Per impostazione predefinita, questo privilegio viene assegnato ai membri dei gruppi Administrators e Backup Operators, sebbene possa essere assegnato ad altri gruppi o a singoli utenti. È inoltre necessario che per l'account utente che esegue il comando chown o chgrp e per l'utente o il gruppo a cui viene trasferita la proprietà venga eseguito il mapping appropriato tramite la funzionalità Ricerca con Active Directory o il servizio Mapping nomi utente.
In alcuni server NFS (Network File System) basati su UNIX vengono applicate interpretazioni o restrizioni speciali per i bit setuid, setgid e sticky. In alcune versioni di UNIX, ad esempio, viene applicato il blocco obbligatorio a una directory con il bit setgid impostato ma senza autorizzazioni di esecuzione. Tramite il servizio Server per NFS non vengono implementate interpretazioni o restrizioni speciali per l'utilizzo di questi bit.
Problema di sicurezza
Il comportamento tipico dei bit setuid e setgid UNIX presenta un problema di sicurezza noto in UNIX. Un intruso può sfruttare il comportamento dei bit setuid e setgid sovrascrivendo un file eseguibile con un trojan horse e quindi eseguendo il file. Il file eseguibile viene eseguito con i diritti di proprietario anziché come intruso.
Per impedire questo problema di sicurezza noto, per impostazione predefinita i bit setuid e setgid sono disabilitati e non influiscono sulle impostazioni di UID o GID se il file o la directory presenta entrambe le caratteristiche seguenti:
-
Uno o entrambi i bit seguenti sono impostati: setuid o setgid
-
Il file o la directory può essere scritto o eseguito da un gruppo o da tutti.
Per alcuni utenti questa misura di sicurezza potrebbe risultare problematica in quanto si differenzia dal comportamento tipico di UNIX, sebbene il comportamento tipico dei bit setuid e setgid UNIX non sia specificato come parte del protocollo NFS.
Modificare il comportamento dei bit setuid e setgid
Per modificare il comportamento dei bit setuid e setgid, eseguire la procedura seguente.
Per modificare il comportamento dei bit setuid e setgid |
Aprire l'editor del Registro di sistema.
Impostare la chiave del Registro di sistema seguente:
HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)
-
Un valore pari a 1 consente di impostare il comportamento più protetto dei bit setuid e setgid.
-
Un valore pari a 0 consente di impostare il comportamento standard di UNIX.
-
Un valore pari a 1 consente di impostare il comportamento più protetto dei bit setuid e setgid.