A korlátozott héj használata a Linux-felhasználó által tett korlátozáshoz
[ad_1]
A korlátozott héj korlátozza, hogy egy felhasználói fiók mit tehet a Linuxon. A korlátozott felhasználók nem változtathatják meg a könyvtárukat, és Ön határozza meg, hogy mely parancsokhoz férnek hozzá. Így állíthat be egy korlátozott héjat Linuxon.
Korlátozott héjak
A korlátozott héj nem más. Ez egy másik mód standard héj. A Bash, Korn, Hal, és más héjak is elindíthatók korlátozott héj módban. Ebben a cikkben a Bash-t fogjuk használni, de ugyanazok az elvek érvényesek a többi héjra is.
Mivel a korlátozott héjak csak egy másik módja a szabványos héj használatának, könnyen felállíthatók. Nincs mit telepíteni, és bárhol elérhetők, bárhol a Linux.
Korlátozott héjak alkalmazhatók a szkriptekre is. Ez biztosítja, hogy az esetleges károk, amelyeket helytelenül írtak, csak korlátozott világukra korlátozódnak, és hogy nem férnek hozzá az egész számítógéphez.
Ne feledje azonban, hogy a korlátozott héjak nem teljesen menekülnek. Valaki, aki rendelkezik elegendő tudással, elkerülheti a korlátozott héjat. Kiválóan alkalmasak arra, hogy biztonságos határokat szabjanak az alkalmi felhasználóknak, de a gyártói rendszer valós biztonsága érdekében ne támaszkodjon korlátozott héjakra.
ÖSSZEFÜGGŐ: Mi a különbség a Bash, a Zsh és más Linux héjak között?
Korlátozott Bash
Ha a Bash programot korlátozott héjként futtatja, a felhasználó eltávolít néhány képességet belőlük. Pontosabban a felhasználó nem tud:
- Használat
cd
a munkakönyvtár megváltoztatásához. - Módosítsa a
$PATH
,$SHELL
,$BASH_ENV
, vagy$ENV
környezeti változók (de leolvashatják az aktuális értékeket). - Olvassa el vagy változtassa meg
$SHELLOPTS
héj környezeti lehetőségek. - Átirányítja a parancs kimenetét.
- Hívjon meg olyan parancsokat, amelyek eléréséhez elérési út szükséges. Vagyis nem adhat ki olyan parancsot, amelyen egy vagy több perjel szerepel
/
” benne. - Invoke
exec
hogy más eljárással helyettesítse a héjat. - Használja a szkript korlátozott szolgáltatásait.
Meghívhat egy korlátozott Bash héjat a -r
(korlátozott) opció. Tilos olyan egyszerű feladatot végrehajtani, mint a munkakönyvtár megváltoztatása. Ezt egy rövid üzenet mondja el cd
korlátozott.
bash -r
cd Documents
A Bash héj azt is felismeri, hogy mikor hívták meg, a „bash” helyett az „rbash” használatával. Emiatt korlátozott héjként is elindul. Ez kényelmes módot kínál az alapértelmezett shell beállítására egy adott felhasználó számára, amelyet hamarosan használunk.
Ha a whereis
parancsot az Ubuntun, hogy keresse meg a rbash
fájlokat, látni fogjuk, hogy a futtatható fájl az „usr / bin” könyvtárban található. A man oldal a “/ usr / share / man / man1” könyvtárban található.
Használni a ls
parancsot a -l
(hosszú) opció feltárja rbash
van valójában szimbolikus kapcsolat nak nek bash
.
whereis rbash
ls -l /usr/bin/rbash
Manjarón és Fedorán a rbash
szimbolikus kapcsolatot kellett létrehozni. Ez mindkét disztribúción működik:
whereis rbash
sudo ln -s /bin/bash /bin/rbash
whereis rbash
Másodszor használjuk a whereis
parancsot, megtalálja rbash
a / / usr / bin könyvtárban.
Felhasználó korlátozása
Nézzük hozzon létre egy új felhasználói fiókot „Minnie” néven. A héjukat korlátozott héjnak állítjuk be a -s
(shell) opció a useradd
parancs. Szintén jól állítsa be a fiók jelszavát használni apasswd
parancsot, és létrehozunk nekik egy otthoni mappát.
A -p
(szülők) zászló a mkdir
parancs megmondja mkdir
a célkönyvtár és a létrehozásához szükséges összes szülőkönyvtár létrehozásához. Tehát a „/ home / minnie / bin” könyvtár létrehozásával egyidejűleg létrehozzuk a / / home / minnie könyvtárat is.
sudo useradd minnie -s /bin/rbash
sudo passwd minnie
sudo mkdir -p /home/minnie/bin
Amikor Minnie bejelentkezik, korlátozott héjban fog futni.
cd
Nem hívhatja meg azokat a parancsokat, amelyeknek perjelet kell tartalmazniuk/
„:
/usr/bin/ping
Azonban továbbra is képes végrehajtani az útvonalon található parancsokat.
ping
Nem ez a viselkedés, amire számíthattál, és biztosan nem ez az, amit szeretnénk. A korlátozások további szigorítása érdekében meg kell változtatnunk azt az utat, amelyet Minnie héja a parancsok keresésére használ.
A korlátozások szigorítása
Amikor elkészítettük Minnie saját könyvtárát „/ home / minnie”, létrehoztunk egy „/ home / minnie / bin” könyvtárat is. Itt kerül szóba az a könyvtár.
Szerkeszteni fogjuk Minnie „.bash_profile” fájlját, és beállítjuk, hogy az útja csak erre a könyvtárra mutasson. Korlátozni fogjuk Minnie „.bash_profile” fájlját is, hogy csak a root tudja szerkeszteni. Ez azt jelenti, hogy egyetlen más felhasználó sem szerkesztheti ezt a fájlt és megváltoztathatja az útvonalát.
sudo gedit /home/minnie/.bash_profile
Vagy szerkessze a meglévő „PATH =” szót, vagy adja hozzá a következő sort:
PATH=$HOME/bin
Mentse a fájlt. Jól változtassa meg a fájl tulajdonosát a root használatával chown
parancs és módosítsa a fájl engedélyeit használni a chmod
parancs. Csak a root felhasználó szerkesztheti a fájlt.
sudo chown root:root /home/minnie/.bash_profile
sudo chmod 755 /home/minnie/.bash_profile
ls -l /home/minnie/.bash_profile
A következő alkalommal, amikor Minnie felhasználó bejelentkezik, útja egyetlen mappára mutat.
Korlátozott felhasználói minnie csak a Bash beépített parancsokat használhatja, mint például echo
, alias
, és logout
. Nem is tudja használni ls
!
ls
Kissé meg kell lazítanunk a fojtogatást, ha azt akarjuk, hogy egyáltalán bármi hasznosat képesek legyenek megtenni. Létrehozunk néhány szimbolikus linket Minnie „bin” könyvtárából azokhoz a parancsokhoz, amelyeket használni szeretnénk.
sudo ln -s /bin/ls /home/minnie/bin
sudo ln -s /bin/top /home/minnie/bin
sudo ln -s /bin/uptime /home/minnie/bin
sudo ln -s /bin/pinky /home/minnie/bin
Amikor Minnie legközelebb bejelentkezik, rájön, hogy tudja használni a Bash beépített parancsait, valamint azokat a parancsokat, amelyekhez kapcsolódnak.
ls
pinky dave
uptime
A meglévő felhasználók korlátozása
Új felhasználóként hoztuk létre Minnie-t. Nak nek megváltoztatni egy létező héját felhasználó, használhatjuk a -s
(shell) opció a usermod
parancs.
sudo usermod -s /bin/rbash mary
Használhatja a less
parancsot az “/ etc / passwd” fájlban, hogy gyorsan lássa, melyik shell van beállítva a felhasználó alapértelmezett shelljeként.
less /etc/passwd
Láthatjuk, hogy Mary felhasználó a következő bejelentkezéskor használja a korlátozott héjat.
Ne felejtse el alkalmazni a többi változtatást azok korlátozása érdekében $PATH
környezeti változó és a parancsok megadása, amelyeket a felhasználónak végre kell hajtania.
Szkriptek korlátozása
Egy rendes, korlátozás nélküli felhasználó korlátozott héjban futtatott parancsfájlokat indíthat el. Másolja a következő sorokat, és illessze be egy szerkesztőbe. Mentse a fájlt „limited.sh” néven, és zárja be a szerkesztőt.
#!/bin/bash # script starts in normal Bash shell echo "## In UNrestricted mode! ##" echo echo "Current directory: `pwd`" echo "Changing directory" cd /usr/share echo "Now in directory: `pwd`" echo "Changing to home directory" cd ~ echo "Now in directory: `pwd`" # Setting restricted mode set -r echo echo "## In restricted mode! ##" echo echo "Current directory: `pwd`" echo "Changing directory to /home/" cd /home echo "Still in directory: `pwd`" echo echo "Trying to start another shell" /bin/bash echo echo "Trying to redirect command output" ls -l $HOME > my_files.txt cat my_files.txt echo exit 0
Használnunk kell a chmod
parancsot a +x
(végrehajtás) jelző a futtatható futtatáshoz.
chmod +x restricted.sh
A szkript első része normál héjban fut.
./restricted.sh
A szkript második része – a „set -r” sor utáni bit – korlátozott héjban fut.
A megkísérelt műveletek egyike sem sikerül a szkript korlátozott részében.
A teljes parancsfájl hozzáadásával korlátozott héjban futhat -r
az első sorig:
!#/bin/bash -r
Emlékezz Houdinire
A korlátozott héjak hasznosak, de nem teljesen tévedhetetlenek. Egy megfelelően képzett felhasználó képes lehet elkerülni őket. Ésszerű használatukkal hasznos módszerek lehetnek egy adott fiók korlátozásainak megállapítására.
[ad_2]
Source link