Su Unix, molto tempo fa, ho appreso di chmod :il modo tradizionale per impostare i permessi, su Unix (e per consentire ai programmi di ottenere privilegi, usando setuid, setgid).
Di recente ho scoperto alcuni comandi più recenti, su GNU/Linux:
setfaclestende il tradizionaleugo:rwxbit e iltbit dichmod.setcapoffre un maggiore controllo della grana rispetto aug:sbit dichmod.chattrConsente alcuni altri controlli (un po' un mix) del file.
Ce ne sono altri?
Risposta accettata:
chmod :cambia i bit della modalità file
Utilizzo (modalità ottale):
chmod <octal-mode> files...
Utilizzo (modalità simbolica):
chmod <references><operator><modes> files..
references è una combinazione delle lettere ugoa , che specificano l'accesso dell'utente ai files verrà modificato:
ul'utente che lo possiedegaltri utenti nelfiles's gruppooaltri utenti non nel gruppo del file-
atutti gli utentiSe omesso, per impostazione predefinita sono tutti gli utenti, ma solo i permessi consentiti da
umaskvengono modificati.operatorè uno dei caratteri+-=:+aggiungi i bit di modalità file specificati ai bit di modalità file esistenti di ciascunfiles-rimuove i bit di modalità file specificati nei bit di modalità file esistenti di ognifiles=aggiunge i bit specificati e rimuove i bit non specificati, eccetto ilsetuidesetgidbit impostati per le directory, a meno che non sia esplicitamente specificato.
modeconsiste in una combinazione delle lettererwxXst, che specificano quale bit di autorizzazione deve essere modificato:rleggiwscrivixeseguire (o cercare directory)Xesegui/cerca solo se il file è una directory o ha già il bit di esecuzione impostato per alcuni utentissetuid o setgid (a seconda deireferencesspecificati )tflag di eliminazione limitata o bit permanente
In alternativa, la
modepuò essere costituito da una delle lettereugo, nel qual caso la modalità corrisponde ai permessi attualmente concessi al proprietario (u), membri delfiles's gruppo (g) o autorizzazioni di utenti in nessuna delle categorie precedenti (o).
I vari bit di chmod spiegato:
- Controllo accessi (vedi anche
setfacl)rwx— permessi di lettura (r), scrittura (w) ed esecuzione/incrocia (x).- Leggi (r) influisce se un file può essere letto o se una directory può essere elencata.
- Scrivi (w) influisce se è possibile scrivere un file o se è possibile modificare una directory (file aggiunti, eliminati, rinominati).
- Esegui (x) influenza se un file può essere eseguito, usalo per gli script (vedi
#!) e altri file eseguibili. - Cross (x) influisce se una directory può essere attraversata.
set— sticky bit (t) e setgid (s) nelle directory- Il bit permanente riguarda solo le directory. Impedisce a chiunque, tranne il proprietario del file e il root, di eliminare i file nella directory.
- il bit setgid nelle directory farà sì che i nuovi file e directory abbiano il gruppo impostato sullo stesso gruppo e le nuove directory abbiano il bit setgid impostato (vedi anche i valori predefiniti in setfacl).
s— setuid, setgid, su file eseguibili.- Questo può influire negativamente sulla sicurezza, se non sai cosa stai facendo.
- Quando viene eseguito un eseguibile, se uno di questi bit è impostato, l'utente/gruppo effettivo dell'eseguibile diventerà quello del file. Quindi il programma viene eseguito come quell'utente. vedi
setcapper un modo più moderno di farlo.
chown chgrp :
chattr :cambia gli attributi del file
Utilizzo:
chattr <operator><attribute> files...
operator è uno dei caratteri +-= :
* + aggiunge gli attributi selezionati agli attributes esistenti dei files * - rimuove gli attributes selezionati * = sovrascrive l'insieme corrente di attributi che i file hanno con gli attributes specificati .
attribute è una combinazione delle lettere acdeijstuADST , che corrispondono agli attributi:
aaggiungi soloccompressodnessun dumpeformato dell'estensioneiimmutabilejinserimento nel diario dei datiscancellazione sicuratnessuna coda fusaunon cancellabileAnessunatimeaggiornamentiDaggiornamenti sincroni della directorySaggiornamenti sincroniTin cima alla gerarchia delle directory
setfattr :cambia gli attributi dei file estesi
Utilizzo (imposta attributo):
setfattr -n <name> -v <value> files...
Utilizzo (rimuovere):
setfattr -x <name> files...
name è il nome dell'attributo esteso da impostare o rimuovere
value è il nuovo valore dell'attributo esteso
setfacl :cambia le liste di controllo dell'accesso ai file
Utilizzo:
setfacl <option> [default:][<target>:][<param>][:<perms>] files...
option deve includere uno dei seguenti:
--setimposta l'ACL di un file o di una directory, sostituendo l'ACL precedente-m|--modifymodificare l'ACL di un file o di una directory-
-x|--removerimuovere le voci ACL di un file o di una directorytargetè una delle lettereugmo(o il modulo più lungo mostrato di seguito): -
u,usersautorizzazione di un utente nominato identificato daparam, il valore predefinito è il proprietario del fileuidse omesso g,groupautorizzazione di un gruppo denominato identificato daparam, per impostazione predefinita il gruppo proprietariouidse omessom,maskmaschera dei diritti effettivi-
o,otherautorizzazioni di altripermsè una combinazione delle lettererwxX, che corrispondono alle autorizzazioni: -
rleggi wscrivixeseguire-
Xesegui solo se il file è una directory o ha già il permesso di esecuzione per alcuni utentiIn alternativa,
permspuò essere una cifra ottale (–7) indicando l'insieme dei permessi.
setcap :modifica le capacità dei file
Utilizzo:
setcap <capability-clause> file
Una capability-clause consiste in un elenco di nomi di capacità separati da virgole seguiti da un elenco di coppie di flag operatore.
Gli operatori disponibili sono = , + e - . I flag disponibili sono e , i e p che corrispondono a Efficace , Ereditabile e Autorizzato set di capacità.
Il = l'operatore aumenterà i set di capacità specificati e ripristinerà gli altri. Se non vengono forniti flag insieme a = operatore, tutti i set di capacità verranno ripristinati. Il + e - gli operatori aumenteranno o diminuiranno rispettivamente uno o più set di capacità specificati.
chcon :cambia il contesto di sicurezza di SELinux del file
Utilizzo:
chcon [-u <user>] [-r <role>] [-t <type>] files...
utente è l'utente SELinux, come user_u , system_u o root .
ruolo è il ruolo di SELinux (sempre object_r per i file)
tipo è il tipo di soggetto SELinux
chsmack :modifica gli attributi estesi SMACK
Utilizzo:
chsmack -a <value> file
value è l'etichetta SMACK da impostare per SMACK64 attributo file esteso
setrichacl:modifica l'elenco di controllo di accesso avanzato.
richacls sono una funzionalità che aggiungerà ACL più avanzati.
Attualmente un lavoro in corso, quindi non posso dirvi molto su di loro. Non li ho usati.