Subsystem for UNIX-based Applications

Subsystem for UNIX-based Applications (SUA) è un sottosistema per la compatibilità del codice sorgente che consente di compilare ed eseguire applicazioni personalizzate basate su UNIX nei computer che eseguono sistemi operativi Microsoft® Windows® di classe server. Con SUA è possibile assicurare la piena interoperabilità delle applicazioni UNIX con Windows con minimi interventi o nessun intervento a livello di codice sorgente.

Subsystem for UNIX-based Applications fornisce un sistema operativo per i processi POSIX (Portable Operating System Interface). SUA, insieme al relativo pacchetto di utilità di supporto, quali shell e un client Telnet, disponibile per il download sul sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=139521, fornisce un ambiente UNIX completo. Il pacchetto di download include un insieme completo di utilità di script e un SDK (Software Development Kit) progettato per supportare le funzionalità di sviluppo di SUA e per implementare un ambiente completo per lo sviluppo di applicazioni basate su UNIX.

SUA supporta inoltre nomi di file con distinzione tra maiuscole e minuscole, il controllo dei processi, strumenti di compilazione e l'utilizzo di oltre 300 comandi, utilità e script della shell UNIX. Dato che il sottosistema viene installato separatamente rispetto al kernel di Windows, offre vere funzionalità UNIX senza alcuna emulazione.

Funzionalità in questa versione

Le funzionalità incluse in Subsystem for UNIX-based Applications sono:

  • Connettività di librerie di database (OCI/ODBC) SUA supporta la connettività con Oracle e SQL Server da applicazioni di database utilizzando l'interfaccia OCI (Oracle Call Interface) e lo standard ODBC (Open Database Connectivity).

  • Microsoft Visual Studio® Debugger Extension per il debug di applicazioni POSIX SUA include il supporto per il debug dei processi POSIX tramite l'ambiente di sviluppo integrato (IDE) di Visual Studio.

  • Utilità basate su ambienti SVR-5 e BSD UNIX Il pacchetto di download SUA supporta due diversi ambienti UNIX: SVR-5 e BSD.

  • Supporto di applicazioni a 64 bit Tramite un processo denominato esecuzione del thunk, SUA fornisce supporto non solo per applicazioni a 64 bit in esecuzione su un sistema operativo a 64 bit, ma anche supporto predefinito per i file binari a 32 bit in esecuzione su un sistema a 64 bit.

Per ulteriori informazioni e per scaricare le utilità di script e l'SDK, visitare il sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=139521.

In questa sezione

Panoramica di Subsystem for UNIX-based Applications

Installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications

Subsystem for UNIX-based Applications e distinzione tra maiuscole e minuscole

Setuid in Subsystem for UNIX-based Applications

Subsystem for UNIX-based Applications e compatibilità POSIX

Chiamate di sistema supportate

Utenti anonimi e controllo incrociato

Vedere anche

  • Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications in Microsoft Windows Vista RTM, Windows Vista SP1 e Windows Server 2008 RTM


Panoramica di Subsystem for UNIX-based Applications

Subsystem for UNIX-based Applications (SUA), evoluzione del sottosistema Interix che in precedenza veniva fornito con Windows Services for UNIX 3.5, è un ambiente UNIX multiutente che funziona in computer che eseguono sistemi operativi Windows di classe server. SUA e le relative utilità offrono un ambiente analogo ai sistemi operativi basati su UNIX. Include inoltre nomi di file con distinzione tra maiuscole e minuscole, il controllo dei processi, strumenti di compilazione e l'utilizzo di oltre 300 comandi, utilità e script della shell UNIX. Essendo progettato per l'esecuzione sul kernel di Windows, SUA offre una reale funzionalità basata su UNIX senza emulazione.

In questa sezione

Installazione di Subsystem for UNIX-based Applications

Ambienti informatici con Subsystem for UNIX-based Applications

Porting di applicazioni tramite Subsystem for UNIX-based Applications

Installazione di Subsystem for UNIX-based Applications

Subsystem for UNIX-based Applications (SUA) è una funzionalità inclusa in Microsoft® Windows Server® 2008 R2 e Windows® 7.

Importante

Per eseguire o modificare script basati su UNIX e applicazioni personalizzate basate su UNIX, è necessario innanzitutto installare il pacchetto Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications. Tale pacchetto è disponibile per il download sul sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=139521.

Come installare Subsystem for UNIX-based Applications in Windows 7

Come installare Subsystem for UNIX-based Applications in Windows Server 2008 R2

Come installare Subsystem for UNIX-based Applications in Windows 7

È possibile installare Subsystem for UNIX-based Applications tramite l'interfaccia di Windows 7 o dal prompt dei comandi. Eseguire la procedura seguente per installare SUA nel computer.

Tramite l'interfaccia di Windows

Tramite una riga di comando

Tramite l'interfaccia di Windows

Per installare SUA tramite l'interfaccia di Windows

  1. Fare clic sul pulsante Start e quindi scegliere Pannello di controllo.

  2. Nella finestra Pannello di controllo fare clic su Programmi.

  3. In Programmi e funzionalità fare clic su Attiva o disattiva le funzionalità di Windows.

  4. Se viene aperta la finestra di dialogo Controllo account utente fare clic su Continua. In caso contrario, continuare con il passaggio successivo.

  5. Nella finestra di dialogo Funzionalità di Windows selezionare la casella di controllo Subsystem for UNIX-based Applications. Fare clic su OK.

  6. Nella pagina Seleziona funzionalità dell'Aggiunta guidata funzionalità selezionare la casella di controllo Subsystem for UNIX-based Applications.

    Il completamento dell'installazione potrebbe richiedere alcuni minuti.

Tramite una riga di comando

Per installare SUA tramite una riga di comando

  1. Aprire una finestra del prompt dei comandi. Per aprire la finestra del prompt dei comandi, fare clic su Start, fare clic sulla casella di testo Inizia ricerca, digitare cmd e quindi premere INVIO.

    È inoltre possibile che sia presente il collegamento Prompt dei comandi nel menu Start.

  2. Passare alla directory %windir%\system32.

    Esempio: La directory corrente è C:\Documents and Settings\nome_utente.

    Digitare cd ..\..\Windows per passare alla directory C:\Windows.

  3. Digitare il comando seguente:

    start /w pkgmgr /iu:SUA

  4. Se viene aperta la finestra di dialogo Controllo account utente fare clic su Continua.

    L'installazione è completa quando nella finestra del prompt dei comandi viene visualizzato %windir%\system32 in una riga nuova.

Come installare Subsystem for UNIX-based Applications in Windows Server 2008 R2

È possibile installare Subsystem for UNIX-based Applications tramite l'interfaccia di Windows Server 2008 R2 o dal prompt dei comandi. Eseguire la procedura seguente per installare SUA nel computer.

Tramite l'interfaccia di Windows

Tramite una riga di comando

Tramite l'interfaccia di Windows

Per installare SUA tramite l'interfaccia di Windows

  1. Aprire Gestione server. Fare clic su Start, scegliere Strumenti di amministrazione, quindi Gestione server.

  2. Nell'area Riepilogo funzionalità della pagina iniziale di Server Manager fare clic su Aggiungi funzionalità.

    Verrà visualizzata l'Aggiunta guidata funzionalità.

  3. Nella pagina Seleziona funzionalità dell'Aggiunta guidata funzionalità selezionare Subsystem for UNIX-based Applications e quindi scegliere Avanti.

  4. Fare clic su Installa.

    Il completamento dell'installazione potrebbe richiedere alcuni minuti.

Tramite una riga di comando

Analogamente ad altre funzionalità disponibili con Windows Server 2008 R2, è possibile utilizzare la riga di comando Server Manager per installare o rimuovere SUA dal computer. Per la riga di comando Server Manager sono disponibili altri parametri, che è possibile utilizzare per visualizzare ulteriori informazioni sul processo di installazione o per identificare le funzionalità già installate nel computer. Per ulteriori informazioni sulla riga di comando di Server Manager, vedere la Guida di Server Manager.

