Ogni file o cartella in un volume NTFS ha un proprietario. Alcuni file di sistema sono di proprietà di TrustedInstaller, alcuni dell’account SYSTEM e altri del gruppo “Administrators”. Se un utente crea un file o una cartella, quell’utente è solitamente il proprietario del file o della cartella. Il proprietario è colui che può assegnare i permessi (Allow o Deny) agli altri utenti per quell’oggetto.

Se un utente non è il proprietario di un file o di una cartella o non ha i permessi per accedere al file, ottiene l’errore “access is denied” quando accede all’oggetto. Se quell’utente è un amministratore, può prendere la proprietà dell’oggetto usando la scheda Proprietà – Sicurezza del file o della cartella. Poi può assegnarsi i permessi richiesti.

Questo post vi dice come prendere la proprietà di un file o di una cartella, e assegnare i permessi richiesti per esso usando la riga di comando invece della GUI.

Windows include uno strumento a riga di comando chiamato Takeown.exe, che può essere usato da un prompt dei comandi dell’amministratore per cambiare rapidamente la proprietà di un file o di una cartella. Ecco come prendere la proprietà di un file o di una cartella e poi assegnare i permessi per un account usando la riga di comando.

Prendere la proprietà di un file

Apri una finestra elevata del Prompt dei comandi. Usa la seguente sintassi per prendere la proprietà di un file:

TAKEOWN /F <filename>

Sostituisci <filename> con il nome effettivo del file con il percorso completo.

L’utente attualmente connesso è ora il proprietario del file.

Per impostare il gruppo Administrators come proprietario del file, usa lo switch /A in aggiunta:

TAKEOWN /F <filename> /A
  • /A Dà la proprietà al gruppo Administrators invece che all’utente corrente. Se /A non è specificato, la proprietà del file sarà data all’utente attualmente connesso. Questo parametro non fa distinzione tra maiuscole e minuscole.

Se l’operazione ha avuto successo, dovresti vedere il seguente messaggio:

“SUCCESSO: Il file (o la cartella): “nome del file” è ora di proprietà dell’utente “Nome del computer”.”

o

Successo: Il file (o la cartella): “

Assegnazione dei permessi al file

Per garantire agli amministratori i permessi di controllo completo del file, usa ICACLS. Ecco la sintassi:

ICACLS <filename> /grant administrators:F

Esempio 2: Per assegnare i permessi di controllo completo per l’utente attualmente connesso, usa questo comando:

ICACLS <filename> /grant %username%:F

%username% rappresenta il nome dell’account dell’utente attualmente connesso. ICacls accetta direttamente questa variabile.

Esempio 3: Per assegnare i permessi di controllo completo per l’utente chiamato John, usa questo comando:

ICACLS <filename> /grant John:F

Assumere la proprietà di una cartella

Usa la seguente sintassi:

takeown /f <foldername>

(o)

takeown /f <foldername> /a
  • /a Dà la proprietà al gruppo Administrators invece che all’utente corrente. Se /a non è specificato, la proprietà sarà data all’utente attualmente connesso. Questo parametro non fa distinzione tra maiuscole e minuscole.

Vedrai il seguente output:

SUCCESSO: Il file (o la cartella): “folder_name” è ora di proprietà dell’utente “computername\username”

(o)

SUCCESSO: Il file (o la cartella): “

Cambia la proprietà in modo ricorsivo:

Per cambiare la proprietà di una cartella, delle sue sottocartelle e dei file in ogni sottocartella, usa questa sintassi:

takeown /f <foldername> /r /d y

L’utente attualmente connesso è ora il proprietario della cartella.

Per impostare il gruppo Administrators come proprietario della cartella, delle sue sottocartelle e dei file in modo ricorsivo, usa lo switch /A in aggiunta:

TAKEOWN /F <foldername> /a /r /d y
  • /R Recurse: ordina allo strumento di operare sui file nella directory specificata e in tutte le sottodirectory.
  • /D prompt Risposta di default usata quando l’utente corrente non ha il permesso “list folder” su una directory. Questo accade quando si opera in modo ricorsivo (/R) sulle sottodirectory. Valori validi “Y” per prendere la proprietà o “N” per saltare.

Assegnazione permessi cartella

Per assegnare al gruppo Administrators i permessi di controllo completo per la cartella, usa questa sintassi:

icacls <foldername> /grant administrators:F /T

Il parametro /T viene aggiunto in modo che l’operazione venga eseguita attraverso tutte le sottodirectory e i file all’interno di quella cartella.

Aiuto in linea di comando:

Per conoscere le informazioni complete sull’uso di Takeown.exe e ICacls.exe, eseguite questi comandi da una finestra del Prompt dei comandi.

takeown /?
icacls /?

Metodi più semplici per prendere la proprietà

Command Script

Per semplificare ulteriormente il processo di prendere la proprietà, Tim Sneath di Microsoft fornisce un file .CMD (Windows Command Script) che prende la proprietà e assegna i permessi di controllo completo agli amministratori per la directory. Per maggiori informazioni, leggete il post di Tim, intitolato Secret #11: Deleting the Undeletable.

