GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:quali sono i diversi modi per impostare i permessi dei file ecc. su Gnu/linux?

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:

  • setfacl estende il tradizionale ugo:rwx bit e il t bit di chmod .
  • setcap offre un maggiore controllo della grana rispetto a ug:s bit di chmod .
  • chattr Consente 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:

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

    Se omesso, per impostazione predefinita sono tutti gli utenti, ma solo i permessi consentiti da umask vengono modificati.

    operator è uno dei caratteri +-= :

    • + aggiungi i bit di modalità file specificati ai bit di modalità file esistenti di ciascun files
    • - rimuove i bit di modalità file specificati nei bit di modalità file esistenti di ogni files
    • = aggiunge i bit specificati e rimuove i bit non specificati, eccetto 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 alcuni utenti
    • s setuid o setgid (a seconda dei references specificati )
    • t flag di eliminazione limitata o bit permanente

    In alternativa, la mode può essere costituito da una delle lettere ugo , nel qual caso la modalità corrisponde ai permessi attualmente concessi al proprietario (u ), membri del files '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.
    • s e t — 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 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 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:

  • a aggiungi solo
  • c compresso
  • d nessun dump
  • e formato dell'estensione
  • i immutabile
  • j inserimento nel diario dei dati
  • s cancellazione sicura
  • t nessuna coda fusa
  • u non cancellabile
  • A nessun atime aggiornamenti
  • D aggiornamenti sincroni della directory
  • S aggiornamenti sincroni
  • T in cima alla gerarchia delle directory
Correlati:Ssh – Perché il tentativo di inoltro X11 non riesce con "connect /tmp/.X11-unix/X0:No such file or 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:

  • --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 il modulo più lungo mostrato 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 , per 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 alle autorizzazioni:

  • r leggi

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

    In alternativa, perms può 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.


Linux
  1. Linux:cosa significa un punto dopo i bit di autorizzazione del file?

  2. Quali sono le principali differenze tra Bsd e Gnu/linux Userland?

  3. Quali sono i diversi tipi di shell in Linux?

  4. UNIX/Linux:cos'è una shell? Cosa sono le diverse conchiglie?

  5. Quali sono le opzioni di montaggio per migliorare le prestazioni del filesystem ext4 in Linux

I 6 modi migliori per visualizzare i file in Linux

Che cos'è Fstab in Linux | Un'introduzione al file /etc/fstab di Linux

Cosa sono gli inode in Linux?

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

Comprendere il file /etc/fstab in Linux

Qual è lo scopo del file .bashrc in Linux