Per installare SUA tramite una riga di comando

  1. Aprire una finestra Prompt dei comandi con privilegi elevati. A tale scopo, fare clic con il pulsante destro del mouse sull'eseguibile Prompt dei comandi o sull'oggetto Prompt dei comandi nel menu Start e quindi scegliere Esegui come amministratore.

  2. Digitare il comando seguente e quindi premere INVIO:

    ServerManagerCmd.exe -install Subsystem-UNIX-Apps -restart

    Nota

    Per l'identificatore di comando per SUA, Subsystem-UNIX-Apps, non è rilevante la distinzione tra maiuscole e minuscole.

    Il parametro -restart al termine del comando di Server Manager indica a Server Manager di riavviare il computer soltanto se ciò è necessario per completare il processo di installazione.

    È inoltre possibile utilizzare il comando di Server Manager con un file di risposte XML. Per ulteriori informazioni sull'utilizzo dei file di risposte con il comando di Server Manager, vedere l'argomento relativo alla creazione di un file di risposte per i comandi di Server Manager nella Guida di Server Manager.

Ambienti informatici con Subsystem for UNIX-based Applications

Un computer che esegue SUA offre due diversi ambienti della riga di comando, ovvero l'ambiente UNIX e l'ambiente Windows. Le applicazioni vengono eseguite in specifici sottosistemi e ambienti. Quando si carica SUA si utilizza un ambiente UNIX, mentre quando si eseguono applicazioni nel sottosistema Windows si utilizza un ambiente Windows.

Ad esempio, quando si utilizza la Korn Shell o la schell C disponibile nel pacchetto di download Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications o qualsiasi altra applicazione compilata per l'esecuzione in SUA, si utilizza un ambiente UNIX. Questo ambiente include, tra l'altro, nomi di file e percorsi con distinzione tra maiuscole e minuscole che utilizzano il formato /usr/examples. Per ulteriori informazioni sui comandi e le utilità disponibili in SUA, vedere la Guida fornita con il pacchetto Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications. Questo pacchetto è disponibile per il download sul sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=139521.

Quando si utilizza il processore di comandi cmd.exe, si utilizza l'ambiente Windows, che include nomi di file senza distinzione tra maiuscole e minuscole e nomi di percorso comprensivi delle lettere di unità, come mostrato nell'esempio seguente: C:\SUA\usr\examples. Per ulteriori informazioni sui nomi di percorso in SUA e Windows, vedere la Guida fornita con il pacchetto di download Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications.

Porting di applicazioni tramite Subsystem for UNIX-based Applications

Subsystem for UNIX-based Applications offre strumenti e librerie API (Application Programming Interface) per il porting di applicazioni per l'esecuzione su computer Windows. Con l'SDK (Software Development Kit), che offre un front-end per il sistema di sviluppo Microsoft Visual C++®, è possibile disporre di un ambiente UNIX per lo sviluppo continuando a fruire dei vantaggi del compilatore nativo per Windows. Per ulteriori informazioni sui nomi di percorso in SUA e Windows, vedere la Guida fornita con il pacchetto di download Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications.

Vedere anche

  • Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications in Microsoft Windows Vista RTM, Windows Vista SP1 e Windows Server 2008 RTM


Installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications

Il pacchetto Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications, disponibile per il download sul sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?linkid=139521, è progettato per funzionare con il componente SUA (Subsystem for UNIX-based Applications) fornito con Microsoft® Windows Server® 2008 R2.

Componenti inclusi nel pacchetto di download

Il pacchetto di download comprende i seguenti componenti:

  • Utilità di base

  • Utilità SVR-5

  • SDK di base

  • SDK GNU

  • Utilità GNU

  • Perl UNIX

  • Visual Studio Debugger Extension

Oltre alle funzionalità incluse in Windows® Services for UNIX 3.5, il pacchetto di downalod supporta lo sviluppo di applicazioni a 64 bit con SUA. Consente inoltre lo sviluppo e il porting di applicazioni UNIX personalizzate tramite l'interfaccia OCI (Oracle Call Interface) e le librerie ODBC di Windows (collettivamente denominata "modalità mista" nel presente documento).

Utilità di base, utilità GNU, SDK e Perl UNIX

Questi componenti comprendono tutte le utilità che in percedenza venivano installate con Windows Services for UNIX 3.5. Si tratta di circa 300 utilità basate su BSD e utilità GNU SUA facoltative, molte delle quali (circa 80) sono disponibili anche in versione a 64 bit.

I componenti GNU includono utilità e strumenti SDK distribuiti alle condizioni della licenza GPL (General Public License) GNU.

Per un elenco completo delle utilità di base, vedere la Guida e le note sulla versione fornite con il pacchetto di installazione.

Utilità SVR-5

Questo insieme è costituito da una Korn Shell e da circa 150 utilità, la maggior parte delle quali supporta SVR-5. Queste utilità sono attualmente disponibili in versione a 32 bit e potrebbero non funzionare in specifici scenari a 64 bit. Vengono comunque eseguite su piattaforme WOW a 64 bit.

Per un elenco completo delle utilità SVR-5, vedere la Guida e le note sulla versione fornite con il pacchetto di installazione.

SDK di base

La versione corrente supporta la maggior parte delle librerie e delle intestazioni installate con Windows Services for UNIX 3.5. Queste supportano la migrazione e lo sviluppo di software correlato con SUA a 32 e 64 bit.

Questo SDK è costitutito dalle librerie e dai file di intestazione corrispondenti seguenti: libreria standard C, libreria standard C++ e libreria Math. La libreria standard C++ e la libreria Math equivalgono dal punto di vista funzionale a quelle fornite da Microsoft nell'ambiente di sviluppo Microsoft Visual Studio®. Sono disponibili sia per piattaforme a 32 bit che per piattaforme a 64 bit. La libreria standard C++ è disponibile anche per file binari a 32 e 64 bit e supporta le applicazioni multithread.

Compatibilità di compilatore

Il pacchetto SDK di base può essere utilizzato con i compilatori gcc (GNU C) e g++ (GNU C++) o con il compilatore Visual Studio 2005. Il collegamento a oggetti condivisi non è supportato con il compilatore Visual Studio 2005. La libreria standard C++ fornita con il pacchetto è compatibile con il compilatore Visual Studio 2005 e può essere utilizzata con c89.

Il compilatore g++ utilizza la propria libreria per la compilazione in C++.

Requisiti di sistema

Il pacchetto Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications può essere installato solo in sistemi operativi Windows di classe server.

I requisiti minimi di sistema per l'installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications dipendono dai componenti che vengono installati e dal file system del disco in cui verranno installati i componenti.

Per installare tutti i componenti di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications è necessario uno spazio su disco massimo di circa 350 MB.

Requisiti aggiuntivi

  • Per ricevere supporto per il prodotto, è necessario installare il service pack più recente di Windows prima di installare il pacchetto Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications e quindi continuare a installare gli ulteriori service pack di Windows man mano che vengono resi disponibili.

  • Il pacchetto Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications deve essere installato su una partizione formattata con il file system NTFS. Non sono supportate operazioni di file system su partizioni FAT.

  • È consigliabile che il computer disponga di almeno 16 MB di RAM in aggiunta alla configurazione minima consigliata per il sistema operativo.

Opzioni di installazione

Durante l'installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications è possibile scegliere una delle opzioni di installazione seguenti:

  • Installazione standard

  • Installazione personalizzata

Nella tabella riportata di seguito sono illustrati i componenti installati in un computer durante l'installazione standard (Standard) e i componenti aggiuntivi disponibili con l'installazione personalizzata (Personalizzata). Se seleziona l'installazione personalizzata, è possibile decidere di non installare componenti che vengono installati automaticamente con l'installazione standard. Questi componenti possono essere installati solo su sistemi operativi Windows di classe server.

Componente | Tipo di installazione
Utilità di base | Standard
SDK di base | Standard
Utilità SVR-5 | Personalizzata
Utilità GNU | Personalizzata
SDK GNU | Personalizzata
Perl UNIX | Personalizzata
Visual Studio Debugger Extension | Personalizzata
Nota

In caso di aggiornamento da Windows Services for UNIX 3.5, le impostazioni esistenti vengono salvate durante l'installazione in computer che eseguono Windows Server 2008 R2 o Windows Server 2008 e vengono ripristinate durante il processso di configurazione per Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications.

Installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications tramite l'interfaccia di Windows

Sono disponibili le opzioni di installazione seguenti:

  • Installazione standard

  • Installazione personalizzata

Installazione standard

Per eseguire un'installazione standard

  1. Scaricare Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications dal sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=139521.

  2. Nella procedura guidata relativa a Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications fare clic su Avanti.

  3. Nella casella Nome utente digitare il proprio nome. Digitare il nome dell'organizzazione nel campo Organizzazione, se non è già presente.

  4. Leggere attentamente le Condizioni di licenza software Microsoft. Se si accettano le condizioni del contratto, fare clic su Accetto i termini del Contratto di Licenza e quindi fare clic su Avanti per continuare l'installazione. Se se fa clic su Non accetto il Contratto di Licenza (Esci dall'installazione), il processo di installazione verrà terminato.

  5. Per installare i componenti predefiniti di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications nella directory predefinita, fare clic su Installazione standard e quindi su Avanti. Per personalizzare l'installazione, vedere Installazione personalizzata.

Installazione personalizzata

Per eseguire un'installazione personalizzata

  1. Scaricare Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications dal sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=139521.

  2. Nella procedura guidata relativa a Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications fare clic su Avanti.

  3. Nella casella Nome utente digitare il proprio nome. Digitare il nome dell'organizzazione nel campo Organizzazione, se non è già presente.

  4. Leggere attentamente le Condizioni di licenza software Microsoft. Se si accettano le condizioni del contratto, fare clic su Accetto i termini del Contratto di Licenza e quindi fare clic su Avanti per continuare l'installazione. Se se fa clic su Non accetto il Contratto di Licenza (Esci dall'installazione), il processo di installazione verrà terminato.

  5. Per installare i componenti predefiniti di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications nella directory predefinita, fare clic su Installazione standard e quindi su Avanti (vedere Installazione standard nella sezione precedente). Se si desidera specificare un altro insieme di componenti o un altro percorso di installazione, fare clic su Installazione personalizzata e quindi su Avanti.

  6. Selezionare le caselle di controllo relative ai componenti che si desidera installare e quindi fare clic sull'opzione appropriata. Se non si desidera installare un componente, fare clic sull'icona accanto al componente e quindi su La funzionalità completa non sarà disponibile. Dopo aver specificato i componenti da installare, fare clic su Avanti.

  7. Se si installa l'SDK (Software Development Kit) GNU, leggere attentamente le informazioni relative alla GPL (General Public Licence) per la libreria GNU. Se si desidera installare l'SDK GNU, fare clic su Avanti per continuare l'installazione. Per modificare i componenti selezionati, fare clic su Indietro.
Note
  • Al termine dell'installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications, è possibile installare componenti aggiuntivi o rimuovere quelli installati.
  • I componenti di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications non possono essere eseguiti da un server di rete. È necessario che tutti i file siano installati nel computer locale.
  • L'installazione standard non fornisce un ambiente di sviluppo UNIX completo. Per ottenere tutti i compilatori GNU, gli strumenti di generazione e gli altri componenti dell'SDK, è necessario selezionare Installazione personalizzata e quindi SDK GNU.
  • Al termine dell'installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications, il comportamento setuid è disattivato per impostazione predefinita. Questo incide sul comportamento di alcuni programmi SUA.
  • In questa installazione non è possibile attivare la distinzione tra maiuscole e minuscole per i nomi di oggetti, ad esempio i nomi di file, nei sottosistemi non Win32.

Installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications tramite la riga di comando

La procedura seguente consente di avviare l'installazione di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications dalla riga di comando.

Per eseguire un'installazione dalla riga di comando

  • Al prompt dei comandi digitare:

    msiexec /i [percorso\]setup.msi [ADDLOCAL="componente[,componente...]"] {/qb|/q}

Nella tabella seguente vengono descritti gli argomenti e le opzioni per questo comando.

Argomento/Opzione | Descrizione
percorso | Percorso completo del file setup.msi di Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications. Se non viene specificato il percorso, è necessario che il file setup.msi sia situato nella directory corrente.
/qb | Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications viene installato con un'interfaccia utente di base. È necessario specificare l'opzione /q oppure /qb. In caso contrario, i risultati saranno imprevedibili.
/q | Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications viene installato senza interfaccia utente o visualizzazione. Questa opzione consente di eseguire un'installazione automatica. È necessario specificare l'opzione /q oppure /qb. In caso contrario, i risultati saranno imprevedibili.
Note
  • Questo comando completa solo un'installazione standard.
  • Per motivi di sicurezza, tutti i servizi SUA (detti anche daemon) sono disattivati per impostazione predefinita. Per gestire i servizi SUA, modificare il file /etc/inetd.conf.

Vedere anche

  • Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications in Microsoft Windows Vista RTM, Windows Vista SP1 e Windows Server 2008 RTM


Subsystem for UNIX-based Applications e distinzione tra maiuscole e minuscole

Nei sistemi operativi Microsoft® Windows®, per i nomi della maggior parte degli oggetti, quali file e directory, la distinzione tra maiuscole e minuscole viene mantenuta ma non è rilevante. È quindi possibile utilizzare caratteri maiuscoli e minuscoli nei nomi di tali oggetti, ma la distinzione tra maiuscole e minuscole non è il criterio utilizzato da Windows per distinguere i file. Ad esempio, in una stessa directory non possono essere presenti due file denominati sample.txt e Sample.txt poiché questi due nomi sono considerati identici ai fini dell'identificazione dei file.

Distinzione tra maiuscole e minuscole e Subsystem for UNIX-based Applications

Nei sistemi operativi basati su UNIX, invece, la distinzione tra maiuscole e minuscole è importante. Nei computer che eseguono tali sistemi operativi, pertanto, due oggetti sono considerati diversi se i relativi nomi si differenziano solo per la sequenza di maiuscole e minuscole. Nella maggior parte dei computer basati su UNIX, sample.txt e Sample.txt possono essere memorizzati nella stessa directory e vengono distinti dal sistema operativo per l'esecuzione di operazioni. Ad esempio, il comando rm S*.txt eliminerebbe Sample.txt, ma non sample.txt.

Per implementare il comportamento UNIX tipico, Subsystem for UNIX-based Applications in genere distingue tra maiuscole e minuscole nell'utilizzo dei nomi di file. Questo può rappresentare un problema per la sicurezza, soprattutto per gli utenti di Windows abituati alle convenzioni di Windows per la distinzione tra maiuscole e minuscole. Ad esempio, una versione di edit.exe infettata da un malware di tipo trojan horse e denominato EDIT.EXE potrebbe venire archiviata nella stessa directory in cui si trova edit.exe. Se un utente digita edit al prompt dei comandi di Windows, è possibile che venga eseguita la versione trojan horse (EDIT.EXE) al posto della versione standard. Se viene attivata la distinzione tra maiuscole e minuscole, è importante che gli utenti di Windows siano a conoscenza di questa eventualità.

Ripristino delle impostazioni predefinite relative alla distinzione tra maiuscole e minuscole

Nei sistemi operativi Microsoft Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server® 2003 e Windows XP il comportamento predefinito dei sottosistemi diversi da Win32 prevede che venga mantenuta ma non considerata la distinzione tra maiuscole e minuscole. Nelle versioni precedenti di Windows tali sottosistemi prevedono la completa distinzione tra maiuscole e minuscole per impostazione predefinita. Per supportare il comportamento UNIX standard, è possibile modificare il comportamento predefinito di Windows Server 2003 e Windows XP per i sottosistemi non Win32 durante l'installazione delle utilità di base che fanno parte del pacchetto Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications. Se si attiva la distinzione tra maiuscole e minuscole e quindi si disinstallano le utilità di base, viene ripristinato il comportamento predefinito dei sottosistemi non Win32, che non prevede la distinzione tra maiuscole e minuscole.

Per ulteriori informazioni sulla modifica delle impostazioni per la distinzione tra maiuscole e minuscole, vedere la pagina relativa alla configurazione della distinzione tra maiuscole e minuscole per i nomi di file e cartelle all'indirizzo http://go.microsoft.com/fwlink/?LinkId=53334.


Setuid in Subsystem for UNIX-based Applications