Aggiungi il comando “Take Ownership” al menu del clic destro

Anche questo usa il verbo speciale runas in Windows Vista e superiori, che ho trattato in precedenza (REF RunAs).

via WinMatrix.com

Scarica takeown_context.reg e salva sul Desktop. Fai clic destro sul file e scegli Merge. Fai clic su Yes quando ti viene chiesto di confermare. Questo aggiunge un comando esteso chiamato Take Ownership nel menu contestuale per file e directory. Per accedere al comando, devi tenere premuto il tasto SHIFT e poi fare clic destro su un file o una cartella.

(Puoi leggere di più su questa regolazione nell’articolo Take Ownership of File or Folder via Right-click Context Menu in Windows.)

Informazioni aggiuntive

La sezione precedente copre la maggior parte delle cose che ti servono. Leggi sotto se hai bisogno di altri suggerimenti su questo argomento.

icacls.exe può anche cambiare la proprietà di un file o di una cartella!

Takeown.exe e Icacls.exe sono i due strumenti da console integrati in Windows, che ti permettono di cambiare la proprietà di file o cartelle e assegnare permessi di controllo dell’accesso, rispettivamente. Takeown.exe imposta l’account utente attualmente connesso come proprietario di un oggetto (file o cartella).

Tuttavia, con Takeown.exe, non puoi rendere un altro account proprietario di un oggetto.

Sapevi che anche lo strumento icacls.exe può essere usato per cambiare la proprietà? l’account che non è attualmente connesso) o un gruppo, puoi usare icacls.exe con l’argomento /setowner della riga di comando, invece di takeown.exe.

Cambiare la proprietà di un file o di una cartella usando icacls.exe

Abbiamo visto come cambiare la proprietà usando icacls.exe nell’ultima parte dell’articolo Prendere la proprietà di un file o una cartella usando la riga di comando in Windows. Ecco altri esempi:

La seguente è la sintassi della riga di comando per cambiare la proprietà di un file o di una cartella usando icacls.exe:

icacls "file_or_folder_name" /setowner "NT Service\TrustedInstaller"

Esempi: Set #1: Cambia la proprietà di un singolo file o cartella

icacls "D:\Annual Reports20\November" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "Administrators"

Se l’operazione ha avuto successo, vedrai il seguente messaggio:

processed file: file_or_folder_nameSuccessfully processed 1 files; Failed processing 0 files

Esempio #2: Cambiare la proprietà di una cartella (sottocartella e file) ricorsivamente

Per cambiare la proprietà di una cartella, delle sue sottocartelle e di tutti i file in tutte le sottocartelle ricorsivamente, usa lo switch /T (traverse) in aggiunta:

icacls "folder_name" /setowner "Administrators" /T

  • /T indica che questa operazione viene eseguita su tutti i file/directory corrispondenti sotto le directory specificate nel nome.

Il comando di cui sopra imposta TrustedInstaller come proprietario della cartella, delle sue sottocartelle e di tutti i file in tutte le sottocartelle.

Riporta la proprietà a TrustedInstaller

A volte, per risolvere un problema, potrebbe essere necessario modificare un file di dati come XML o una chiave di registro di proprietà di TrustedInstaller. Per questo, devi prima prendere la proprietà del file, della cartella o della chiave di registro.

Dopo aver modificato i file o le impostazioni, devi riportare la proprietà a TrustedInstaller, se TrustedInstaller era il proprietario precedente o originale. Per riportare la proprietà a TrustedInstaller, usa questi passaggi:

Il servizio Windows Modules Installer o TrustedInstaller permette l’installazione, la modifica e la rimozione degli aggiornamenti di Windows e dei componenti opzionali. Per impostazione predefinita, TrustedInstaller è anche il proprietario di molte chiavi di registro e file di sistema critici.

  1. Fate clic con il tasto destro del mouse su un file o una chiave di registro e cliccate su Permessi.
  2. Fate clic su Avanzate per aprire la finestra di dialogo Impostazioni di sicurezza avanzate.
  3. Presso “Proprietario:”, cliccate su Cambia.
  4. Nella finestra di dialogo Seleziona utente o gruppo, digita “NT SERVICE\TrustedInstaller” e premi INVIO.
  5. Fai clic su Applica, OK.

Questo cambia la proprietà dell’oggetto (file, cartella o chiave di registro) in TrustedInstaller o Windows Modules Installer.

Utilizzando il comando icacls.exe per impostare TrustedInstaller come proprietario di un file

Da una finestra del prompt dei comandi admin, utilizzare la seguente sintassi della riga di comando:

icacls "path\filename" /setowner "NT Service\TrustedInstaller"

Esempio:

icacls "C:\Windows\PolicyDefinitions\WindowsStore.admx" /setowner "NT Service\TrustedInstaller"

TrustedInstaller ora possiede il file WindowsStore.admx.

icacls /setowner access denied?

A volte, la linea di comando icacls.exe /setowner può incontrare il seguente errore:

filename: Access is denied.Successfully processed 0 files; Failed processing 1 files

