Omezené limity skořápky, co může uživatelský účet udělat na Linuxu. Omezený uživatel nemůže změnit svůj adresář a ovládáte, které příkazy mají přístup. Zde je návod, jak nastavit omezenou skořápku na Linuxu.
Omezené skořápky
Omezená skořápka není jiná skořápka. Je to jiný způsob standardní shell . . \ T Bash. , Korn. , Ryba A další skořápky mohou být spuštěny v režimu omezeného shell. Budeme používat bash v tomto článku, ale stejné principy platí pro ostatní skořápky.
Protože omezené skořápky jsou jen dalším způsobem používání standardního skořápka, snadno se nastavují. Není nic k instalaci, a jsou k dispozici všude, kde je Linux.
Omezené skořápky lze aplikovat také na skripty. To zajišťuje, že jakékoli škody způsobují, zda byly napsány nesprávně, jsou omezeny na omezení svého omezeného světa a že nemají přístup k celému počítači.
Buďte si vědomi toho, že omezené skořápky nejsou zcela uniknout. Někdo s dostatečným poznáním může uniknout omezenému skořepině. Jsou skvělé pro uvedení bezpečných hranic na neformálním uživateli, ale nespoléhají se na omezené skořápky pro jakékoliv světové zabezpečení ve výrobním systému.
PŘÍBUZNÝ: Jaký je rozdíl mezi Bash, ZSH a jinými linuxovými mušlemi?
Omezené bash.
Když běžíte Bash jako omezený skořápku, uživatel má některé možnosti odstraněny z nich. Konkrétně uživatel nemůže :
-
Použití
CDzměnit pracovní adresář. -
Změnit hodnoty
$ Cesta,$ Shell.,$ Bash_env.Or.$ Envenvironmentální proměnné (ale mohou přečíst aktuální hodnoty). -
Číst nebo změnit
$ Shellopts.Možnosti prostředí v oblasti životního prostředí. - Přesměrovat výstup příkazu.
-
Vyvolejte příkazy, které vyžadují cestu k jejich vyhledání. To znamená, že nemůžete vydat příkaz, který má jeden nebo více lomítků vpřed "
/"V něm. -
Vyvolávat
execnahradit jiný proces pro skořápku. - Použijte některý z omezených vlastností ve skriptu.
Můžete vyvolat omezenou skořápku bash pomocí
-r.r.
(omezená) možnost. Snažím se udělat jednoduchý úkol, jako je změna pracovního adresáře, je zakázáno. Terzní zpráva vám to říká
CD
je omezen.
Bash -r
Dokumenty CD
Bash Shell může také detekovat, když byl vyvolán pomocí "Rbash" namísto "Bash." To způsobí, že to začne jako omezená skořápka. To poskytuje pohodlný způsob, jak nastavit výchozí shell pro konkrétního uživatele, který budeme brzy používat.
Pokud používáme
kde je
příkaz na ubuntu hledat
rbash.
Soubory, uvidíme, že spustitelný soubor je v adresáři "usr / bin". Stránka MAN je v adresáři "/ usr / share / man1".
Za použití
ls.
příkaz s. \ t
-l.
(dlouhá) možnost odhaluje, že
rbash.
je
vlastně symbolický odkaz
na
bash.
.
Kde je Rbash
LS -L / usr / bin / rbash
Na Manjaro a Fedora,
rbash.
Symbolický odkaz musel být vytvořen. To funguje na obou distribucích:
Kde je Rbash
sudo ln -s / bin / bash / bin / rbash
Kde je Rbash
Podruhé používáme
kde je
Příkaz, najde
rbash.
v adresáři "/ usr / bin".
Omezení uživatele
Pojďme
Vytvořit nový uživatelský účet
pojmenovaný "Minnie". Nastavíme jejich skořápku, abyste byli omezeni skořápkou pomocí
-s.
(shell) možností
useradd.
příkaz. Dobře také
nastavit heslo k účtu
za použití
passwd.
příkaz, a budeme-li vytvořit domovský adresář pro ně.
. \ T
-p.
(Rodiče) vlajka ve
mkdir
příkaz říká
mkdir
vytvořit cílový adresář a všechny nadřazené adresáře, které potřebuje k vytvoření taky. Takže tím, že vytvoří „/ home / Minnie / bin“ adresáře, vytvoříme „/ home / Minnie“ adresář ve stejnou dobu.
sudo useradd minnie -s / bin / rbash
sudo passwd minnie
sudo mkdir -p / home / Minnie / bin
Když minnie přihlásí, bude se být spuštěn v omezeném shell.
cd
Ona nemůže odvolávat příkazy, které je třeba zahrnout lomítko „
/
„:
/ usr / bin / ping
Nicméně, ona může ještě provádět příkazy, které se nacházejí v cestě.
stolní
To není chování, které by se dalo očekávat, a to rozhodně není to, co chceme. K dalšímu utažení omezení, musíme změnit cestu, která Minnie je shell použije hledat příkazy.
Zpřísnění omezení
Když jsme vytvořili Minnie je domovský adresář „/ home / Minnie“, jsme také vytvořili „/ home / Minnie / bin“ adresáře. To je místo, kde tento adresář vstoupí do hry.
Chystáme se upravit Minnie je „.bash_profile“ soubor a položila cestu k bodu pouze daného adresáře. Budeme také omezit „.bash_profile“ soubor Minnie tak, že pouze root může upravovat. To znamená, že žádný jiný uživatel může upravovat tento soubor a změnit její dráhu.
sudo gedit /home/minnie/.bash_profile
Buď upravit stávající „PATH =“ nebo přidejte následující řádek:
PATH = $ HOME / bin
Uložení souboru. Studna
Změna vlastníka souboru
ke kořeni pomocí
chown
velení a
Změnit oprávnění souboru
za použití
chmod
příkaz. Pouze uživatel root budou moci upravit soubor.
sudo chown root: kořen /home/minnie/.bash_profile
sudo chmod 755 /home/minnie/.bash_profile
ls -l /home/minnie/.bash_profile
Při příštím uživatel přihlásí Minnie, její cesta bodů na jedné složce.
Naše omezený uživatel Minnie lze použít pouze Bash vestavěné příkazy, jako je
echo
,
alias.
, a
odhlásit se
. Nemůže dokonce používat
ls.
Mezihlédnout!
ls
Budeme potřebovat, abyste ho uvolnili naši sevření trochu, pokud chceme, aby byli schopni udělat něco užitečného vůbec. Budeme vytvářet nějaké symbolické odkazy z „bin“ adresáře Minnie je na příkazy, které chceme Minnie, aby mohli používat.
sudo ln -s / bin / ls / home / minnie / bin
sudo ln -s / bin / horní / home / minnie / bin
sudo ln -s / bin / dostupnosti / home / minnie / bin
sudo ln -s / bin / pinky / home / minnie / bin
Když Minnie další přihlásí, bude se zjistí, že ona může použít Bash vestavěné příkazy a ty příkazy, které byly spojeny s.
ls
malíček dave
dostupnosti
Omezující stávající uživatele
Vytvořili jsme Minnie jako nový uživatel. Na
Změna skořápku existující
uživatel, můžeme použít
-s.
(shell) možností
usermod.
příkaz.
sudo usermod -s / bin / rbash Mary
Můžete použít
méně
Příkaz na „etc / passwd /“ soubor k rychle zjistit, co Shell je nastavena jako výchozí shell uživatele.
méně / etc / passwd
Vidíme, že uživatel mary bude používat omezený shell, když další přihlásí.
Nezapomeňte použít jiné změny omezuje jejich
$ Cesta
Proměnná prostředí a nastavte příkazy, které chcete uživatele mary, aby bylo možné spustit.
omezení skriptů
Pravidelný, neomezený uživatel může spustit skripty, které jsou prováděny v omezeném prostředí. Zkopírujte následující řádky a vložte je do editoru. Uložte soubor jako "Omezený.SH" a zavřete editor.
#! / Bin / bash # scénář začíná v normálním bash shell echo "## v neomezeném režimu! ##" echo ECHO "Aktuální adresář:` pwd` " echo "Změna adresáře" CD / usr / Share ECHO "NOW v adresáři:` pwd` " echo "změna domovského adresáře" CD ~. ECHO "NOW v adresáři:` pwd` " # Nastavení omezeného režimu set -r. echo echo "## v omezeném režimu! ##" echo ECHO "Aktuální adresář:` pwd` " echo "Změna adresáře do / home /" CD / HOME. ECHO "Stále v adresáři:` pwd` " echo echo "snaží se začít další shell" / bin / bash echo echo "snaží se přesměrovat příkazový výstup" LS -L $ HOME & GT; my_files.txt. kočka my_files.txt. echo Konec 0
Musíme použít
chmod
příkaz s. \ t
+ X.
(Spustit) příznak, aby byl spustitelný skript.
CHMOD + X Omezený.SH
První část scénáře běží v normálním prostředí.
./ Omezený.SH
Druhá část scénáře - bit po "set -r" line-běží v omezeném prostředí.
Žádný z pokusu o akci uspěl v omezené části skriptu.
Celý skript může být proveden v omezeném prostředí přidáním
-r.r.
První řádek:
! # / Bin / bash -r
Vzpomeňte si Houdinini.
Omezené skořápky jsou užitečné, ale ne naprosto neomylné. Dostatečně kvalifikovaný uživatel je může být schopen uniknout. Ale když se uvážlivě používají, jsou užitečným způsobem, jak vytvořit soubor omezení pro konkrétní účet.