In molti sistema gli utenti ROOT e SuperUser dispongono di controllo completo del sistema. Subsystem for UNIX-based Applications (SUA) non riconosce l'utente ROOT. Quando è stato sviluppato lo standard POSIX (Portable Operating System Interface), il concetto di utente ROOT era considerato di interesse amministrativo. Invece di un utente ROOT, lo standard POSIX definisce i privilegi appropriati per alcune operazioni.

In questo argomento

setuid e setgid

Subsystem for UNIX-based Applications e identità

Considerazioni di installazione per setuid in Subsystem for UNIX-based Applications

setuid e setgid

I meccanismi setuid e setgid consentono a un programma, quando è in esecuzione, di adottare alcuni aspetti di un'entità di sicurezza diversa da quella dell'utente che esegue il programma. Consentono al programma di alternare tali aspetti tra quelli dell'utente che esegue il richiamo e quelli di un'altra entità di sicurezza.

I privilegi appropriati sono diversi. Mentre i meccanismi setuid e setgid consentono a un'applicazione di controllare la risposta alla domanda "Chi sei?", i privilegi appropriati rispondono alla domanda "Cosa puoi fare?".

Subsystem for UNIX-based Applications e identità

Negli ambienti UNIX tipici, esiste un unico utente a cui sono concessi tutti i privilegi. A tale utente, in genere denominato root, è associato uid == 0. In Subsystem for UNIX-based Applications tutti i privilegi supportati in un dato sistema vengono concessi agli utenti che fanno parte del gruppo Administrators o del gruppo Domain Administrators in tale sistema. Non è necessario effettuare l'accesso come amministratore. Tutti gli utenti che fanno parte del gruppo Administrators o Domain Administrators possiedono i privilegi root. Non tutti i privilegi definiti in POSIX o UNIX sono disponibili in SUA, ovvero esistono alcuni privilegi che non vengono concessi a qualsiasi utente.

I privilegi appropriati in genere sono necessari per una serie di azioni, quali l'accesso al file system, l'invio di segnali ad altri processi (controllo dei processi) o la modifica dell'ID utente (UID) o dell'identificatore di gruppo (GID) per un processo per modificare la capacità di tale processo di eseguire determinate azioni.

Secondo lo standard POSIX, un file è autorizzato a includere bit per impostare un UID (setuid) e un GID (setgid). Se vengono impostati uno o entrambi i bit su un file e un processo esegue tale file, il processo ottiene l'UID e/o il GID del file. Se utilizzato con attenzione, questo meccanismo consente a un utente privo di privilegi di eseguire programmi che vengono eseguiti con i privilegi più elevati del proprietario o del gruppo del file. Se utilizzato in modo non corretto, tuttavia, può introdurre problemi di sicurezza consentendo a utenti privi di privilegi di eseguire azioni che dovrebbero essere eseguite solo da un amministratore. È per questo che SUA non supporta questo meccanismo per impostazione predefinita. Se invece si tenta di eseguire un file con impostato il bit setuid o setgid, SUA non eseguirà il file e restituirà il codice di errore ENOSETUID.

Considerazioni sull'installazione per setuid in Subsystem for UNIX-based Applications

Se si fa affidamento su un'applicazione che richiede il comportamento POSIX standard, è possibile configurare SUA per l'esecuzione di file con il bit setuid o setgid impostato. Con questa configurazione, quando un processo esegue un file in cui è impostato il bit setuid o setgid, SUA costruisce token di sicurezza locali per il processo con i privilegi assegnati al proprietario o al gruppo del file. Dato che i token sono locali, non vengono riconosciuti da altri computer sulla rete. Di conseguenza, anche se il file appartiene a un membro del gruppo Domain Administrators, ad esempio, il processo non dispone di accesso trusted tramite rete Microsoft® Windows® ad altri computer nel dominio. I privilegi saranno invece validi solo sul computer in cui viene eseguito il processo.

Ad esempio, un processo esegue un file di programma con il proprio bit setuid impostato e di proprietà di un membro del gruppo Domain Administrators. Se tale programma tenta di modificare la password di un utente del dominio, tale tentativo avrà esito negativo perché i token di sicurezza del processo sono locali e non vengono riconosciuti dagli altri sistemi nel dominio. Se invece il programma tenta di cambiare la password di un utente locale, tale tentativo avrà esito positivo perché il proprietario del file fa parte del gruppo Domain Administrators, che in genere fa parte del gruppo Administrators del computer locale. Per informazioni sulla configurazione di SUA per l'esecuzione di file con il bit setuid o setgid impostato, vedere la Guida fornita con il pacchetto di download Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications.

Per le funzioni setuid(2), setgid(2) e chroot(2), un processo deve disporre dell'UID effettivo che a sua volta è mappato all'account di sistema, all'account Administrator per il dominio locale o all'account Administrator per il dominio dell'entità. L'account dell'amministratore locale può impostare l'UID o il GID solo su un altro ID nello stesso dominio.

Per chown(1), chmod(1) e chgrp(1), un account deve disporre dei privilegi Windows SE_BACKUP e SE_RESTORE per eseguire operazioni make sui file di proprietà di un altro utente o gruppo oppure per modificare le autorizzazioni per un file di proprietà di un altro utente. Queste autorizzazioni in genere sono associate agli account dei gruppi Administrators e Backup Operators.

Vedere anche

  • Privilegi minimi, controllo dell'account utente e setuid


Privilegi minimi, controllo dell'account utente e setuid

In Windows® 7 è disponibile un meccanismo semplice per utilizzare gli account di utenti finali con privilegi di utente standard eliminando la necessità di privilegi di amministratore per l'esecuzione di attività comuni, ad esempio l'installazione di un driver della stampante o la connessione a una rete wireless. Questa impostazione fondamentale consente di garantire sicurezza a livello di sistema operativo impedendo a malware e rootkit di danneggiare i file e le impostazioni nell'intera azienda.

Il controllo dell'account utente (UAC) si basa sulla teoria della sicurezza dei privilegi minimi, il concetto secondo il quale gli utenti dovrebbero avere il privilegio minimo assoluto richiesto per eseguire le attività assegnate. Le modifiche del Subsystem for UNIX-based Applications che sono compatibili con il controllo dell'account utente comprendono l'utilizzo dell'account utente con privilegi minimi (LUA).

Controllo dell'account utente

Controllo dell'account utente è una funzionalità di sicurezza di Windows 7 introdotta con Microsoft Windows Vista.

Lo scopo principale di Controllo dell'account utente è quello di ridurre l'esposizione e la superficie di attacco del sistema operativo Windows 7 richiedendo che tutti gli utenti operino in modalità utente standard e limitando l'accesso a livello di amministratore ai processi autorizzati. Questa limitazione consente di ridurre al minimo la possibilità per gli utenti di apportare modifiche che potrebbero destabilizzare i computer o inavvertitamente esporre la rete a virus attraverso malware mascherato che ha infettato il computer.

Per impostazione predefinita, Windows 7 esegue ogni applicazione come utente standard anche se l'utente corrente è connesso come membro del gruppo Administrators. Viceversa, quando gli utenti tentano l'avvio di un'applicazione che richiede autorizzazioni di amministratore, Windows 7 le richiede a conferma dell'intenzione di eseguire l'operazione. Solo le applicazioni con privilegi di amministratore possono modificare le impostazioni e il comportamento di sistema e globali.

Per ulteriori informazioni su Controllo dell'account utente, vedere il relativo argomento di descrizione e configurazione in Windows Vista sul sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=70242.

Controllo dell'account utente e privilegi minimi in Subsystem for UNIX-based Applications

Quando un utente di Subsystem for UNIX-based Applications, membro del gruppo Administrators, avvia un applicazione, una shell o un'altra attività, le applicazioni vengono eseguite nel contesto di sicurezza dell'utente standard.

Nell'esempio seguente viene descritto come il controllo dell'account utente può impedire agli utenti membri del gruppo Administrators l'esecuzione di attività di amministrazione senza privilegi elevati.

