V našem světě existuje mnoho, mnoho tajemství ... Upřímně si nemyslím, že se mohu naučit dost, abych většinu z nich poznal, a to je dáno prostým faktem, že Linux nám umožňuje dělat tolik, ale tolik věcí, které je pro nás těžké je všechny znát.
Tentokrát vysvětlím, jak udělat něco mimořádně užitečného, něco, co musí udělat mnoho správců sítí nebo systémů, a my jsme zjistili, že je obtížné jednoduše nenajít docela jednoduchý způsob, jak toho dosáhnout:
Jak umístit uživatele do klece připojující se přes SSH
klec? … WTF!
Ano. Pokud z nějakého důvodu musíme poskytnout přístup SSH k našemu příteli k našemu počítači (nebo serveru), musíme se vždy postarat o bezpečnost a stabilitu našeho počítače nebo serveru.
Stává se, že jsme nedávno chtěli dát Perseus SSH přístup na náš server, ale nemůžeme mu dát žádný typ přístupu, protože tam máme opravdu citlivé konfigurace (sestavili jsme mnoho věcí, balíčky, které jsme nainstalovali jednotlivě atd.) .) Ať už se pokusím udělat i tu nejmenší změnu na serveru, existuje možnost, že všechno půjde nazmar.
Pak, Jak vytvořit uživatele s extrémně omezenými oprávněními, a to natolik, že se nemůže ani dostat ven ze své klece (doma)?
Začněme stažením vězení, nástroj, který nám to umožní:
1. Nejprve si musíme stáhnout náš server JailKit.
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. Pak musíme balíček rozbalit a zadat složku, která se právě objevila:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. Později jsme pokračovali v kompilaci a instalaci softwaru (Nechám vám screenshot):
./configure
make
make install
4. Připraveno, toto je již nainstalováno. Nyní pokračujeme vytvořením klece, která bude obsahovat budoucí uživatele, v mém případě jsem ji vytvořil v: / opt / a nazval ji „vězení“, takže cesta by byla: / opt / vězení :
mkdir /opt/jail
chown root:root /opt/jail
5. Klec je již vytvořena, ale nemá všechny potřebné nástroje, aby budoucí uživatelé, kteří tam budou, mohli bez problémů pracovat. Myslím, že až do tohoto okamžiku je klec vytvořena, ale je to jen prázdné pole. Nyní vložíme do klece některé nástroje, které uživatelé v klecích budou potřebovat:
jk_init -v /opt/jail basicshell
jk_init -v /opt/jail editors
jk_init -v /opt/jail extendedshell
jk_init -v /opt/jail netutils
jk_init -v /opt/jail ssh
jk_init -v /opt/jail sftp
jk_init -v /opt/jail jk_lsh
6. Připraveno, klec existuje a již má nástroje, které může uživatel používat ... nyní potřebujeme jen ... uživatele! Chystáme se vytvořit uživatele Kira a dáme to do klece:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
Pokud si všimnete, že se nic jako snímek obrazovky neobjeví, musíte udělat něco špatně. Zanechte zde komentář a já vám rád pomůžu.
7. A voila, uživatel je již v kleci ... ale je v SO kleci, že se nemůže připojit pomocí SSH, protože při pokusu o připojení mu server nedovolí:
8. Abychom uživateli umožnili připojení, musíme udělat ještě jeden krok.
Musíme upravit soubor etc / passwd v kleci, to znamená, že v tomto případě by to bylo / opt / vězení / etc / passwd , v něm komentujeme uživatelskou linku, kterou jsme vytvořili, a přidáme novou, například:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
To znamená, že bychom měli takový soubor passwd:
kořen: x: 0: 0: kořen: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Všimněte si duplicitních interpunkčních znamének a dalších, je důležité, abyste žádné z nich nevyhodili 🙂
Poté může uživatel bez problémů vstoupit 😀
A to je vše.
Nástroj, který k tomu používáme (vězení) použití v backendu chroot, což je vlastně to, co používají téměř všechny výukové programy. Používání JailKit je však jednodušší do klece 😉
Pokud někdo představuje problém nebo něco nefunguje, nechte co nejvíce podrobností, nepovažuji se za odborníka, ale pomůžu vám, jak budu moci.
pak by to bylo něco jako oprávnění na FTP? zajímavý
vždy vyjdete se vším, o čem jste ani nevěděli, že existuje, jako uživatelé v mysql xD
Ne přesně, protože SSH není stejný jako FTP. SSH je shell, tedy terminál ... nacházeli byste se v terminálu na jiném počítači nebo serveru, mohli byste spouštět příkazy, spouštět procesy atd ... dělali byste tolik, kolik vám administrátor serveru dovolí 😉
hahahahaha nah no tak, co se stane, je, že vydávám více technických věcí ... to znamená, že rád vydávám maličkosti, které nejsou tak populární a zajímavé. Například já osobně neplánuji něco publikovat v den, kdy vyjde nový Ubuntu, protože věřím, že o tom už bude mnoho mluvit ... nicméně to, co se dočtete zde v příspěvku, není něco, co se čte každý den nebo ne? 😀
Velmi dobré příspěvky děkuji
existuje také protokol s názvem sftp, což je ftp a Secure Shell společně, i když to není totéž jako běh FTP přes SSH: \
pozdravy
Ano, ano, ale ukládáním do mezipaměti SSH automaticky ukládám do klece každého, kdo se připojuje pomocí SFTP, protože jak říkáte, SFTP je ve skutečnosti SSH + FTP 😀
pozdravy
Obrázky nelze vidět !!! 🙁
Moje malá chyba, hehe, řekni mi to 😀
Připraven. Díky 😀
velmi dobře, ukazuji to na své oblíbené, abych to měl k dispozici, když to potřebuji lol
Děkujeme, máte jakékoli dotazy nebo problémy, jsme tu, abychom vám pomohli 🙂
Mají Perseuse v kleci. http://i.imgur.com/YjVv9.png
LOL
xD
Co se děje
Víte, je to předmět, se kterým nejsem moc obeznámen a který jsem kontroloval v BSD (PC-BSD a Ghost BSD) a považuji ho za velmi zajímavý a s funkcemi, které mohou být velmi užitečné.
Ponechám to pro referenci a porovnám to s BSD doc. Díky za informace.
Ani já jsem s tím nebyl obeznámen, protože mě nikdy nenapadlo dát někomu SSH přístup na některý z mých serverů haha, ale když jsem zjistil, že je to potřeba, chtěl jsem mu dát přístup, ale bez možnosti, že by někdo mohl omylem něco udělat to nebylo nutné 😀
Nikdy jsem to nezkoušel na systémech BSD, takže vám nemohu říci, že to bude fungovat, ale pokud hledáte, jak chrootovat na BSD, něco by mělo vyjít
Díky za komentář, příteli 🙂
Dobrý den, používám FreeBSD a jailkit samozřejmě funguje ve skutečnosti v portech
Nainstalujete jej pomocí tohoto příkazu
cd / usr / porty / mušle / jailkit / && proveďte instalaci čistou
Nebo paketem ftp
pkg_add -r jailkit
Pouze v konfiguraci (kira: x: 1003: 1003 :: / home / kira: / bin / bash)
Musíte přidat tcsh nebo sh, pokud nemáte nainstalovaný bash a přidat tuto cestu
/ usr / local / bin / bash
A několik dalších podrobností, v Ghost BSD by měl být podobný proces ještě jednodušší, protože je založen na FreeBSD
pozdravy
Skvělé, hledal jsem to; víš, jestli to funguje v Centosu ?? dík.
Netestoval jsem to na Centos, ale ano, mělo by to fungovat :)
Ve skutečnosti si pamatuji, že několik použilo stejný nástroj na serverech Centos a Red Hat 😉
Díky moc. Přechází přímo na záložky.
Děkuji za komentář 🙂
Velmi dobrý „trik“, super užitečný pro správce systému. Ale ještě lepší, výborně napsané. Co víc si přát.
Děkuji moc za příspěvek.
Děkuji, moc vám děkuji za komentář 😀
pozdravy
Chvála SSH haha
Jednou jsem se pokusil vyrobit klec pro ssh, ale v tradičním stylu a pravdou je, že to nikdy nevyšlo správně. Pokud klec běžela, neměla ani bash, to znamená, že se připojila a nezbylo nic haha, pokud byl spuštěn shell, mohla by jít nahoru v hierarchii adresářů a mnohem více quilombos haha ale tento jailkit je palcát, automatizuje všechny ty věci ... Důrazně doporučujeme
Haha, děkuji.
Ano, ve skutečnosti je SSH skvělé pro to, co nám umožňuje, což ve skutečnosti není nic jiného než to, co systém umožňuje, takže ... hurá pro Linux! … Haha.
Dobrý den, otázka!
proč změnit domov z (1) / opt / vězení /./ domov / kira na (2) / domov / kira
Musíme upravit soubor etc / passwd klece, tj. V tomto případě by to byl / opt / jail / etc / passwd, v něm okomentujeme uživatelskou linku, kterou jsme vytvořili, a přidáme novou, například:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Jinými slovy by soubor passwd vypadal takto:
kořen: x: 0: 0: kořen: / root: / bin / bash
(1) #kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
(2) kira: x: 1003: 1003 :: / home / kira: / bin / bash
Ahoj 🙂
Pokud to není nastaveno, přístup SSH nefunguje, uživatel se pokusí připojit, ale je automaticky vyloučen ... zdá se, že jde o chybu nebo problém s tlumočníkem, který JailKit přináší, protože při provádění této změny naznačuje, že používá normální bash systém, všechno funguje.
Stále ukončuji relaci ssh: C
Suse 10.1 x64
Ahoj, nainstaloval jsem si to a v centos = D funguje velmi dobře
ale moje dua jako dříve přidává další příkazy například uživateli vězení
nelze spustit příkaz svn co http://pagina.com/carpeta
Myslím, že tento příkaz neexistuje, aby uživatelé vězení v tomto případě jako před tím přidali tyto příkazy do vězení, a existuje mnoho dalších, které musím přidat.
Ahoj, jak se máš?
Chcete-li ve vězení povolit příkaz «svn», máte příkaz jk_cp
To je:
jk_cp / opt / vězení / / bin / svn
To za předpokladu, že svn binární nebo spustitelný je: / bin / svn
A ať je klec / vězení: / opt / vězení /
Najdete příkazy, které závisí na ostatních, to znamená, že pokud přidáte příkaz «pepe», uvidíte, že musíte přidat také «federico», protože «pepe» závisí na tom, které «federico» má být provedeno. Již 😉
To je vynikající.
Štěstí 😀
Podařilo se mi udělat, co jste mi řekli, ale tímto způsobem a automaticky mě bez problémů detekoval. To byl příkaz, kterým jsem byl schopen používat podverzi.
jk_cp -j / home / jaul svn
no já používám centos xP a možná je to jiné, ale dobré
teď bych chtěl vědět, které jsou knihovny jako svn, ale teď bych chtěl kompilovat, protože řekněme, že musím použít takový příkaz
./konfigurovat a označit chybu
./configure.lineno: řádek 434: expr: příkaz nebyl nalezen
Nevěděl bych, které jsou knihovny, které jsem již nainstaloval, co je mysql a další, pokud se kompiluje mimo vězení, ale ne uvnitř jaui.
omluvám se za nepříjemnost.
ps: měli byste do průvodce dát to, co jsem vám řekl o příkazu použitém v pozdravech centos =).
Podívejte se, když vám řeknu, že nemůže najít příkaz (jako zde), první věcí je najít příkaz:
whereis expr
Po nalezení (/ usr / bin / expr a / usr / bin / X11 / expr) jej zkopírujeme do vězení pomocí jk_cp 😉
Zkuste to vidět.
Ano, příspěvek už upravuji a dodávám, že funguje v Centos 😀
Velké děkuji moc (:
Díky za vstup ...
Ahoj jak se máš?
Do prdele, vole! Z Chile můj pozdrav. Jsi prd jako já! LOL !. Objetí. Váš příspěvek mi velmi pomohl!
Děkujeme za váš komentář 😀
Moc děkuji za příspěvek, hodně mi pomohl, ale bohužel v části
//////////////////////////////////////////////////////// // //////////////////////////////////////////////////// ////// ////////////////////////
Musíme upravit soubor etc / passwd klece, tj. V tomto případě by to byl / opt / jail / etc / passwd, v něm okomentujeme uživatelskou linku, kterou jsme vytvořili, a přidáme novou, například:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Jinými slovy by soubor passwd vypadal takto:
kořen: x: 0: 0: kořen: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
//////////////////////////////////////////////////////// //// //////////////////////////////////////////////
Způsobuje mi to stejnou chybu, chci říct, nechám to tak, jak to je, a zaváže mě to z terminálu při připojování ,,, .., okomentuji řádek a přidám ještě jednu modifikaci, jak naznačuješ, a také boty mě ...
Nainstalujte si nejnovější verzi „jailkit-2.16.tar“, dokonce vytvořte skript, který vám ušetří čas, zde je níže:
//////////////////////////////////////////////////////// // //////////////////////////////////////////////////
#! / bin / bash
wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
tar -zxvf jailkit -2.16.tar.gz
cd jailkit-2.16
. / Configure
činit
make install
výstup
////////////////////////////////////////////////// /////////////////////////
Je zřejmé, že nejprve se přihlásí jako „root“ ...
Jak bych mohl vyřešit chybu přítele ????
Omlouvám se, už jsem to pochopil, udělal jsem chybu v domovské složce, ale mám velké pochybnosti, jak ji můžu nechat provést příkaz „obrazovka“, zkusím to použít (v klecovém uživateli) , ale to nefunguje ... Další věc je, že jak přimím tohoto uživatele v kleci, aby spustil program vína na exe, který právě vložil do svého domova, jak by to bylo?
ahoj, velmi dobrá tato! Jsem v těchto prostředích nový, mám otázku ...
Pokud jde o bezpečnost, vidím, že ve svém kořenovém adresáři má mnoho složek, jsou nutné? Chci jen, aby měl přístup ke své složce (ftp-upload a ssh-execute), aby mohl spustit aplikaci, jaké složky by mohl odstranit z kořenového adresáře? nebo to pro mě nepředstavuje žádné nebezpečí? Vážím si vaší pomoci předem, pozdravy!
@ KZKG ^ Gaara, díky bohu, že jste zadali pískavou chybu, ale s verzí jailkit-2.16.tar.gz, kterou jste navrhli, aby ji opravili
http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
Myslím, že to pošlu do PDF, jojo .. do klece a díky wn 😀
Zdravím přítele, mám otázku:
Předpokládejme, že máme uživatele s názvem „test“.
Otázkou je, že soubor /home/test/.ssh/known_hosts, který je umístěn v domově daného uživatele, je to stejný soubor nebo není uživatel v kleci?
Zkuste to. Touto metodou je možné omezit navigaci na druhý domov ostatních uživatelů.
Nejprve děkuji za příspěvek! Je to pro mě velmi užitečné; ale mám dvě pochybnosti a ty vyplývají ze scénáře, který mám:
Potřebuji vytvořit N uživatelů s nezávislým a soukromým přístupem k jejich domovu, každý uživatel má přístup pouze k jejich domovu, aby mohl ukládat, upravovat a mazat soubory, které jsou v něm obsaženy, aniž by se musel pohybovat po ostatních (tento bod již mám). Nevyžaduje přístup přes ssh.
1. Musíte vytvořit klec pro každého uživatele, nebo existuje způsob, jak mít různé uživatele ve stejné kleci, ale každý má svůj „soukromý“ adresář?
2. Při přístupu (prostřednictvím klienta FTP) jsou zobrazeny všechny adresáře vytvořené nástrojem, existuje způsob, jak zobrazit složku čistou? Nebo jsem na cestě udělal něco špatně?
Vynikající návod! Byla to pro mě velká pomoc, testuji to s verzí 2.17 na Ubuntu 14.04 a funguje to velmi dobře. Nyní mám následující výzvu, jakmile je uživatel v kleci, aby se nemohl přesunout na žádnou cestu, chci, aby mohl vidět pouze obsah souboru, který je v jiné cestě. Snažil jsem se symbolickým odkazem, ale když se pokouším udělat ocas nebo kočku do tohoto souboru, říká mi, že neexistuje, i když při přístupu s uživatelem mohu tento soubor uvést v domově klece.
Pokud byste mi mohli pomoci, byl bych velmi vděčný, předem děkuji
Dobrý den, sledoval jsem celý návod a při přihlašování pomocí ssh se automaticky zavírá, stopy:
4. prosince 19:20:09 toby sshd [27701]: Přijaté heslo pro test z portu 172.16.60.22 62009 ssh2
4. prosince 19:20:09 toby sshd [27701]: pam_unix (sshd: session): relace otevřená pro uživatelský test uživatelem (uid = 0)
4. prosince 19:20:09 toby jk_chrootsh [27864]: nyní zadává vězení / opt / vězení pro uživatelský test (1004) s argumenty
4. prosince 19:20:09 toby sshd [27701]: pam_unix (sshd: session): relace uzavřena pro uživatelský test
díky
Ne, když udělám poslední krok, kdy dám uživateli ssh přístup, stále to uzavře připojení 🙁
Je možné od tohoto vytvořeného uživatele přejít na root? tvoje kořen? to mi nedovolí. Jak by to bylo? Děkuji za vaši pomoc
Velice vám děkuji za tutoriál, potřeboval jsem ho k vytvoření uživatele, který by pomocí clonezilly vytvořil obraz a zkopíroval jej na cizí server, ale který nemohl rojit, kamkoli chtěl
Dobrý! Potřeboval bych něco vědět.
Je možné zadat jako ROOT pomocí FTP a mít tato oprávnění, spravovat to pomocí FTP a ne pomocí SSH? Řekněme například jako vytvoření připojení, tunelového stylu nebo podobně. Jak se to dělá? Nastavujete soubor VSFTPD?
Díky moc!