Questo può accadere quando incontra un hard link NTFS. L’errore di solito appare quando si tenta di cambiare la proprietà dei file protetti nella directory di Windows – ad esempio, C:\Windows\Notepad.exe. Un hard link è la rappresentazione del file system di un file con cui più di un percorso fa riferimento a un singolo file nello stesso volume.

Per esempio, i file Notepad.exe hanno due file hard linkati, che puoi vedere usando il seguente comando:

fsutil.exe hardlink list C:\Windows\notepad.exe

Puoi vedere che Notepad.exe è hard-linked ai seguenti file:

C:\Windows\System32\Notepad.exeC:\Windows\WinSxS\amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.19041.488_none_4cea9379ceedab35\notepad.exe

Il comando icacls.exe /setowner incontra l’errore ACCESS_DENIED quando elabora questi hard link.

Nota che la documentazione di icacls.exe dice, “Questa opzione non forza un cambio di proprietà; usa l’utilità takeown.exe per questo scopo.”

Se incontrate errori “Access is Denied” quando impostate la proprietà usando Icacls, potreste dover fare affidamento su Takeown.exe, SubInACL, o sull’utilità a riga di comando di terze parti SetACL.exe (vedi il prossimo paragrafo).

Utilizzando SetACL.exe per prendere la proprietà e assegnare i permessi

SetACL.exe è uno strumento a riga di comando di terze parti (da HelgeKlein.com) di cui abbiamo già parlato.

SetACL: Argomenti della riga di comando

Prima di procedere, vediamo la sintassi della riga di comando per cambiare la proprietà e i permessi di file/registro usando SetACL.

SetACL -on objectname -ot objecttype -actn action
  • -on: Specificare il percorso dell’oggetto su cui SetACL dovrebbe operare (es, file, chiave di registro, condivisione di rete, servizio o stampante).
  • -ot: Specifica il tipo di oggetto. Per cambiare la proprietà o i permessi di un file o di una cartella, usa il tipo di oggetto file. Per le chiavi di registro, usa il tipo di oggetto reg
  • -actn: Specifica l’azione che SetACL dovrebbe fare contro l’oggetto specificato. Per prendere la proprietà, impostate l’azione come setowner. Per cambiare i permessi, imposta l’azione come ace.
  • -ownr: Specifica il nome o il SID di un fiduciario (un utente o un gruppo) in questo formato – per esempio, "n:Administrators"

(Vedi la documentazione di SetACL per la lista completa degli oggetti, dei tipi e delle azioni supportate.)

Per cambiare la proprietà e concedere il permesso di controllo completo, ecco alcuni esempi:

Esempi: Cambia la proprietà di un singolo file o cartella:

setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:John"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:John"

Esempi: Cambiare la proprietà in modo ricorsivo:

Opzione 1: Per impostare la proprietà di una cartella e delle sue sottocartelle (non per i file) in modo ricorsivo, usa uno di questi esempi:

setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec cont
  • -rec – la ricorsione è attiva.
  • cont – Ricercare, ed elaborare solo le directory.

Opzione 2: per impostare la proprietà dei file in una cartella e le sue sottocartelle (non cartelle) ricorsivamente, usa uno di questi esempi:

setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec obj
  • -rec – la ricorsione è abilitata.
  • obj – Ricorri e processa solo i file.

Opzione 3: Per impostare la proprietà di una cartella, delle sue sottocartelle e dei file in modo ricorsivo, usa uno di questi esempi:

setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec cont_objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec cont_objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec cont_obj
  • -rec – la ricorsione è abilitata.
  • cont_obj – Ricorri e processa le directory e i file.

Esempi: Assegnare i permessi richiesti per un file o una cartella:

Una volta che hai la proprietà, puoi assegnare i permessi richiesti per un oggetto. Ecco alcuni esempi:

Per assegnare i permessi per un singolo file o cartella, usa uno di questi esempi:

setacl.exe -on "d:\test\sample.xlsx" -ot file -actn ace -ace "n:Administrators;p:full"setacl.exe -on "d:\test\sample.xlsx" -ot file -actn ace -ace "n:John;p:full"setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full"setacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full"

Esempi: Assegnare i permessi richiesti ricorsivamente:

Opzione 1: Per una cartella e sottocartelle (non file) ricorsivamente, usa uno di questi esempi:

setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec contsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec cont
  • -rec – la ricorsione è abilitata.
  • cont – Ricercare, ed elaborare solo le directory.

Opzione 2: per i file in una cartella e sottocartelle (non cartelle) ricorsivamente, usa uno di questi esempi:

setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec objsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec obj
  • -rec – la ricorsione è abilitata.
  • obj – Ricorri, ed elabora solo i file.

Opzione 3: Per una cartella, le sue sottocartelle, e i file ricorsivamente, usa uno di questi esempi:

setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec cont_objsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec cont_obj
  • -rec – la ricorsione è abilitata.
  • cont_obj – Ricorsione ed elaborazione di directory e file.

Potresti controllare la documentazione ufficiale di SetACL per conoscere le sue capacità complete. Tuttavia, per impostare i permessi di proprietà di file e cartelle &, takeown.exe e icacls.exe sarebbero più che sufficienti per la maggior parte degli utenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.