Condividi tramite


Come configurare le impostazioni WebDAV usando AppCmd

di Robert McMurray

Introduzione

Microsoft ha rilasciato un nuovo modulo di estensione WebDAV completamente riscritto per Internet Information Services 7.0 (IIS 7.0) in Windows Server® 2008. Questo nuovo modulo di estensione WebDAV incorporato molte nuove funzionalità che consentono agli autori Web di pubblicare contenuto meglio di prima e offre agli amministratori Web più opzioni di sicurezza e configurazione. Microsoft ha rilasciato un aggiornamento al modulo di estensione WebDAV per Windows Server® 2008 che fornisce il supporto di blocchi condivisi ed esclusivi per evitare aggiornamenti persi a causa di sovrascrizioni.

Questo documento illustra come usare la nuova utilità AppCmd.exe in IIS 7.0 per configurare le impostazioni WebDAV da una riga di comando o da uno script batch.

Prerequisiti

Gli elementi seguenti sono necessari per completare le procedure in questo articolo:

  • IIS 7.0 deve essere installato nel server e è necessario configurare quanto segue:

    • Il sito Web predefinito creato dall'installazione di IIS 7.0 deve comunque esistere.
  • Il nuovo modulo di estensione WebDAV deve essere installato. Per informazioni sull'installazione del nuovo modulo WebDAV, vedere il documento seguente:

Nota

È necessario assicurarsi di seguire la procedura descritta in questo documento usando autorizzazioni amministrative complete. A tale scopo, utilizzare uno dei due metodi seguenti:

  • Accedere al computer usando l'account "amministratore" locale.
  • Se si esegue l'accesso usando un account con autorizzazioni amministrative che non sono l'account "amministratore" locale, aprire Gestione IIS e tutte le sessioni del prompt dei comandi usando l'opzione "Esegui come amministratore".

La condizione precedente è necessaria perché il componente di sicurezza controllo account utente in Windows Server 2008 impedirà l'accesso amministrativo alle impostazioni di configurazione di IIS 7.0. Per ulteriori informazioni sul Controllo dell'account utente, vedere la documentazione seguente:

Nota

Le impostazioni di filtro delle richieste possono bloccare diversi tipi di file dalla creazione webDAV per impostazione predefinita. Quando si configura WebDAV usando l'interfaccia utente di Gestione IIS, le impostazioni di filtro delle richieste vengono aggiornate automaticamente per sbloccare la creazione di WebDAV. Tuttavia, se si sceglie di configurare WebDAV in qualsiasi modo diverso dall'uso dell'interfaccia utente di Gestione IIS, vedere la procedura dettagliata Come configurare WebDAV con filtro richieste .

Concetti di base di AppCmd

AppCmd.exe è un nuovo strumento da riga di comando per l'amministrazione di IIS 7.0. In molti modi, considerarlo come sostituzione dello script adsutil.vbs delle versioni precedenti di IIS. AppCmd.exe supporta un'ampia gamma di opzioni di comando per vari oggetti, rendendolo facilmente scriptabile nei file batch per configurare una miriade di impostazioni IIS. Nota: l'utilità AppCmd.exe si trova in %WinDir%\System32\InetSrv folder.)

La sintassi generale per AppCmd.exe è:

AppCmd (command) (object-type) <identifier> </parameter1:value1 ...>

AppCmd.exe offre anche un supporto completo della guida della riga di comando, a cui è possibile accedere usando uno dei metodi seguenti:

AppCmd /?
AppCmd (object) /?
AppCmd (command) (object) /?

L'elenco dei comandi dipende dall'oggetto e gli oggetti seguenti sono supportati:

Oggetto Descrizione
SITO Amministrazione dei siti virtuali
APP Amministrazione delle applicazioni
VDIR Amministrazione delle directory virtuali
APPPOOL Amministrazione dei pool di applicazioni
CONFIG Amministrazione delle sezioni di configurazione generale
WP Amministrazione dei processi di lavoro
RICHIESTA Amministrazione delle richieste HTTP
MODULE Amministrazione dei moduli server
BACKUP Amministrazione dei backup di configurazione del server
TRACE Uso dei log di traccia delle richieste non riuscite

Ad esempio, è possibile elencare i siti Web configurati nel server usando l'oggetto SITE con la sintassi seguente:

AppCmd list site

Analogamente, è possibile elencare i pool di applicazioni configurati nel server usando l'oggetto APPPOOL con la sintassi seguente:

AppCmd list apppool

AppCmd può essere usato anche per impostare i valori per varie impostazioni di configurazione usando l'oggetto SITE e è possibile usare il comando seguente per elencare le impostazioni disponibili per il sito Web predefinito usando la sintassi seguente:

AppCmd set site "Default Web Site" /?

Per elencare le impostazioni di configurazione per un percorso specifico, usare l'oggetto CONFIG come l'esempio seguente:

AppCmd list config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication

L'oggetto CONFIG può essere usato anche per impostare le impostazioni di configurazione, come illustrato nell'esempio seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication /enabled:true

