GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jaké jsou různé způsoby nastavení oprávnění k souborům atd. na Gnu/linux?

V Unixu jsem se před dlouhou dobou dozvěděl o chmod :tradiční způsob nastavení oprávnění na Unixu (a umožnění programům získat oprávnění pomocí setuid, setgid).

Nedávno jsem objevil nějaké novější příkazy na GNU/Linux:

  • setfacl rozšiřuje tradiční ugo:rwx bitů a t bit chmod .
  • setcap poskytuje větší kontrolu ploutví než ug:s bitů chmod .
  • chattr Umožňuje některé další ovládací prvky (trochu mix) souboru.

Existují nějaké další?

Přijatá odpověď:

chmod :změna bitů režimu souboru

Použití (osmičkový režim):

    chmod <octal-mode> files...

Použití (symbolický režim):

    chmod <references><operator><modes> files..

references je kombinací písmen ugoa , které určují, který uživatel má přístup k files bude upraveno:

  • u uživatele, který jej vlastní
  • g ostatní uživatelé v file 's group
  • o ostatní uživatelé, kteří nejsou ve skupině souboru
  • a všichni uživatelé

    Pokud je vynecháno, výchozí nastavení pro všechny uživatele, ale pouze oprávnění povolená umask jsou upraveny.

    operator je jedním ze znaků +-= :

    • + přidat zadané bity režimu souboru k existujícím bitům režimu souboru každého file
    • - odebere zadané bity režimu souboru ze stávajících bitů režimu souboru každého file
    • = přidá zadané bity a odebere nespecifikované bity, kromě setuid a setgid bity nastavené pro adresáře, pokud to není výslovně uvedeno.

    mode se skládá z kombinace písmen rwxXst , které určují, který bit oprávnění se má upravit:

    • r číst
    • w psát
    • x spustit (nebo vyhledat adresáře)
    • X vykonat/vyhledat pouze v případě, že soubor je adresář nebo již má pro některého uživatele nastaven spouštěcí bit
    • s setuid nebo setgid (v závislosti na zadaných references )
    • t příznak omezeného smazání nebo lepivý bit

    Případně mode se může skládat z jednoho z písmen ugo , v takovém případě režim odpovídá oprávněním aktuálně uděleným vlastníkovi (u ), členové file 's group (g ) nebo oprávnění uživatelů v žádné z předchozích kategorií (o ).

