GNU/Linux >> Linux Esercitazione >  >> Linux

Quali sono i diversi modi per impostare i permessi dei file ecc. su gnu/linux

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 quale utente ha accesso a files sarà modificato:

  • u l'utente che lo possiede
  • g altri utenti nel file
  • o altri utenti non nel gruppo del file
  • a tutti gli utenti

    Se omesso, il valore predefinito è tutti gli utenti, ma solo i permessi consentiti dal umask vengono modificati.

    operator è uno dei caratteri +-= :

    • + aggiunge i bit della modalità file specificati ai bit della modalità file esistenti di ciascun file
    • - rimuove i bit della modalità file specificati nei bit della modalità file esistenti di ciascun file
    • = aggiunge i bit specificati e rimuove i bit non specificati, tranne il setuid e setgid bit impostati per le directory, a meno che non sia esplicitamente specificato.

    mode consiste in una combinazione delle lettere rwxXst , che specificano quale bit di autorizzazione deve essere modificato:

    • r leggi
    • w scrivi
    • x eseguire (o cercare directory)
    • X esegui/cerca solo se il file è una directory o ha già il bit di esecuzione impostato per qualche utente
    • s setuid o setgid (a seconda del references specificato )
    • t flag di eliminazione limitata o sticky bit

    In alternativa, il mode può consistere in una delle lettere ugo , nel qual caso la modalità corrisponde ai permessi attualmente concessi al proprietario (u ), membri del file gruppo di (g ) o le autorizzazioni degli utenti in nessuna delle categorie precedenti (o ).

I vari bit di chmod spiegato:

  • Controllo degli accessi (vedi anche setfacl )
    • rwx — autorizzazioni di lettura (r), scrittura (w) ed esecuzione/incrocio (x).
      • Leggi (r) determina se un file può essere letto o se una directory può essere elencata.
      • Scrivi (w) determina se un file può essere scritto o se una directory può essere modificata (file aggiunti, eliminati, rinominati).
      • Esegui (x) influisce sulla possibilità di eseguire un file, usalo per gli script (vedi #! ) e altri file eseguibili.
      • Cross (x) determina se una directory può essere attraversata.
    • s e t — sticky bit (t) e setgid (s) nelle directory
      • Lo sticky bit riguarda solo le directory. Impedirà a chiunque, tranne il proprietario del file e root, di eliminare i file nella directory.
      • il bit setgid sulle 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.
      • Ciò può influire negativamente sulla sicurezza, se non sai cosa stai facendo.
      • Quando viene eseguito un eseguibile, se uno di questi bit è impostato, l'effettivo utente/gruppo dell'eseguibile diventerà quello del file. Quindi il programma viene eseguito come quell'utente. vedi setcap per 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 al attributes esistente del files * - rimuove il attributes selezionato * = sovrascrive il set corrente di attributi dei file con il attributes specificato .

attribute è una combinazione delle lettere acdeijstuADST , che corrispondono agli attributi:

  • a aggiungi solo
  • c compresso
  • d nessuna discarica
  • e formato estensione
  • i immutabile
  • j journaling dei dati
  • s cancellazione sicura
  • t nessuna fusione di coda
  • u non cancellabile
  • A no atime aggiornamenti
  • D aggiornamenti di directory sincroni
  • S aggiornamenti sincroni
  • T superiore della gerarchia di directory

setfattr :modifica gli attributi estesi del file

Utilizzo (imposta attributo):

    setfattr -n <name> -v <value> files...

Utilizzo (rimuovi):

    setfattr -x <name> files...

name è il nome dell'attributo esteso da impostare o rimuovere

value è il nuovo valore dell'attributo esteso

setfacl :modifica le liste di controllo dell'accesso ai file

Utilizzo:

    setfacl <option> [default:][<target>:][<param>][:<perms>] files...

option deve includere uno dei seguenti:

  • --set imposta l'ACL di un file o di una directory, sostituendo l'ACL precedente
  • -m |--modify modificare l'ACL di un file o di una directory
  • -x |--remove rimuovere le voci ACL di un file o di una directory

    target è una delle lettere ugmo (o la forma più lunga mostrata di seguito):

  • u , users autorizzazione di un utente nominato identificato da param , il valore predefinito è il proprietario del file uid se omesso

  • g , group autorizzazione di un gruppo denominato identificato da param , l'impostazione predefinita è il gruppo proprietario uid se omesso
  • m , mask maschera dei diritti effettivi
  • o , other autorizzazioni di altri

    perms è una combinazione delle lettere rwxX , che corrispondono ai permessi:

  • r leggi

  • w scrivi
  • x eseguire
  • X esegui solo se il file è una directory o ha già il permesso di esecuzione per qualche utente

    In alternativa, perms può essere una cifra ottale (0 -7 ) che indica l'insieme dei permessi.

setcap :cambia le capacità del file

Utilizzo:

    setcap <capability-clause> file 

Un capability-clause consiste in un elenco di nomi di capacità separati da virgole seguiti da un elenco di coppie operatore-flag.

Gli operatori disponibili sono = , + e - . I flag disponibili sono e , i e p che corrispondono a Efficace , Ereditabile e Consentito set di capacità.

Il = l'operatore aumenterà i set di capacità specificati e ripristinerà gli altri. Se non vengono forniti flag insieme al = operatore tutti i set di funzionalità verranno ripristinati. Il + e - gli operatori aumenteranno o ridurranno rispettivamente uno o più insiemi di capacità specificati.

chcon :cambia il contesto di sicurezza del file SELinux

Utilizzo:

    chcon [-u <user>] [-r <role>] [-t <type>] files...

utente è l'utente SELinux, come user_u , system_u o root .

ruolo è il ruolo SELinux (sempre object_r per i file)

tipo è il tipo di soggetto SELinux

chsmack :cambia gli attributi estesi SMACK

Utilizzo:

    chsmack -a <value> file

value è l'etichetta SMACK da impostare per SMACK64 attributo di file esteso

setrichacl:modifica l'elenco completo di controllo degli accessi.

richacls sono una funzionalità che aggiungerà ACL più avanzati.

Attualmente un work in progress, quindi non posso dirvi molto su di loro. Non li ho usati.

Vedi anche questa domanda Esistono ACL di filesystem più avanzati oltre al tradizionale 'rwx' e ACL POSIX? e pagina man


Linux
  1. Copia i file nel terminale Linux

  2. 5 modi per usare il comando move in Linux

  3. Linux:come impostare le autorizzazioni file predefinite per tutte le cartelle/file in una directory?

  4. 7zip, Xz, Gzip, Tar, ecc:quali sono le differenze??

  5. Qual è il limite massimo di file aperti su Linux?

I 6 modi migliori per visualizzare i file in Linux

Cosa sono gli inode in Linux?

Che cos'è il file /etc/passwd in Linux?

Quali sono le differenze tra lsof e netstat su Linux?

Cosa significa 'rc' in `.bashrc`, ecc.?

Gerarchia dei file di Linux:qual è la posizione migliore per archiviare i file di blocco?