È anche possibile controllare dove AppCmd scriverà le impostazioni specificate usando il parametro della riga di comando "/commit:". In seguito, ad esempio, in questo documento verrà illustrato il comando seguente che abilita WebDAV nel sito Web predefinito:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

Nota

Questo comando abilita WebDAV per il sito Web predefinito e scrive l'impostazione nel file di ApplicationHost.config.

AppCmd è un'utilità estremamente potente e realisticamente parlando c'è troppo da coprire in uno spazio così breve, quindi per altre informazioni su come acquisire familiarità con AppCmd.exe, vedere l'articolo seguente sul sito Web IIS.NET:

Chesaid, si passa alla configurazione di WebDAV nel server.

Introduzione con WebDAV

WebDAV installa un'estensione per lo schema predefinito per le impostazioni IIS, ovvero ciò che rende AppCmd funzionante con WebDAV senza modifiche speciali. Il nuovo modulo WebDAV archivia tutte le impostazioni configurabili nel file ApplicationHost.config e usa le sezioni seguenti:

  • system.webServer/webdav/authoring
  • system.webServer/webdav/authoringRules

Le impostazioni di "creazione" sono configurabili solo nella radice di un sito Web, mentre le impostazioni "authoringRules" possono essere configurate per URL. Per visualizzare quali impostazioni sono state configurate per ognuna di queste sezioni per un determinato percorso, è possibile usare AppCmd come illustrato negli esempi seguenti:

AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoring
AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoringRules

Abilitazione o disabilitazione di WebDAV per un sito Web

Abbastanza comprensibile, il comando più semplice e utile per WebDAV è abilitato o disabilitando WebDAV per un sito. La sintassi per abilitare WebDAV un sito Web segue l'esempio seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

In questo esempio viene impostato l'attributo "enabled" su "true" per la sezione WebDAV "authoring" nel sito Web predefinito e forzare la modifica da scrivere nel file ApplicationHost.config. Al contrario, è possibile disabilitare WebDAV impostando lo stesso valore su "false" come illustrato nell'esempio seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:false /commit:apphost

Richiesta di SSL per la creazione webDAV per un sito Web

Per proteggere le informazioni che è possibile trasferire, WebDAV può essere configurato per richiedere SSL per tutte le operazioni. Questa operazione viene eseguita impostando l'attributo "requireSsl" su "true" per la sezione WebDAV "authoring" usando la sintassi simile alla seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:true /commit:apphost

Questa funzionalità può essere disabilitata impostando l'attributo "requireSsl" su "false" usando la sintassi simile alla seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:false /commit:apphost

Consenti l'accesso ai file nascosti per un sito Web

Per motivi di sicurezza, è possibile eliminare se i file contrassegnati come nascosti nel server verranno restituiti negli elenchi di file. A tale scopo, impostare l'attributo "allowHiddenFiles" su "true" nell'elemento "fileSystem" nella sezione "creazione" usando la sintassi simile alla seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost

Per disabilitare l'elenco di file nascosti, impostare l'attributo "allowHiddenFiles" su "false" usando la sintassi simile alla seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:false /commit:apphost

Configurazione delle impostazioni di compatibilità WebDAV per un sito Web

Per essere compatibile con le versioni precedenti di WebDAV per IIS, alcune funzionalità facoltative vengono esposte tramite le impostazioni di compatibilità. Attualmente l'elenco delle opzioni è il seguente:

Impostazione di compatibilità Descrizione
nessuno Specifica che non devono essere supportate funzionalità di compatibilità.
MsAuthorVia Specifica che l'intestazione "MS-Author-Via" deve essere restituita. Nota: diversi strumenti di creazione Web di Microsoft usano questa intestazione.
MultiProp Specifica che nelle richieste client devono essere consentite più <istruzioni prop> .
CompactXml Definisce se il codice XML restituito dal modulo WebDAV terminerà ogni riga con una sequenza CRLF.
IsHidden Specifica che la proprietà pseudo-live IsHidden deve essere supportata.
IsCollection Specifica che la proprietà pseudo-live IsCollection deve essere supportata.

Per impostare una di queste funzionalità, è necessario impostare il valore dell'attributo "compatFlags" nella sezione "creazione" usando la sintassi seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /compatFlags:"MsAuthorVia,CompactXml" /commit:apphost

Si noti che le impostazioni di compatibilità vengono specificate come set di flag delimitati da virgole.

Utilizzo delle regole di creazione WebDAV

Il nuovo modulo WebDAV usa regole di creazione, che consentono di configurare il modo in cui WebDAV risponde alla richiesta di creazione dai client. Ad esempio, il sito Web potrebbe avere accesso anonimo abilitato per gli utenti Internet, ma l'accesso alla creazione Web deve essere limitato a un determinato set di utenti. Usando le regole di creazione, è possibile configurare quali utenti hanno accesso alle varie parti del contenuto del sito Web.

Configurazione delle impostazioni predefinite della regola di creazione

Specificare se sono consentiti file non mappati MIME