L'utente A è membro del gruppo Administrators e desidera creare una nuova directory denominata test nella directory / (radice). La creazione di directory nuove nella directory radice è consentita soltanto ai membri del gruppo Administrators. Sebbene l'utente A sia membro del gruppo Administrators, tuttavia non può creare la directory nuova a causa delle restrizioni LUA. L'utente A apre una Korn shell con privilegi elevati e ha l'autorizzazione di creare la directory test in radice.

Vedere le procedure seguenti per eseguire un'applicazione o attività con privilegi elevati.

Come eseguire un'applicazione come amministratore

Dopo aver installato Subsystem for UNIX-based Applications e il pacchetto di download di strumenti e utilità, sono disponibili due modi per eseguire un'applicazione come amministratore.

Tramite l'interfaccia di Windows

Tramite una riga di comando basata su UNIX

Tramite l'interfaccia di Windows

Completare la procedura seguente per eseguire un'applicazione nell'interfaccia utente di Windows che richiede privilegi amministrativi.

Per eseguire un'applicazione come amministratore nell'interfaccia Windows

  1. Fare clic con il pulsante destro del mouse sul file eseguibile dell'applicazione.

  2. Nel menu di scelta rapida fare clic su Esegui come amministratore.

Tramite una riga di comando basata su UNIX

Completare la procedura seguente per eseguire un'applicazione in ambiente Korn shell basato su UNIX che richiede privilegi amministrativi.

Per eseguire un'applicazione come amministratore nella Korn shell

  1. Fare clic sul pulsante Start, scegliere Tutti i programmi, fare clic su Subsystem for UNIX-based Applications e quindi scegliere Korn shell.

  2. Fare clic con il pulsante destro del mouse su Korn shell e quindi scegliere Esegui come amministratore.

  3. Quando viene richiesto di consentire di eseguire la shell come amministratore, fare clic su Sì.

  4. Eseguire il programma che richiede privilegi di amministratore.

  5. Al termine dell'esecuzione dell'applicazione che richiede privilegi elevati, chiudere la sessione shell.

    Per eseguire altre attività in ambiente shell basato su UNIX che non richiedono privilegi di amministratore, aprire una nuova sessione shell senza utilizzare il comando Esegui come amministratore.

Chiave del Registro di sistema EnableSuToRoot

Il controllo dell'account utente è attivato per impostazione predefinita. Quando Controllo dell'account utente è attivato, qualsiasi applicazione o attività che rappresenti un altro utente membro del gruppo Administrators, ad esempio mediante le utilità su, cron o login, setuid e qualsiasi famiglia di chiamate setuid o exec_asuser, viene sempre eseguita nel contesto di sicurezza di un account utente standard.

Nota

