GNU/Linux >> Znalost Linux >  >> Linux

Úvod do linuxového příkazu chown

Každý soubor a adresář v systému Linux někdo vlastní a vlastník má úplnou kontrolu nad tím, jak změnit nebo odstranit soubory, které vlastní. Kromě vlastnictví uživatele , soubor má vlastnící skupinu .

Vlastnictví souboru můžete zobrazit pomocí ls -l příkaz:

[pablo@workstation Downloads]$ ls -l
celkem 2454732
-rw-r--r--. 1 pablo pablo 1934753792 25. července 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso

Třetí a čtvrtý sloupec výstupu jsou vlastnící uživatel a skupina, které se společně označují jako vlastnictví . Oba jsou pablo pro soubor ISO výše.

Nastavení vlastnictví, nastavené pomocí chmod řídit, kdo smí provádět čtení, zapisovat nebo provádět akce. Vlastnictví (jedno nebo oba) můžete změnit pomocí chown příkaz.

Často je nutné změnit vlastníka. Soubory a adresáře mohou v systému žít dlouhou dobu, ale uživatelé mohou přicházet a odcházet. Vlastnictví může být také potřeba změnit, když se soubory a adresáře přesouvají po systému nebo z jednoho systému do druhého.

Vlastnictvím souborů a adresářů v mém domovském adresáři je můj uživatel a moje primární skupina ve tvaru user:group . Předpokládejme, že Susan spravuje skupinu Delta, která potřebuje upravit soubor s názvem mynotes . Můžete použít chown příkaz pro změnu uživatele na susan a skupina do delty :

$ chown susan:delta mynotes
ls -l
-rw-rw-r--. 1 susan delta 0. srpna  1 12:04 mynotes

Jakmile skupina Delta dokončí soubor se souborem, může být přiřazena zpět mně:

$ chown alan mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan delta 0. srpna  1 12:04 mynotes

Uživatel i skupina mohou být přiřazeni zpět ke mně připojením dvojtečky (: ) uživateli:

$ chown alan:mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan alan 0 srpen  1 12:04 mynotes

Přidáním dvojtečky před skupinu můžete změnit pouze skupinu. Nyní členové gama skupina může soubor upravovat:

$ chown :gamma mynotes
$ ls -l
-rw-rw-r--. 1 alan gamma 0. srpna  1 12:04 mynotes

Několik dalších argumentů pro chown může být užitečných jak na příkazovém řádku, tak ve skriptu. Stejně jako mnoho jiných příkazů Linuxu má chown rekurzivní argument (-R ), který říká příkazu, aby sestoupil do adresáře, aby mohl pracovat se všemi soubory uvnitř. Bez -R příznak, změníte pouze oprávnění složky, přičemž soubory v ní zůstanou nezměněny. V tomto příkladu předpokládejme, že záměrem je změnit oprávnění adresáře a celého jeho obsahu. Zde jsem přidal -v (verbose) argument, takže chown hlásí, co dělá:

$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 srpen  5 15:33 conf

conf:
-rw-rw-r-- 1 alan alan 0 5. srpna 15:33 conf.xml

$ chown -vR susan:delta conf
změnilo vlastnictví souboru 'conf/conf.xml' z alan:alan na  susan:delta
změnil vlastnictví 'conf' z alan:alan na  susan:delta

V závislosti na vaší roli možná budete muset použít sudo změnit vlastnictví souboru.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Můžete použít referenční soubor (--reference=RFILE ), když měníte vlastnictví souborů tak, aby odpovídalo určité konfiguraci, nebo když vlastnictví neznáte (jako tomu může být při spouštění skriptu). Můžete duplikovat uživatele a skupinu jiného souboru (RFILE , známý jako referenční soubor), například pro vrácení změn provedených výše. Připomeňme, že tečka (. ) odkazuje na aktuální pracovní adresář.

$ chown -vR --reference=. conf 

Nahlásit změny

Většina příkazů má argumenty pro řízení jejich výstupu. Nejběžnější je -v (--verbose ), chcete-li povolit upovídané, ale chown má také -c (--změny ) argument, který dá chownovi pokyn, aby hlásil pouze při provedení změny. Chown stále hlásí další věci, například když operace není povolena.

Argument -f (--tichý , -tichý ) se používá k potlačení většiny chybových zpráv. Použiji -f a -c v další části, aby byly zobrazeny pouze skutečné změny.

Zachovat kořen

Kořen (/ ) souborového systému Linux by se mělo zacházet s velkým respektem. Pokud dojde k chybě na této úrovni, následky by mohly způsobit, že systém bude zcela zbytečný. Zejména když spouštíte rekurzivní příkaz, který provádí jakoukoli změnu nebo horší:mazání. Příkaz chown má argument, který lze použít k ochraně a zachování kořene. Argument je --preserve-root . Pokud je tento argument použit s rekurzivním příkazem chown v kořenovém adresáři, nic se neděje a místo toho se zobrazí zpráva.

$ chown -cfR --preserve-root alan /
chown:je nebezpečné pracovat rekurzivně na '/'
chown:použijte --no-preserve-root k přepsání tohoto zabezpečení proti selhání

Tato možnost nemá žádný účinek, pokud není použita ve spojení s --recursive . Pokud však příkaz spouští uživatel root, oprávnění / sám se změní, ale ne ostatní soubory nebo adresáře v rámci.

$ chown -c --preserve-root alan /
chown:změna vlastnictví '/':Operace není povolena
[root@localhost /]# chown -c --preserve-root alan /
změnil vlastnictví '/' z root na alan

Vlastnictví je bezpečnost

Vlastnictví souborů a adresářů je součástí dobrého zabezpečení informací, takže je důležité občas kontrolovat a udržovat vlastnictví souborů, abyste zabránili nechtěnému přístupu. Příkaz chown je jedním z nejběžnějších a nejdůležitějších v sadě bezpečnostních příkazů Linuxu.


Linux
  1. Úvod do linuxového příkazu chmod

  2. Úvod do příkazu alternatives v Linuxu

  3. Úvod do příkazu diff

  1. Úvod do používání tcpdump na příkazovém řádku Linuxu

  2. Zvládněte příkaz Linux ls

  3. 5 Praktické příklady příkazu dd v Linuxu

  1. Úvod do souborového systému Linux

  2. Vysvětlení příkazu tar pro Linux

  3. Vyhledejte příkaz v Linuxu