Per motivi di sicurezza, IIS non consente l'accesso ai file non elencati nella mappa MIME per impostazione predefinita. Tenendo presente questo aspetto, gli autori Web potrebbero dover usare determinati tipi di file in un server che non sono elencati nella mappa MIME. (ad esempio: includere file, file di dati e così via) Per abilitare l'accesso ai file mappati non MIME, è necessario impostare l'attributo "allowNonMimeMapFiles" su "true" nella sezione "authoringRules". L'esempio di sintassi seguente illustra come viene eseguita questa operazione:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:true /commit:apphost

Questa funzionalità può essere disabilitata impostando l'attributo "allowNonMimeMapFiles" su "false" usando la sintassi simile alla seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:false /commit:apphost

Specifica del tipo MIME predefinito

Quando si utilizzano tipi di file non inclusi nell'elenco MIME, IIS deve comunque restituire un tipo MIME ai client. Per impostazione predefinita, questa opzione è impostata su "application/octet-stream", il che significa che il file deve essere considerato come file binario non elaborato indipendentemente dal tipo di contenuto. Per impostare il tipo MIME predefinito per i file non mappati MIME a un tipo di file di testo, è possibile usare la sintassi seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"text/plain" /commit:apphost

Per reimpostare il tipo MIME predefinito, usare la sintassi seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"application/octet-stream" /commit:apphost

Gestione delle regole di creazione

Le regole di creazione vengono mantenute in una raccolta e ogni regola può contenere gli attributi seguenti:

Attributo Descrizione
path Specifica il tipo di contenuto per la regola. (Vedere di seguito)
user Specifica il nome utente per la regola. (Vedere di seguito)
Ruoli Specifica un gruppo o un ruolo per la regola.
access Specifica il tipo di accesso per la regola. (Vedere di seguito)

Note:

  • L'attributo "path" viene usato per specificare il tipo di contenuto per la regola di creazione. Può trattarsi di tipi di contenuto specifici, ad esempio "*.aspx", "*.htm" e così via, oppure è possibile usare "*" per indicare che la regola di creazione è per tutto il contenuto.

  • Gli attributi "roles" e "users" devono essere dichiarati esclusivi tra loro. Vale a dire, una regola di creazione deve essere per "utenti" o "ruoli", ma non per entrambi.

  • Vengono definiti i valori speciali seguenti per l'attributo "users":

    Valore Descrizione
    * tutti gli utenti
    ? Utenti anonimi

    Nota

    Gli utenti anonimi non possono leggere/scrivere contenuto; questa impostazione viene usata per limitare i tipi di file per le query di proprietà anonime.

  • Per i tipi di accesso vengono definiti i valori seguenti:

    Valore Descrizione
    Nessuno Specifica che l'accesso non è consentito per il tipo di contenuto
    Lettura Specifica l'accesso in lettura per il tipo di contenuto
    Scrittura Specifica l'accesso in scrittura per il tipo di contenuto
    Origine Specifica l'accesso al codice sorgente per il tipo di contenuto

Aggiunta di una regola di creazione

Per aggiungere una regola di creazione per un percorso, è possibile usare una sintassi simile agli esempi seguenti:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /+[users='administrator',path='*',access='Read,Write,Source'] /commit:apphost
AppCmd set config "Default Web Site/mypath" /section:system.webServer/webdav/authoringRules /+[roles='Authors',path='*.aspx',access='Read,Write,Source'] /commit:apphost

Modifica di una regola di creazione

Dopo aver aggiunto una regola di creazione, è possibile modificare tale regola usando una sintassi simile alla seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /[users='administrator',path='*'].access:"None" /commit:apphost

Rimozione di una regola di creazione

È possibile rimuovere una regola di creazione specificando semplicemente l'utente o il nome del ruolo usando una sintassi simile alla seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator'] /commit:apphost

Nota

Se per tale utente esistono più regole di creazione, il comando precedente rimuoverà solo la prima regola di creazione nell'elenco ed è necessario ripetere il comando per rimuovere le regole successive per tale utente.

In alternativa, è possibile specificare sia il nome utente che il nome del ruolo e il tipo di contenuto come nell'esempio seguente:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator',path='*'] /commit:apphost

Riepilogo

Questo documento ha illustrato come eseguire le operazioni seguenti:

Altre informazioni

Per altre informazioni sull'uso di WebDAV, vedere gli articoli seguenti:

Nota

Come accennato in precedenza, le impostazioni di filtro delle richieste predefinite potrebbero bloccare diversi tipi di file dalla creazione webDAV. Se non si modificano le impostazioni di filtro delle richieste, è possibile che vengano visualizzati vari errori quando si tenta di pubblicare file bloccati. Ad esempio, se si tenta di caricare o scaricare un file di web.config, verranno visualizzati errori nel client WebDAV. Per altre informazioni sulla configurazione delle impostazioni di filtro delle richieste, vedere la procedura dettagliata How to Configure WebDAV with Request Filtering (Come configurare WebDAV con filtro richieste ).