Přiznejme si to:Souborový systém Linuxu může být složitý. Přidejte připojené vzdálené souborové systémy, vyměnitelná média a jakékoli adresáře specifické pro server, které jste vytvořili, a vy nebo vaši uživatelé mohou mít potíže s zapamatováním, kde je daný soubor přesně uložen. To je místo find
Přichází příkaz. Umožňuje vyhledávat soubory nebo adresáře na základě různých kritérií. Udělám základní recenzi find
níže, ale zaměření tohoto článku je trochu jiné:Najít zdroje podle oprávnění.
Proč musím hledat podle oprávnění?
- Bezpečnostní audit
- Řešení problémů se stížnostmi uživatelů na přístup
- Odstraňování problémů s přístupem aplikací
Rychlý příklad hledání podle názvu
Existují další články na téma Povolit Sysadmin, které pokrývají find
efektivně velet. Příkaz zde však rychle shrnu.
Syntaxe:
find (where to search) (what to search for)
Příklad:
# find /etc -name rsyslog
# find /home/user01 -type d
Tento článek se však zaměřuje na použití -perm
možnost, která vyhledává na základě nastavení oprávnění.
Absolutní režim versus symbolický režim
Připomeňme, že oprávnění se nastavují pomocí chmod
příkaz. chmod
příkaz rozpozná absolutní režim i symbolický režim. Přečtěte si můj nedávný článek Jak spravovat oprávnění pro uživatele, skupiny a další v systému Linux, kde naleznete přehled správy přístupu ke zdrojům, včetně těchto dvou režimů. find
příkaz také rozpozná oba režimy, takže můžete použít ten, který je pro vás nejpřirozenější. Pro mě je to absolutní režim. Abyste mohli efektivně používat find -perms
, musíte si připomenout několik věcí o absolutním režimu a symbolickém režimu příkaz.
Absolutní režim
Absolutní režim používá k reprezentaci oprávnění osmičkové hodnoty. Hodnoty jsou uvedeny v pořadí jako oprávnění k přiřazení uživateli, skupině a všem ostatním.
Například:
# chmod 764 file1
Nastaví uživatele s 7 (rwx), seskupte pomocí 6 (rw) a další s 4 (r) pro file1
.
Symbolický režim
Symbolický režim používá symboly k vyjádření úrovní přístupu a používá matematické operátory k zadání (+ ) nebo odebrat (- ) oprávnění.
Například:
# chmod o+rw file1
Dává ostatní identitu přečíst a pište do file1
.
Najděte oprávnění zdrojů pomocí absolutního režimu
Nejzákladnější hledání oprávnění nepoužívá žádné další parametry. Příkaz zní jako "najít zdroj s těmito oprávněními."
Například:
# find /etc -perm 777
Příkaz zní:Prohledejte /etc
adresář pro prostředky s 777 úroveň přístupu (rwx pro všechny identity).
Výše uvedený příklad najde pouze zdroje s přesně zadaným oprávněním – nic více a nic méně. Co když potřebujete trochu více flexibility? Existují dva další parametry, které mohou být velmi užitečné. První je -
znak (pomlčka) a druhý je /
znak (lomítko). Podívejme se na oba.
Najít podle -
Použití -
volba znamená "je nastavena alespoň tato úroveň oprávnění a jakákoli vyšší oprávnění."
Příklad:
# find . -perm -644
Tento příklad zobrazuje všechny prostředky v aktuálním adresáři s alespoň 644 oprávnění.
Najít podle /
Použití /
volba znamená "jsou nastavena všechna uvedená oprávnění."
Příklad:
# find . -perm /644
Tento příklad zobrazuje prostředky s 644 nebo vyšší oprávnění.
Zjistěte oprávnění zdrojů pomocí symbolického režimu
Symbolický režim používá ugo symboly (uživatel, skupina, ostatní), rwx symboly (čtení, zápis, spouštění) a matematické operátory (například + nebo - ) k definování oprávnění.
Najít podle -
-
volba funguje v symbolickém režimu stejně jako výše v absolutním režimu. Zobrazuje zdroje s "alespoň touto úrovní přístupu."
Příklad:
# find -perm -u+w,g+w
Najít podle /
/
funguje stejně v symbolickém režimu. Zobrazuje zdroje s "jakýmikoli uvedenými oprávněními."
Příklad:
# find -perm /u+w,g+w
Standardní oprávnění Linuxu jsou velmi běžná a nyní víte, jak vyhledávat prostředky s konfigurovanou danou úrovní přístupu. Linux však také využívá výhod zvláštních oprávnění . find
příkaz může zobrazit tato oprávnění také.
Najděte zdroje se speciálními nakonfigurovanými oprávněními
Speciální oprávnění Linuxu nastavují další řízení přístupu ke zdrojům. Existují tři speciální oprávnění:Set User ID (SUID), Set Group ID, (SGID) a Sticky Bit. Podrobnosti každého jsou mimo rozsah tohoto článku, ale dovolte mi to rychle shrnout:
Zvláštní oprávnění | Popis |
SUID | Soubor je spuštěn uživatelem s identitou vlastníka, i když tento uživatel vlastníkem není |
SGID | Obsah adresáře automaticky zdědí skupinové přidružení nadřazené složky (skvělé pro adresáře sdílené projektovými týmy) |
Sticky Bit | Soubor se automaticky načte do paměti a nikdo jiný než vlastník jej nemůže smazat ani změnit |
Další informace o zvláštních oprávněních naleznete v tomto článku.
Speciální oprávnění se konfigurují pomocí čtvrtého bitu (zcela vlevo):
- SUID =4
- SGID =2
- Sticky Bit =1
Tip :Výstup parametru ls -l
příkaz zobrazí s v poli spustitelného souboru pro uživatele, pokud je nakonfigurováno SUID, s v poli spustitelného souboru pro skupinu, pokud je nakonfigurováno SGID, a T nebo t pokud je nastaven Sticky Bit (v závislosti na tom, zda je nastaveno také spuštění).
Následující obsah pokrývá vyhledávání souborů se specifickými speciálními nakonfigurovanými oprávněními.
Najít soubory s nakonfigurovaným SUID
Chcete-li najít soubory, kde je definována úroveň přístupu SUID, použijte -perm
možnost, ale zahrňte čtvrtou číslici. SUID má osmičkovou hodnotu 4 .
Chcete-li například vyhledat prostředky s nakonfigurovaným SUID:
# find /usr/bin -perm 4755
Najít soubory s nakonfigurovaným SGID
Stejnou syntaxi můžete použít k zobrazení zdrojů s oprávněním SGID definovaným pomocí osmičkové hodnoty SGID 2 .
Chcete-li například vyhledat zdroje s nakonfigurovaným SGID:
# find /usr/bin -perm 2755
Najděte soubory s nakonfigurovaným Sticky Bit
Nakonec můžete použít osmičkovou hodnotu 1 pro zobrazení zdrojů s nakonfigurovaným Sticky Bit.
Zde je příklad Sticky Bit:
# find /etc -perm /1444
Poznámka :-
a /
parametry fungují se speciálními oprávněními stejně jako se standardními oprávněními.
[ Ostatní čtenáři si užili: Základy správce systému Linux:Správa uživatelských účtů ]
Příklady bonusů
Zde je několik dalších příkazů, které mohou být užitečné pro zobrazení oprávnění. Při psaní článku jsem stále přemýšlel:Počkat, co s tím? a poté přidávání bonusových příkladů. Zde je tedy několik dalších příkazů pro audit oprávnění.
Bonus 1:Použijte -not k negaci výsledků
Můžete použít -not
možnost pomocí find
specifikovat cokoli, co neodpovídá daným kritériím.
První příklad ukazuje normální find
pokus a druhý zobrazí find
s -not
.
# find /etc/network -perm 777
Výše uvedený příklad zobrazuje zdroje v /etc/network
které dělají mají 777 nakonfigurována oprávnění.
# find /etc/network -not -perm 777
Tento příklad zobrazuje prostředky uvnitř /etc/network
které mají jakákoli jiná oprávnění než 777 nakonfigurováno.
Bonus 2:Nastavte oprávnění pomocí find a chmod
Jedna z výhod find
je, že obsahuje funkci provedení. Můžete to kombinovat s následnými příkazy, jako je xargs
, rm
nebo chmod
.
# find -perm -111 -exec chmod -R 777 {} \;
V tomto příkladu {}
znaky představují výsledky find
příkaz a \;
znaky představují ukončení chmod
příkaz.
Upozornění :Buďte opatrní, abyste přesně pochopili, jaký bude účinek vašeho kombinovaného provádění příkazů „najít + další“. Překlep lze snadno find
všechny soubory v /etc
a poté se je pokuste odstranit nebo nakonfigurovat oprávnění, která uzamknou legitimní uživatele z jejich domovských adresářů.
Bonus 3:Zobrazení oprávnění pomocí ls a grep
Někdy nepotřebujete pokročilé funkce find
příkaz. Místo toho potřebujete rychlé a snadné zobrazení konkrétních oprávnění. V takovém případě se spolehněte na ls
a grep
příkazy.
Příklad:
# ls -l | grep rwxrw-r--
Tento příkaz zobrazí veškerý obsah adresáře se zadanými oprávněními.
Bonus 4:Zobrazení oprávnění ACL
find
příkaz snadno nezobrazí soubory s aplikovanými oprávněními Access Control List (ACL). V takovém případě použijte getfacl
místo toho příkaz.
Příklad:
# getfacl file1
Další informace o seznamech řízení přístupu naleznete v části Úvod do seznamů řízení přístupu (ACL) systému Linux.
Sbalit
find
command je užitečný nástroj pro zobrazení adresářů nebo souborů, které potřebujete najít. Find však může být také skvělým bezpečnostním nástrojem, protože zobrazuje adresáře a soubory se zadanými oprávněními. Jako správce systému můžete tyto informace použít k zajištění toho, aby byly prostředky serveru nastaveny podle zásad zabezpečení vaší společnosti. Nezapomeňte, že můžete použít >>
přesměrovač k dokumentaci těchto oprávnění. Takový dokument lze použít jako základ oprávnění pro budoucí audity.
[ Přemýšlíte o bezpečnosti? Podívejte se na tohoto bezplatného průvodce posílením zabezpečení hybridního cloudu a ochranou vaší firmy. ]