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:
setfaclrozšiřuje tradičníugo:rwxbitů atbitchmod.setcapposkytuje větší kontrolu ploutví nežug:sbitůchmod.chattrUmožň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:
uuživatele, který jej vlastnígostatní uživatelé vfile's groupoostatní uživatelé, kteří nejsou ve skupině souboru-
avšichni uživateléPokud je vynecháno, výchozí nastavení pro všechny uživatele, ale pouze oprávnění povolená
umaskjsou upraveny.operatorje jedním ze znaků+-=:+přidat zadané bity režimu souboru k existujícím bitům režimu souboru každéhofile-odebere zadané bity režimu souboru ze stávajících bitů režimu souboru každéhofile=přidá zadané bity a odebere nespecifikované bity, kroměsetuidasetgidbity nastavené pro adresáře, pokud to není výslovně uvedeno.
modese skládá z kombinace písmenrwxXst, které určují, který bit oprávnění se má upravit:rčístwpsátxspustit (nebo vyhledat adresáře)Xvykonat/vyhledat pouze v případě, že soubor je adresář nebo již má pro některého uživatele nastaven spouštěcí bitssetuid nebo setgid (v závislosti na zadanýchreferences)tpříznak omezeného smazání nebo lepivý bit
Případně
modese může skládat z jednoho z písmenugo, 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.
sat— 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
setcappro 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:
apouze připojitckomprimovanýdžádná skládkaeformát rozsahuineměnnýjžurnálování datsbezpečné smazánítžádné slučování ocasuunesmazatelnýAžádnéatimeaktualizaceDsynchronní aktualizace adresářůSsynchronní aktualizaceTvrchol hierarchie 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:
--setnastavit ACL souboru nebo adresáře a nahradit předchozí ACL-m|--modifyupravit ACL souboru nebo adresáře-
-x|--removeodstranit položky ACL souboru nebo adresářetargetje jedno z písmenugmo(nebo delší forma zobrazená níže): -
u,usersoprávnění jmenovaného uživatele identifikovaného pomocíparam, výchozí je vlastník souboruuidpokud je vynechán g,groupoprávnění pojmenované skupiny označenéparam, výchozí je vlastnící skupinauidpokud je vynechánm,maskúčinná maska práv-
o,otheroprávnění ostatníchpermsje kombinací písmenrwxX, která odpovídají oprávněním: -
rčíst wpsátxprovést-
Xspustit pouze v případě, že soubor je adresář nebo již má oprávnění ke spuštění pro některého uživatelePřípadně
permsmůž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.