Quando un'applicazione rappresenta un utente standard, avrà il contesto di sicurezza completo di un utente standard. Per ulteriori informazioni sugli utenti standard, vedere l'argomento della sezione introduttiva relativa alle procedure consigliate e le istruzioni per sviluppatori per applicazioni in ambiente con privilegi minimi (http://go.microsoft.com/fwlink/?LinkId=70243).

Con le impostazioni predefinite, un'applicazione non può rappresentare l'utente ROOT. È possibile controllare questo comportamento modificando la chiave del Registro di sistema HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA\EnableSuToRoot.

Come modificare la chiave del Registro di sistema EnableSuToRoot

Importante

L'account Administrator è disabilitato per impostazione predefinita in Windows 7 e Windows Server 2008 R2 per facilitare la protezione di computer e dati dall'accesso da parte di utenti non autorizzati o malintenzionati e deve essere abilitato per consentire agli utenti di rappresentare l'utente radice o Administrator. Poiché è necessario abilitare l'account Administrator per poter modificare l'impostazione della chiave del Registro di sistema EnableSuToRoot, la procedura di esecuzione di questa attività è descritta subito a seguire. Per eseguire la procedura seguente, è necessario essere membri del gruppo Administrators nel computer locale.

Per abilitare l'account Administrator

  1. Fare clic sul pulsante Start, fare clic con il pulsante destro del mouse su Computer e quindi scegliere Gestione.

  2. Nel riquadro della gerarchia dello snap-in Gestione computer aprire Utenti e gruppi locali.

  3. Selezionare Utenti.

  4. Nel riquadro risultati fare clic con il pulsante destro del mouse su Administrator e quindi scegliere Proprietà.

  5. Deselezionare la casella di controllo relativa all'opzione Account disabilitato.

  6. Fare clic su OK.

  7. Chiudere la finestra Proprietà e quindi lo snap-in Gestione computer.

Eseguire la procedura seguente per modificare l'impostazione della chiave del Registro di sistema EnableSuToRoot dopo l'installazione di Subsystem for UNIX-based Applications.

Per modificare l'impostazione della chiave del Registro di sistema EnableSuToRoot

  1. Fare clic sul pulsante Start, fare clic nella casella di testo Inizia ricerca e digitare regedit per aprire l'editor del Registro di sistema.

  2. Nel riquadro della gerarchia aprire HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA.

  3. Nel riquadro risultati fare doppio clic su EnableSuToRoot.

  4. Nella casella Dati valore immettere 0 per non consentire la rappresentazione dell'utente ROOT oppure 1 per consentirla.

    L'impostazione predefinita è 0.

  5. Fare clic su OK.

  6. Chiudere l'editor del Registro di sistema; se richiesto, salvare le modifiche.

Quando il valore di questa chiave è impostato su 0, l'impostazione predefinita, la rappresentazione dell'utente ROOT non è consentita. Quando il valore è impostato su 1, la rappresentazione dell'utente ROOT è consentita. Quando un'applicazione rappresenta l'utente ROOT o l'account Administrator, l'applicazione ha il contesto di sicurezza di amministrazione dell'utente ROOT (Administrator).

Setuid e privilegi di amministratore

Se gli utenti che sono membri del gruppo Administrators tentano di contrassegnare le applicazioni con l'attributo setuid, avranno esito positivo soltanto se è consentita l'esecuzione delle applicazioni e delle attività in un contesto di sicurezza di amministrazione.

Nell'esempio seguente viene descritto come contrassegnare il file binario /bin/regpwd, che in genere è contrassegnato con l'attributo setuid:

  1. Aprire una Korn shell (ksh) con privilegi elevati come descritto in questo argomento.

  2. Digitare chmod +s /bin/regpwd e premere INVIO.

  3. Digitare exit per chiudere la sessione ksh.

Vedere anche

  • Setuid in Subsystem for UNIX-based Applications


Subsystem for UNIX-based Applications e compatibilità POSIX

Subsystem for UNIX-based Applications (SUA) offre un sottosistema compatibile POSIX (Portable Operating System Interface) che esegue shell, utilità e applicazioni UNIX in modo nativo, oltre alle applicazioni Microsoft® Windows®. In questo argomento vengono fornite alcune considerazioni operative per gli utenti che necessitano di un sistema operativo compatibile POSIX.

Compatibilità di shell POSIX

La Korn Shell SUA segue il comportamento tradizionale delle Korn Shell, che a grandi linee coincide con il comportamento POSIX. Se è necessaria una rigida conformità POSIX, richiesta da alcuni ambienti di lavoro, vedere le differenze tra la Korn Shell e POSIX nella documentazione relativa a ksh(1) nei file della Guida forniti con il pacchetto di download Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications.

Per ottenere la piena conformità POSIX.2 dalla Korn Shell, è necessario eseguire la Korn Shell in modalità POSIX. Per eseguire la Korn Shell in modalità POSIX, eseguire una delle operazioni seguenti:

  • Aprire la Korn Shell con l'opzione -o posix.

  • Eseguire il set di comandi -o posix dall'interno della shell.

  • Impostare il parametro della shell POSIXLY_CORRECT.

La conformità POSIX non è supportata nella shell C. A differenza della Korn Shell, la shell C non contiene opzioni di comando in modalità POSIX.

Controllo incrociato delle autorizzazioni per le directory

Per impostazione predefinita, gli utenti di Windows sono autorizzati a spostarsi all'interno di un albero di directory, anche se potrebbero non essere autorizzati ad accedere a tutte le directory nel percorso. Nei sistemi POSIX l'accesso a una directory è consentito solo se si dispone delle autorizzazioni necessarie per accedere a tutte le directory nel percorso. Questo comportamento POSIX è noto come controllo incrociato. Ad esempio, se non si è autorizzati ad accedere a una directory, non è possibile passare dalla directory corrente alle relative sottodirectory, anche se dispone dell'autorizzazione per l'accesso alle sottodirectory. Per impostazione predefinita, in Windows, è consentito passare dalla directory corrente a qualsiasi sottodirectory per cui si dispone di autorizzazioni.

Windows prevede un'autorizzazione speciale denominata Visita cartella/Esecuzione file, che è possibile impostare per un singolo utente o un gruppo. Questa autorizzazione può essere modificata in modo da consentire o negare lo spostamento in un albero di directory. L'autorizzazione Visita cartella è attiva solo se al gruppo o all'utente non è stato concesso il diritto utente Ignorare controllo incrociato nello snap-in Criteri di gruppo. In Microsoft Windows 2000, per impostazione predefinita, al gruppo Everyone viene concesso il diritto utente Ignorare controllo incrociato. Nei sistemi operativi Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 e Windows XP questo diritto è concesso ai gruppi Administrators, Backup Operators, Everyone, Power Users e Users. Per una rigida conformità agli standard POSIX, rimuovere il diritto utente Ignorare controllo incrociato da tutti gli utenti e da tutti i gruppi, eccetto il gruppo Backup Operators. Per garantire la conformità con i privilegi concessi all'utente ROOT in molte altre implementazioni UNIX, rimuovere il diritto utente Ignorare controllo incrociato da tutti gli utenti, eccetto i gruppi Administrators e Backup Operators.

Deviazione del comportamento di controllo incrociato per su e setuid

Gli utenti ROOT che utilizzano il comando su per eseguire l'accesso come altri utenti e gli utenti che utilizzano i processi setuid e i processi che comprendono chiamate relative a setuid deviano dal comportamento predefinito descritto sopra mantenendo alcuni diritti di visita delle directory.

La rimozione del diritto Ignorare controllo incrociato dagli account utente ha come conseguenza un comportamento compatibile POSIX. Quando però un utente ROOT prova a eseguire il comando su su un qualsiasi altro utente senza fornire una password, la sessione che ne risulta non ha il comportamento descritto sopra. I processi avviati dopo che l'utente ROOT ha eseguito il comando su senza fornire una password possono accedere e spostarsi all'interno di un albero di directory anche se potrebbero non essere autorizzati ad accedere a tutte le directory nel percorso.

Anche i processi Setuid e i processi che chiamano setuid, seteuid o setreuid presentano lo stesso comportamento. Dopo la rimozione del diritto Ignorare controllo incrociato dall'account utente che esegue questi processi, i processi possono spostarsi all'interno di un albero di directory anche se potrebbero non essere autorizzati ad accedere a tutte le directory nel percorso.

Vedere anche

  • Subsystem for UNIX-based Applications


Chiamate di sistema supportate

La funzione syscall(2) esegue la chiamata di sistema la cui interfaccia in linguaggio assembly contiene il numero specificato con gli argomenti specificati. Le costanti simboliche per le chiamate di sistema sono riportate nel file di intestazione <sys/syscall.h>.

Per ulteriori informazioni sulla funzione syscall, vedere la Guida e le note sulla versione fornite con il pacchetto di installazione Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications, disponibile per il download sul sito Web Microsoft all'indirizzo http://go.microsoft.com/fwlink/?LinkId=139521.

Chiamate di sistema supportate

Subsystem for UNIX-based Applications supporta le chiamate di sistema seguenti.

_control87 | _controlfp | _exit
_getInstallPath | _getInstallPath_Win | _prefixInstallPath
_prefixInstallPath_Win | _tolower | _toupper
Aa64l | abort | abs
accept | access | acos
acosh | alarm | alloca
alphasort | arc4random_addrandom | arc4random
arc4random_stir | asctime | asctime_r
asin | asinh | assert
atan | atan2 | atan2f
atanf | atanh | atexit
atof | atoi | atol
auth_destroy | authenticateuser | authnone_create
authunix_create | authunix_create_default | Bbasename
bcmp | bcopy | bind
bindresvport | blf_cbc_decrypt | blf_cbc_encrypt
blf_dec | blf_ecb_decrypt | blf_ecb_encrypt
blf_enc | blf_key | brk
bsearch | bzero | Ccabs
calloc | callrpc | catclose
catgets | catopen | cbrt
ceil | cfgetispeed | cfgetospeed
cfsetispeed | cfsetospeed | chdir
chmod | chown | chpass
chroot | clearerr | clnt_control
clnt_create | clnt_destroy | clnt_freeres
clnt_geterr | clnt_pcreateerror | clnt_perrno
clnt_perror | clnt_spcreateerror | clnt_sperrno
clnt_sperror | clnt_statclnt_broadcast | clnt_statclnt_call
clnt_statpmap_rmtcall | clntraw_create | clnttcp_create
clntudp_bufcreate | clntudp_create | clock
close | closedir | closelog
confstr | connect | copysign
copysignf | cos | cosh
creat | crypt | ctermid
ctime | ctime_r | cuserid
Ddaemon | dbm_clearerr | dbm_close
dbm_delete | dbm_error | dbm_fetch
dbm_firstkey | dbm_nextkey | dbm_open
dbm_store | des_cipher | des_setkey
difftime | dirfd | dirname
div | dlclose | dlerror
dlopen | dlsym | dn_comp
dn_expand | drand48 | drem
dup | dup2 | Eecvt
el_deletestr | el_end | el_getc
el_gets | el_init | el_insertstr
el_line | el_parse | el_push
el_reset | el_resize | el_set
el_source | encrypt | endgrent
endhostent | endnetent | endprotoent
endpwent | endservent | endutxent
env | env_alloc | env_array
env_cron | env_expand_win | env_free
env_get | env_login | env_put
env_putarray | env_set | env_strfree
env_t | env_unset | env_winlogin
erand48 | erf | erfc
err | errno | errx
exec | exec_asuser | execl
execl_asuser | execle | execle_asuser
execlp | execlp_asuser | execv
execv_asuser | execve | execve_asuser
execvp | execvp_asuser | exit
exp | expm1 | Ffabs
fabsf | fchdir | fchmod
fchown | fclose | fcntl
fcvt | fdopen | feof
ferror | fflush | ffs
fgetc | fgetln | fgetpos
fgets | fgetwc | fgetws
fileno | finite | finitef
flock | flockfile | floor
floorf | fmod | fnmatch
fopen | fork | forkpty
fp_nquery | fp_resstat | fpathconf
fprintf | fpurge | fputc
fputs | fputwc | fputws
fread | free | freeaddrinfo
freopen | frexp | fscanf
fseek | fsetpos | fstat
fstatvfs | fsync | ftell
ftime | ftok | ftruncate
ftrylockfile | fts_children | fts_close
fts_open | fts_read | fts_set
ftw | funlockfile | fwrite
Ggai_strerror | gamma | gamma_r
gcvt | get_myaddress | getaddrinfo
getbsize | getc | getcwd
getdate | getdtablesize | getegid
getenv | geteuid | getgid
getgrent | getgrent_nomembers | getgrgid
getgrgid_r | getgrgid_ex | getgrgid_nomembers
getgrnam | getgrnam_r | getgrnam_nomembers
getgroups | gethostbyaddr | gethostbyname
gethostent | gethostname | getitimer
getlogin | getlogin_r | getmode
getnameinfo | getnetbyaddr | getnetbyname
getnetent | getopt | getpass
getpdomain | getpeername | getpgrp
getpid | getppid | getpriority
getprotobyname | getprotobynumber | getprotoent
getpwent | getpwnam | getpwnam_r
getpwuid | getpwuid_ex | getpwuid_r
getrlimit | getrpcbyname | getrpcbynumber
getrpcent | getrpcport | getrusage
gets | getsecret | getservbyname
getservbyport | getservent | getsockname
getsockopt | getsubopt | gettimeofday
gettzenv | getuid | getutxent
getutxid | getutxline | getwc
getw | getwchar | glob
globfree | gmtime | gmtime_r
grantpt | group_from_gid | Hhcreate
hcreate_r | hdestroy | hdestroy_r
herror | hesiod | hesiod_end
hesiod_free_list | hesiod_init | hesiod_resolve
hesiod_to_bind | history | history_end
history_init | hostalias | hsearch
hsearch_r | hstrerror | hstrerror
htonl | htons | hypot
Iiconv | iconv_close | iconv_open
ieee | ieee_test | ilogb
index | inet_addr | inet_aton
inet_cidr_ntop | inet_cidr_pton | inet_lnaof
inet_makeaddr | inet_netof | inet_network
inet_ntoa | infnan | initstate
ioctl | iruserok | isalnum
isalpha | isascii | isatty
isblank | iscntrl | isdigit
isgraph | isinf | isinff
islower | isnan | isnanf
isprint | ispunct | isspace
isupper | isxdigit | iswalnum
iswalpha | iswblank | iswcntrl
iswctype | iswdigit | iswgraph
iswlower | iswprint | iswpunct
iswspace | iswupper | iswxdigit
Jj0 | j1 | jn
jrand48 | Kkill | killpg
Ll64a | labs | lchown
lcong48 | ldexp | ldiv
lfind | lgamma | lgamma_r
libm | link | listen
localeconv | localtime | localtime_r
lockf | log | log10
log1p | logb | longjmp
lrand48 | lsearch | lseek
lstat | Mmadvise | major
malloc | math | mblen
mbsntowcs | mbstowcs | mbtowc
mctl | MD4Data | MD4End
MD4File | MD4Final | MD4Init
MD4Transform | MD4Update | MD5Data
MD5End | MD5File | MD5Final
MD5Init | MD5Transform | MD5Update
memccpy | memchr | memcmp
memcntl | memcpy | memmove
memset | minor | mkdev
mkdir | mkfifo | mknod
mktemp | mktime | mmap
modf | mprotect | mrand48
msgctl | msgget | msgrcv
msgsnd | msync | munmap
Nnextafter | nftw | nice
nl_langinfo | nrand48 | ns_find_tsig
ns_sign | ns_sign_tcp | ns_sign_tcp_init
ns_verify | ns_verify_tcp | ns_verify_tcp_init
ntohl | ntohs | Oopen
opendir | openlog | openpty
Pp_query | path_casesensitive | pathconf
pause | pclose | perror
pipe | pmap_getmaps | pmap_getport
pmap_set | pmap_unset | poll
popen | pow | pread
printf | pthread_atfork | pthread_attr_destroy
pthread_attr_getdetachstate | pthread_attr_getguardsize | pthread_attr_getinheritsched
pthread_attr_getschedparam | pthread_attr_getschedpolicy | pthread_attr_getscope
pthread_attr_getstack | pthread_attr_getstackaddr | pthread_attr_getstacksize
pthread_attr_init | pthread_attr_setdetachstate | pthread_attr_setguardsize
pthread_attr_setinheritsched | pthread_attr_setschedparam | pthread_attr_setschedpolicy
pthread_attr_setscope | pthread_attr_setstack | pthread_attr_setstackaddr
pthread_attr_setstacksize | pthread_cancel | pthread_cleanup_pop
pthread_cleanup_push | pthread_cond_broadcast | pthread_cond_destroy
pthread_cond_init | pthread_cond_signal | pthread_cond_timedwait
pthread_cond_wait | pthread_condattr_destroy | pthread_condattr_getpshared
pthread_condattr_init | pthread_condattr_setpshared | pthread_cond_init
pthread_create | pthread_detach | pthread_equal
pthread_exit | pthread_getconcurrency | pthread_getschedparam
pthread_getspecific | pthread_join | pthread_key_create
pthread_key_delete | pthread_kill | pthread_mutex_destroy
pthread_mutex_init | pthread_mutex_lock | pthread_mutex_timedlock
pthread_mutex_trylock | pthread_mutex_unlock | pthread_mutexattr_destroy
pthread_mutexattr_getpshared | pthread_mutexattr_gettype | pthread_mutexattr_init
pthread_mutexattr_setpshared | pthread_mutexattr_settype | pthread_once
pthread_rwlock_destroy | pthread_rwlock_init | pthread_rwlock_rdlock
pthread_rwlock_timedrdlock | pthread_rwlock_timedwrlock | pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock | pthread_rwlock_unlock | pthread_rwlock_wrlock
pthread_rwlockattr_destroy | pthread_rwlockattr_getpshared | pthread_rwlockattr_init
pthread_rwlockattr_setpshared | pthread_self | pthread_setcancelstate
pthread_setcanceltype | pthread_setconcurrency | pthread_setschedparam
pthread_setschedprio | pthread_setspecific | pthread_sigmask
pthread_spin_destroy | pthread_spin_init | pthread_spin_lock
pthread_spin_trylock | pthread_spin_unlock | pthread_testcancel
ptsname | putc | putchar
putenv | puts | pututxline
putw | putwc | putwchar
putws | pwrite | Qqsort
Rradixsort | raise | rand
rand_r | rand48 | random
rcmd | read | readdir
readdir_r | readlink | readv
realloc | realpath | recv
recvfrom | regcomp | regerror
regexec | regfree | registerrpc
remainder | remove | rename
renamewtmpx | res_close | res_findzonecut
res_getservers | res_hostalias | res_init
res_isourserver | res_mkquery | res_nclose
res_ninit | res_nmkquery | res_nmkupdate
res_nquery | res_nquerydomain | res_nsearch
res_nsend | res_nsendsigned | res_nupdate
res_ourserver_p | res_pquery | res_query
res_querydomain | res_search | res_send
res_setservers | res_update | rewind
rewinddir | rexec | rindex
rint | RMD160Data | RMD160End
RMD160File | RMD160Final | RMD160Init
RMD160Transform | RMD160Update | rmdir
rpc | rresvport | ruserok
Ssbrk | scalb | scalbn
scalbnf | scandir | scanf
sched_get_priority_max | sched_get_priority_min | sched_yield
seed48 | seekdir | select
sem_destroy | sem_getvalue | sem_init
sem_post | sem_timedwait | sem_trywait
sem_wait | semctl | semget
semop | send | sendto
setbuf | setbuffer | setegid
setenv | seteuid | setgid
setgrent | sethostent | setitimer
setjmp | setkey | setlinebuf
setlocale | setlogmask | setmode
setnetent | setpgid | setpriority
setprotoent | setpwent | setregid
setreuid | setrlimit | setsecret
setservent | setsid | setsockopt
setstate | settimeofday | setuid
setuser | setutxent | setvbuf
SHA1Data | SHA1End | SHA1File
SHA1Final | SHA1Init | SHA1Transform
SHA1Update | shmat | shmctl
shmdt | shmget | shutdown
sigaction | sigaddset | sigblock
sigdelset | sigemptyset | sigfillset
sighold | sigignore | sigismember
siglongjmp | sigmask | signal
significand | sigpause | sigpending
sigprocmask | sigrelse | sigset
sigsetjmp | sigsetmask | sigsetops
sigsuspend | sigvec | sigwait
sin | sinf | sinh
sleep | snprintf | sockaddr_in
socket | socketpair | sprintf
sqrt | sqrtf | srand
srand48 | srandom | sscanf
stat | statvfs | stdarg
strcasecmp | strcasestr | strcat
strchr | strcmp | strcoll
strcpy | strcspn | strdup
strerror | strerror_r | strfmon
strftime | stripdomainprefix | strlcat
strlcpy | strlen | strmode
strncasecmp | strncasestr | strncat
strncmp | strncpy | strpbrk
strptime | strrchr | strsep
strsignal | strsigname | strspn
strstr | strtod | strtok
strtok_r | strtol | strtoul
strunvis | strvis | strvisx
strxfrm | svc_destroy | svc_freeargs
svc_getargs | svc_getreq | svc_getreqset
svc_register | svc_run | svc_sendreply
svc_unregister | svcerr_auth | svcerr_decode
svcerr_noproc | svcerr_noprog | svcerr_progvers
svcerr_systemerr | svcerr_weakauth | svcfd_create
svcraw_create | svctcp_create | svcudp_bufcreate
swab | symlink | syscall
sysconf | syslog | system
Tt_accept | t_alloc | t_bind
t_close | t_connect | t_error
t_free | t_getinfo | t_getprotaddr
t_getstate | t_listen | t_look
t_open | t_optmgmt | t_rcv
t_rcvconnect | t_rcvdis | t_rcvrel
t_rcvudata | t_rcvuderr | t_snd
t_snddis | t_sndrel | t_sndudata
t_strerror | t_sync | t_unbind
tan | tanf | tanh
tcdrain | tcflow | tcflush
tcgetattr | tcgetpgrp | tcsendbreak
tcsetattr | tcsetpgrp | tdelete
telldir | tempnam | tfind
tgetent | tgetflag | tgetnum
tgetstr | tgoto | time
times | tmpfile | tmpnam
toascii | tolower | toupper
towlower | towupper | tputs
truncate | tsearch | tsig
ttyname | ttyname_r | ttyslot
twalk | tzset | Uualarm
uidtontsid | ulimit | umask
uname | ungetc | ungetwc
unixpath2win | unlink | unlockpt
unsetenv | unvis | user_from_uid
usleep | utime | Vvarargs
verr | verrx | vfork
vfprintf | vfscanf | vis
vprintf | vscanf | vsnprintf
vsprintf | vsscanf | vsyslog
vwarn | vwarnx | Wwait
waitpid | warn | warnx
wcs_access | wcs_chdir | wcs_chmod
wcs_chown | wcs_chroot | wcs_fnmatch
wcs_lchown | wcs_link | wcs_lstat
wcs_mkdir | wcs_mkfifo | wcs_mknod
wcs_open | wcs_opendir | wcs_pathconf
wcs_readlink | wcs_regcomp | wcs_regexec
wcs_remove | wcs_rename | wcs_renamewtmpx
wcs_rmdir | wcs_stat | wcs_statvfs
wcs_symlink | wcs_unlink | wcs_utime
wcscasecmp | wcscasewcs | wcscat
wcschr | wcscmp | wcscoll
wcscpy | wcscspn | wcsdup
wcsftime | wcslcat | wcslcpy
wcslen | wcsncasecmp | wcsncat
wcsncmp | wcsncpy | wcspbrk
wcsrchr | wcssep | wcsspn
wcsstr | wcstod | wcstok
wcstol | wcsntombs | wcstombs
wcstoul | wcswcs | wcswidth
wcsxfrm | wctomb | wctype
wcwidth | winpath2unix | write
writev | Xxdr | xdr_accepted_reply
xdr_array | xdr_authunix_parms | xdr_bool
xdr_bytes | xdr_callhdr | xdr_callmsg
xdr_char | xdr_destroy | xdr_double
xdr_enum | xdr_float | xdr_free
xdr_getpos | xdr_inline | xdr_int
xdr_long | xdr_opaque | xdr_opaque_auth
xdr_pmap | xdr_pmaplist | xdr_pointer
xdr_reference | xdr_rejected_reply | xdr_replymsg
xdr_setpos | xdr_short | xdr_string
xdr_u_char | xdr_u_long | xdr_u_short
xdr_union | xdr_vector | xdr_void
xdr_wrapstring | xdrmem_create | xdrrec_create
xdrrec_endofrecord | xdrrec_eof | xdrrec_skiprecord
xdrstdio_create | xprt_register | xprt_unregister
Yy0 | y1 | yn
Zz_abs |  |

Vedere anche

  • Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications in Microsoft Windows Vista RTM, Windows Vista SP1 e Windows Server 2008 RTM


Utenti anonimi e controllo incrociato

Nei computer che eseguono i sistemi operativi Microsoft® Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server® 2003 e Windows XP il gruppo Everyone non include più gli utenti anonimi per impostazione predefinita. Questa modifica riduce il numero di risorse di rete a disposizione degli utenti anonimi per impostazione predefinita e semplifica il controllo dell'accesso degli utenti anonimi da parte degli amministratori di rete.

Implicazioni della limitazione dell'accesso anonimo

Se per impostazione predefinita viene negato l'accesso utente anonimo, sarà più semplice per gli amministratori configurare un sistema sicuro.

Gli elenchi di controllo di accesso (ACL) predefiniti, che nelle versioni precedenti di Windows autorizzano il gruppo Everyone ad accedere alle risorse con potenziale esposizione ad attacchi, non concedono più questo accesso agli utenti anonimi dopo l'aggiornamento del computer al sistema operativo Windows Server 2008, Microsoft Windows Vista o versioni successive.

Viene eliminato il rischio di concessione accidentale dell'accesso alle risorse agli utenti anonimi, come poteva invece accadere in passato quando gli amministratori potevano non essere consapevoli dell'inclusione degli utenti anonimi nel gruppo Everyone.

Questa modifica interessa gli utenti anonimi che tentano di accedere alle risorse in computer che eseguono Windows Server 2008 R2, Windows 7, Windows Server 2008, Microsoft Windows Vista, Windows Server 2003 e Windows XP. Dopo l'aggiornamento di un sistema da Windows 2000 a uno di questi sistemi operativi, le risorse con ACL che concedono l'accesso a tutti (e non esplicitamente ad Accesso anonimo) non sono più disponibili per gli utenti anonimi. Nella maggior parte dei casi si tratta di una limitazione appropriata dell'accesso anonimo.

È comunque possibile autorizzare l'accesso anonimo a specifiche directory e a specifici file condivisi aggiungendo il gruppo Accesso anomino agli elenchi di controllo di accesso discrezionale (DACL) che proteggono tali risorse. Inoltre, è consigliabile concedere il diritto utente Ignorare controllo incrociato al gruppo Accesso anonimo. Per ulteriori informazioni, vedere Ignorare il controllo incrociato per gli utenti anonimi.

In alcune situazioni può essere difficile stabilire quali risorse devono concedere l'accesso anonimo o modificare le autorizzazioni su tutte le risorse necessarie. In un caso di questo tipo, è possibile configurare Windows Server 2008 R2, Windows 7, Windows Server 2008, Microsoft Windows Vista, Windows Server 2003 e Windows XP in modo da consentire l'accesso anonimo da parte del gruppo Everyone. Per ulteriori informazioni, vedere Consentire l'accesso anonimo da parte del gruppo Everyone.

Ignorare il controllo incrociato per gli utenti anonimi

La procedura riportata in questa sezione è valida per Windows 7 e Microsoft Windows Vista.

Per ignorare il controllo incrociato per gli utenti anonimi

  1. Fare clic sul pulsante Start, digitare gpedit.msc nella casella di testo Inizia ricerca e quindi premere INVIO.

  2. Nell'albero della console dell'Editor Criteri di gruppo locali aprire Configurazione computer, Impostazioni di Windows, Impostazioni sicurezza e Criteri locali e quindi fare clic su Assegnazione diritti utente.

  3. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su Ignorare controllo incrociato e quindi scegliere Proprietà.

  4. Fare clic su Aggiungi utente o gruppo.

  5. Nella casella Immettere i nomi degli oggetti da selezionare della finestra di dialogo Seleziona utenti, computer o gruppi digitare Accesso anonimo.

  6. Fare clic su Controlla nomi per verificare la validità dei dati immessi e quindi fare clic su OK.

    Nota

    Questa procedura non può essere eseguita dalla riga di comando.

Consentire l'accesso anonimo da parte del gruppo Everyone

La procedura riportata in questa sezione è valida per Windows 7 e Microsoft Windows Vista.

Per consentire l'accesso anonimo da parte del gruppo Everyone

  1. Fare clic sul pulsante Start, digitare gpedit.msc nella casella di testo Inizia ricerca e quindi premere INVIO.

  2. Nell'albero della console dell'Editor Criteri di gruppo locali aprire Configurazione computer, Impostazioni di Windows, Impostazioni sicurezza e Criteri locali e quindi fare clic su Opzioni di sicurezza.

  3. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su Accesso di rete: consenti l'accesso libero agli utenti anonimi e quindi scegliere Proprietà.

  4. Per concedere agli utenti anonimi le autorizzazioni concesse al gruppo Everyone, fare clic su Attivato.

    oppure

    Per impedire che agli utenti anonimi vengano concesse le autorizzazioni concesse al gruppo Everyone, fare clic su Disattivato.

  5. Fare clic su OK.

    Nota

    Questa procedura non può essere eseguita dalla riga di comando.