Tabella LockPermissions
La tabella LockPermissions viene usata per proteggere singole parti di un'applicazione in un ambiente bloccato. Può essere usato con l'installazione di file, chiavi del Registro di sistema e cartelle create.
Un pacchetto destinato all'installazione in Windows Server 2008 R2 o Windows 7 deve usare la tabella MsiLockPermissionsEx anziché la tabella LockPermissions . Le versioni di Windows Installer precedenti a Windows Installer 5.0 ignorano la tabella MsiLockPermissionsEx. Windows Installer 5.0 può installare un pacchetto contenente la tabella LockPermissions. A partire da Windows Installer 5.0, l'installazione di un pacchetto che contiene sia la tabella MsiLockPermissionsEx che la tabella LockPermissions ha esito negativo e restituisce il messaggio di errore di Windows Installer 1941.
La tabella LockPermissions contiene le colonne seguenti.
Colonna | Tipo | Chiave | Nullable |
---|---|---|---|
LockObject | Identificatore | S | N |
Tabella | Text | S | N |
Dominio | Formattato | S | S |
Utente | Formattato | S | N |
Autorizzazione | DoubleInteger | N | S |
Colonne
-
LockObject
-
Questa colonna e la colonna Table insieme specificano il file, la directory o la chiave del Registro di sistema da proteggere. La colonna LockObject è una chiave esterna che punta alla chiave primaria della tabella specificata dalla colonna Table.
-
Tavolo
-
Questa colonna e la colonna LockObject specificano il file, la directory o la chiave del Registro di sistema da proteggere. Nella colonna Tabella immettere File, Registro di sistema o CreateFolder per specificare un oggetto LockObject elencato nella tabella file, nella tabella del Registro di sistema o nella tabella CreateFolder.
-
Dominio
-
Colonna che identifica il dominio dell'utente per cui devono essere impostate le autorizzazioni. Si tratta del nome di un computer autonomo o di un nome di dominio. Il tipo di dati della colonna è Formattato e è possibile usare la stringa [%USERDOMAIN] in questo campo per ottenere il valore della variabile di ambiente USERDOMAIN per il dominio corrente. Per ottenere qualsiasi altro dominio è necessario usare Azioni personalizzate. Per altre informazioni, vedere tabella azioni personalizzate.
-
Utente
-
Colonna che identifica il nome localizzato dell'utente per cui devono essere impostate le autorizzazioni. Questo nome deve trovarsi nel computer o nel dominio. L'installazione ha esito negativo se il computer o il controller di dominio non riconosce la combinazione di dominio e utente o se non è possibile recuperare l'identificatore di sicurezza dell'utente. È possibile specificare più utenti per un singolo Oggetto LockObject.
I nomi utente comuni "Tutti" e "Administrators" possono essere immessi in inglese e vengono mappati a SID noti. LocalSystem viene fornito controllo completo in tutti i descrittori di sicurezza creati tramite la tabella LockPermissions. È possibile usare la proprietà ComputerName, la proprietà LogonUser o la proprietà USERNAME in questo campo per ottenere l'utente corrente. È necessaria un'azione personalizzata per immettere il nome localizzato di qualsiasi altro utente o gruppo.
È possibile usare più record con voci LockObject e Table identiche (ma voci utente diverse) per specificare elenchi di controllo di accesso per più utenti.
-
Autorizzazione
-
Colonna che identifica la descrizione integer dei privilegi di sistema. Di seguito sono riportati i valori usati più comunemente (un elenco completo esiste in Winnt.h).
Privilege Descrizione GENERIC_ALL
0X10000000
268435456Lettura, scrittura ed esecuzione dell'accesso GENERIC_EXECUTE
0X20000000
536870912Eseguire l'accesso GENERIC_WRITE
0X40000000
1073741824Accesso in scrittura Non è possibile specificare GENERIC_READ nella colonna Autorizzazione. Il tentativo di eseguire questa operazione avrà esito negativo. È invece necessario specificare un valore, ad esempio KEY_READ o FILE_GENERIC_READ.
Null immesso in questa colonna è riservato per l'uso futuro.
Commenti
Le azioni InstallFiles, WriteRegistryValues e CreateFolders nelle tabelle di sequenza elaborano le informazioni in questa tabella. Per informazioni sull'uso delle tabelle della sequenza, vedere Uso di una tabella sequenza.
L'autorizzazione può essere impostata solo nella tabella LockPermissions per gli utenti già presenti nel computer o nel dominio. Un tentativo di impostare le autorizzazioni per un utente sconosciuto causa l'esito negativo dell'installazione, anche se l'account utente viene creato durante l'installazione da un'azione personalizzata posticipata.
È consigliabile includere il gruppo locale dell'amministratore di sistema in tutti gli elenchi di controllo di accesso (ACL). Ciò garantisce che l'amministratore di sistema possa accedere e gestire gli oggetti.
Ogni file, chiave del Registro di sistema o directory elencata nella tabella LockPermissions riceve un descrittore di sicurezza esplicito, indipendentemente dal fatto che sostituisca un oggetto esistente o meno. Windows Installer tenta di mantenere la sicurezza sugli oggetti già presenti nel sistema. Se un oggetto non è elencato nella tabella LockPermissions e sostituisce un oggetto esistente, la sostituzione ottiene le impostazioni di sicurezza dell'oggetto che sostituisce.
Se un oggetto non è elencato nella tabella LockPermissions e non sostituisce un oggetto esistente, non riceve alcun descrittore di sicurezza esplicito. L'accesso al nuovo oggetto è basato sugli attributi dell'oggetto padre o contenitore. Se un oggetto non è elencato nella tabella e sostituisce un oggetto senza descrittore di sicurezza esplicito, l'accesso al nuovo oggetto è basato sugli attributi dell'oggetto padre o contenitore.
Windows Installer imposta la proprietà UserSID sull'identificatore di sicurezza (SID) o sull'utente che esegue l'installazione.
Convalida
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per