Risposte:
Greg menziona attrib
- ma attrib
non è vicino a nessuno chmod
- attrib
può impostare gli attributi di sola lettura / nascosti di un singolo file - non fornisce controlli a grana fine come icacls
fa.
icacls
imposta / reimposta gli elenchi di controllo di accesso, in modo da poter concedere / negare diritti per singoli SID e gruppi. È abbastanza complicato però.
Ecco un esempio che ho salvato nel mio github gist ; reimposta la proprietà e l'elenco di controllo degli accessi per tutti i file in una cartella ed è particolarmente utile per correggere quei fastidiosi "Hai bisogno di autorizzazioni da ... per eseguire questa azione", specialmente quando si spostano i file da un'installazione precedente:
icacls * /reset /t /c /q
Ripristina sostituisce quello esistente con l'elenco predefinito.
/t
agisce in modo ricorsivo su tutti i file, cartelle e sottocartelle
/q
non visualizza alcun messaggio di successo
/c
continua con i file rimanenti anche in caso di errore.
Puoi anche fare cose come il backup degli ACL esistenti e applicarli a tutti. Dai un'occhiata a ss64 che spiega molto bene le diverse opzioni e opzioni.
cmd
che si ottiene colpendo [Win] + [R] manca di questi. Per tali esigenze speciali ho un collegamento "Admin shell", con "Esegui come amministratore" (o simile; sono su un sistema Windows tedesco) selezionato (e con un colore di sfondo rosso scuro).
Lì (purtroppo) non può essere un equivalente esatto, dal momento che Linux e DOS / Windows usano attributi per scopi diversi e (come aveva detto Chathuranga in precedenza) il modello di sicurezza è diverso:
H
) e "system" ( S
) che non hanno un equivalente in Linux; lì, i file vengono nascosti anteponendo il nome con un punto ( .
).A
dell'attributo "archivio" ( ) di Windows .x
attributi "eseguibili" ( ) di Linux negli attributi del file DOS / Windows.D
attributo) (ma non può essere modificato in ogni caso).L'attributo del file DOS R
(sola lettura) è quello che potrebbe essere considerato avere un equivalente: questo set di attributi è approssimativamente simile w
all'attributo per tutti quelli che mancano; ma l'autorizzazione a modificare questo attributo è soggetta agli ACL.
Potrebbe essere bello avere un chmod
/ chown
equivalente su Windows, forse scritto in un linguaggio di scripting, che a sua volta chiama attrib
e cacls
(o successori), ma non ne ho uno.
CAP_LINUX_IMMUTABLE
processo), mentre l'accesso per impostare gli attributi in Windows è tutto o niente. È un errore comune nelle implementazioni di chmod
Windows utilizzare questo comando per impostare l'attributo del file di sola lettura. Sfortunatamente i sistemi sono informati solo quanto i programmatori che li sviluppano.
chattr
comando. Ma non volevi dire a me, "confondere gli attributi e le autorizzazioni dei file", giusto? AFAICS, ogni parola che ho scritto sugli attributi DOS è ancora corretta.
chattr
, tranne per il fatto che Windows ha un attributo di directory poiché non è presente alcun inode.
chmod
in Windows perché non esiste nulla come l'attributo "mode" del file. Il set standard di attributi di file di Windows non ha nulla a che fare con questo. L'attributo di sola lettura non è un'autorizzazione di file. Sostanzialmente dice che il file è scritto in pietra, quindi tutti i tentativi di modifica devono fallire. L'attributo del file "immutabile" di Linux è simile. Windows utilizza solo ACL per le autorizzazioni, quindi icacls.exe e simili sono gli unici comandi simili in materia di autorizzazioni.
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
Funziona come un incantesimo per modificare le autorizzazioni su una cartella per gli utenti del dominio. Ulteriori informazioni su cacls
e icacls
.
Il attrib
comando è la corrispondenza più vicina per cose di base (sola lettura, flag di archivio). Quindi c'è il comando ACL (lista controllo accessi) cacls
. Ultimo ma non meno importante, poiché Windows è in realtà conforme a Posix, esistono i flag unix-like. Se installi il set di strumenti Cygwin, otterrai un chmod
. (Un po 'fuori tema, dal momento che stai cercando un equivalente di un comando unix, scaricare e installare Cgygwin potrebbe essere qualcosa di interessante per te.)
Uso il comando di Windows takeown.exe
per modificare le autorizzazioni dei file al mio ID utente attualmente connesso: http://technet.microsoft.com/en-us/library/cc753024.aspx
Non c'è nulla chiamato chmod in Windows perché il modello di sicurezza di Windows è diverso da Linux. È possibile utilizzare il attrib
comando per modificare le proprietà degli oggetti. (Ma sono più verso le proprietà globali.)
Per me, la soluzione alternativa è installare Cygwin e aggiungere la sua cartella bin al percorso di sistema. Quindi, se esegui "chmod" nella riga di comando, funzionerà. Anche se non ho verificato la sua correttezza.