Různé části chmod vysvětlil:

  • Řízení přístupu (viz také setfacl )
    • rwx — číst (r), zapisovat (w) a spouštět/křížovat (x) oprávnění.
      • Read (r) ovlivňuje, zda lze číst soubor nebo zda lze vypsat adresář.
      • Zápis (w) ovlivňuje, zda lze do souboru zapisovat nebo zda lze adresář upravovat (přidávat, mazat, přejmenovávat soubory).
      • Spustit (x) ovlivní, zda lze soubor spustit, použít pro skripty (viz #! ) a další spustitelné soubory.
      • Křížka (x) ovlivňuje, zda lze adresářem procházet.
    • s a t — sticky bit (t) a setgid (s) v adresářích
      • Pasný bit ovlivňuje pouze adresáře. Zabrání komukoli kromě vlastníka souboru a roota ve smazání souborů v adresáři.
      • bit setgid v adresářích způsobí, že nové soubory a adresáře budou mít skupinu nastavenou na stejnou skupinu a nové adresáře budou mít nastaven bit setgid (viz také výchozí hodnoty v setfacl).
    • s — setuid, setgid, na spustitelné soubory.
      • Pokud nevíte, co děláte, může to nepříznivě ovlivnit zabezpečení.
      • Pokud je při spuštění spustitelného souboru nastaven jeden z těchto bitů, pak se skutečným uživatelem/skupinou spustitelného souboru stane uživatel/skupina souboru. Program tedy běží jako tento uživatel. viz setcap pro modernější způsob, jak toho dosáhnout.

chown chgrp :

chattr :změna atributů souboru

Použití:

    chattr <operator><attribute> files...

operator je jedním ze znaků +-= :
* + přidá vybrané atributy ke stávajícím attributes ze files * - odstraní vybrané attributes * = přepíše aktuální sadu atributů, které mají soubory, zadanými attributes .

attribute je kombinací písmen acdeijstuADST , které odpovídají atributům:

  • a pouze připojit
  • c komprimovaný
  • d žádná skládka
  • e formát rozsahu
  • i neměnný
  • j žurnálování dat
  • s bezpečné smazání
  • t žádné slučování ocasu
  • u nesmazatelný
  • A žádné atime aktualizace
  • D synchronní aktualizace adresářů
  • S synchronní aktualizace
  • T vrchol hierarchie adresářů
Související:Ssh – Proč selže pokus o předání X11 s „connect /tmp/.X11-unix/X0:Žádný takový soubor nebo adresář“?

setfattr :změna atributů rozšířeného souboru

Použití (nastavení atributu):

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

Použití (odstranit):

    setfattr -x <name> files...

name je název rozšířeného atributu, který se má nastavit nebo odebrat

value je nová hodnota rozšířeného atributu

setfacl :změna seznamů řízení přístupu k souborům

Použití:

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

option musí obsahovat jednu z následujících položek:

  • --set nastavit ACL souboru nebo adresáře a nahradit předchozí ACL
  • -m |--modify upravit ACL souboru nebo adresáře
  • -x |--remove odstranit položky ACL souboru nebo adresáře

    target je jedno z písmen ugmo (nebo delší forma zobrazená níže):

  • u , users oprávnění jmenovaného uživatele identifikovaného pomocí param , výchozí je vlastník souboru uid pokud je vynechán

  • g , group oprávnění pojmenované skupiny označené param , výchozí je vlastnící skupina uid pokud je vynechán
  • m , mask účinná maska ​​práv
  • o , other oprávnění ostatních

    perms je kombinací písmen rwxX , která odpovídají oprávněním:

  • r číst

  • w psát
  • x provést
  • X spustit pouze v případě, že soubor je adresář nebo již má oprávnění ke spuštění pro některého uživatele

    Případně perms může být osmičková číslice (7 ) označující sadu oprávnění.

setcap :změna možností souboru

Použití:

    setcap <capability-clause> file 

capability-clause sestává ze seznamu názvů funkcí oddělených čárkami, za kterým následuje seznam dvojic operátor-příznak.

Dostupné operátory jsou = , + a - . Dostupné příznaky jsou e , i a p které odpovídají Efektivní , Dědičné a Povoleno sady schopností.

= operátor zvýší specifikované sady schopností a resetuje ostatní. Pokud nejsou uvedeny žádné příznaky ve spojení s = operátora, všechny sady schopností budou resetovány. + a - operátoři zvýší nebo sníží jednu nebo více specifikovaných sad schopností.

chcon :změna kontextu zabezpečení SELinux

Použití:

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

uživatel je uživatel SELinuxu, například user_u , system_u nebo root .

role je role SELinux (vždy object_r pro soubory)

typ je předmět typu SELinux

chsmack :změna rozšířených atributů SMACK

Použití:

    chsmack -a <value> file

value je štítek SMACK, který se má nastavit pro SMACK64 rozšířený atribut souboru

setrichacl:změna rozšířeného seznamu řízení přístupu.

richacls jsou funkce, která přidá pokročilejší ACL.

V současné době se na nich pracuje, takže vám o nich nemohu moc říct. Nepoužil jsem je.


Linux
  1. Úvod do souboru Linux /etc/fstab

  2. Linux – jaké souborové systémy v systému Linux ukládají dobu vytvoření?

  3. Linux – Co znamená tečka za bity oprávnění souboru?

  1. UNIX / Linux:Co je to Shell? Jaké jsou různé Shelly?

  2. Jaké jsou možnosti připojení pro zlepšení výkonu souborového systému ext4 v Linuxu

  3. Co jsou řídké soubory v Linuxu

  1. Jaké jsou hlavní rozdíly mezi Bsd a Gnu/linux Userland?

  2. Jaké jsou nevýhody linuxových front zpráv?

  3. Jaké jsou různé způsoby nastavení oprávnění k souborům atd. na gnu/linux