abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 4
    včera 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 44
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 869 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: ssh chroot trochu jinak

    29.10.2008 03:58 Lister169126 | skóre: 2
    ssh chroot trochu jinak
    Přečteno: 3211×
    Zdravim, jsem v tomto docela amater, ale potreboval bych vedet jak nastavit prihlasenemu uzivateli pres ssh chroot do sve slozky v home.

    Nechci to resit jailem ani nicim slozitym, jde mi jen o to, ze kdyz se prihlasi, nemusi zakonite brouzdat po cele masine. Jde o malichernost a napada me tisice ruznych zpusobu jak to resit jinak, ale jde mi uz opravdu jen o princip, protoze se s tim rypu od 8 vecer a uz jsou 4 rano.

    Mam debian lenny, tim bych zacal.

    Zkousel jsem pam_chroot - nejsem schopny nahodit pam_chroot.so do sshd, pri prihlaseni usera z chroot.conf mi to pise PTY allocation request failed on channel 0. Na ostatni usery to jde v pohode.

    Dal byla dalsi varianta, dat to do pam login, to zacalo delat uz zajimavejsi veci. Fungovalo to kdyz jsem se zkusil vratit, hodilo me to do home, cd . po 2. me z home hodilo do domovskeho adresare, ale dkyz sem ho zadal jeste 2x byl sem z niceho nic v rootu, takze tuto variantu jsem zavrhl.

    Zkousel jsem prepatchovat na chrootssh, ale nechce mi nakopat balicek a mam to vzdalene, tak se bojim ze uz bych se tam taky nemusel dostat. (Mimochodem pri ./configure neco neco to hodilo chybu). V passwd zpusob /home/user/./ nefunguje (necekane bez spravneho balicku :-))

    Zkousel jsem uz i rssh, ale tam je problem, ze at ho nastavuju jak ho nastavuju, do shellu se nedostanu, pri logovani to padne. (nevim jaka chyba, ale co jsem cetl, je to nejspis ucel rssh).

    Takze jeste specifikuji znovu otazku: Jak jednoduse nastavit chroot nekterym uzivatelum prihlasenym do shellu pres ssh. (nejlepe bez jailu) Prosim trosku to rozepiste ty odpovedi, nejsem profik.

    Odpovědi

    29.10.2008 09:22 červ | skóre: 10 | blog: cerveny_cerv
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Zdravim, resil jsem tento problem nedavno a jeste jsem ho nevyresil :-) vsude popisuji dve moznosti rssh a nebo scponly (resp. scponlyc) Scponly mi prislo asi nejjednodussi. Tzn. nainstalovat scponly a jako vychozi shell uzivatelum nastavit v passwd /usr/sbin/scponlyc scponlyc je chrootovane (nebo melo by byt). Jeste je nutne dopsat do /etc/shells pridane "shelly" Bohuzel jak rssh tak scponlyc mi nefunguje. Scponly jako takove ano, ale chrootovane scponlyc nikoli. Prihlaseni po ssh, resp. scp skonci jako exit status 1 - s tim ze toto neni podporovanej shell. Zkousel jsem to na fedore 6. Takze pokud ma nekdo nejaky tip, nebo jednoducho a rychlou variantu, sem s ni. Take by me to zajimalo.
    KISS - Keep it simply, stupid.
    29.10.2008 13:41 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    to jsem zkousel, rozslapal jsem bez problemu ale potrebuju se dostat do klasickeho bashe zase, tohle mi povolilo jen winscp
    30.10.2008 11:29 červ | skóre: 10 | blog: cerveny_cerv
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Jj, na debianu, ok. Ale je mi divny, ze to nebezi na fedore (tedy fedora 6 - z historickych duvodu a zatim to nevypada na nejaky upgrade, mozna pristi rok). Standardne yumem nainstaluju scponly : yum install scponly, prihodim do /etc/shells /usr/bin/scponly a /usr/sbin/scponlyc , pak nastavim uzivateli domovsky shell /usr/sbin/scponlyc, a winscp nic. Vyhodi hlasku, ze shell neni podporovan. scponly funguje v poradku. V podstate toto je trochu jiny problem nez vyse uvedeny v titulku. Jde o zamezeni uzivatelum prihlasit se pres ssh, ale, aby fungoval chrootovanej scp. (takze se omlouvam, ze odbiham trochu od daneho tematu)
    KISS - Keep it simply, stupid.
    15.11.2008 11:49 Kroko | skóre: 22
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    me rssh funguje v poradku, jen se musi do chroot prostredi nakopirovat potrebne knihovny a prikazy atd.
    http://kroko.evesnight.net
    17.11.2008 22:30 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    jen pro zajimavost, to jsou jake a jak prosim :-)
    18.11.2008 14:33 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Já bych třeba nakopíroval základní příkazy z /bin/ (např. /bin/cp, /bin/ls) a z /usr/bin (/usr/bin/vim) a potřebné sdílené knihovny (zjistí se pomocí ldd binarka, určitě to budou minimálně /lib/ld-linux.so.2, libc.so.6 a linux-gate.so.1).

    Na Debian like distrech je možné používat balík jailer pro automatické kopírování potřebných souborů (definicí balíků, které mají v chrootu chodit).
    18.11.2008 21:21 Kroko | skóre: 22
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    presne tak nejak jsem to pres ldd delal na debianu ... jenze uz si nepamatuju jak je to dele, ale bylo to podle nejakeho howto ... skoda ze jsem si neudelal poznaky jak postupovat, ale aspon vypis tree snad to pomuze (mozna je tam neco zbytecne:) ):
    tree /home/chroot/
    .
    |-- dev
    |   `-- null
    |-- etc
    |   |-- group
    |   `-- passwd
    |-- home
    |-- lib
    |   |-- ld-2.3.6.so
    |   |-- ld-linux-x86-64.so.2 -> ld-2.3.6.so
    |   |-- libc-2.3.6.so
    |   |-- libc.so.6 -> libc-2.3.6.so
    |   |-- libcom_err.so.2 -> libcom_err.so.2.1
    |   |-- libcom_err.so.2.1
    |   |-- libcrypt-2.3.6.so
    |   |-- libcrypt.so.1 -> libcrypt-2.3.6.so
    |   |-- libdl-2.3.6.so
    |   |-- libdl.so.2 -> libdl-2.3.6.so
    |   |-- libnsl-2.3.6.so
    |   |-- libnsl.so.1 -> libnsl-2.3.6.so
    |   |-- libnss_compat-2.3.6.so
    |   |-- libnss_compat.so.2 -> libnss_compat-2.3.6.so
    |   |-- libnss_dns-2.3.6.so
    |   |-- libnss_dns.so.2 -> libnss_dns-2.3.6.so
    |   |-- libnss_files-2.3.6.so
    |   |-- libnss_files.so.2 -> libnss_files-2.3.6.so
    |   |-- libnss_hesiod-2.3.6.so
    |   |-- libnss_hesiod.so.2 -> libnss_hesiod-2.3.6.so
    |   |-- libnss_nis-2.3.6.so
    |   |-- libnss_nis.so.2 -> libnss_nis-2.3.6.so
    |   |-- libnss_nisplus-2.3.6.so
    |   |-- libnss_nisplus.so.2 -> libnss_nisplus-2.3.6.so
    |   |-- libresolv-2.3.6.so
    |   |-- libresolv.so.2 -> libresolv-2.3.6.so
    |   |-- libutil-2.3.6.so
    |   `-- libutil.so.1 -> libutil-2.3.6.so
    |-- lib64 -> lib
    `-- usr
        |-- bin
        |   |-- scp
        |   `-- sftp
        |-- lib
        |   |-- libcrypt.a
        |   |-- libcrypt.so -> /lib/libcrypt.so.1
        |   |-- libcrypto++.a -> libcrypto++5.2.a
        |   |-- libcrypto++.la -> libcrypto++5.2.la
        |   |-- libcrypto++.so -> libcrypto++5.2.so
        |   |-- libcrypto++5.2.a
        |   |-- libcrypto++5.2.la
        |   |-- libcrypto++5.2.so -> libcrypto++5.2.so.0.0.0
        |   |-- libcrypto++5.2.so.0 -> libcrypto++5.2.so.0.0.0
        |   |-- libcrypto++5.2.so.0.0.0
        |   |-- libcrypto.a
        |   |-- libcrypto.so -> libcrypto.so.0.9.8
        |   |-- libcrypto.so.0.9.8
        |   |-- libgcrypt.so.11 -> libgcrypt.so.11.2.2
        |   |-- libgcrypt.so.11.2.2
        |   |-- libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2
        |   |-- libgssapi_krb5.so.2.2
        |   |-- libk5crypto.so.3 -> libk5crypto.so.3.0
        |   |-- libk5crypto.so.3.0
        |   |-- libkrb5.so.3 -> libkrb5.so.3.2
        |   |-- libkrb5.so.3.2
        |   |-- libkrb5support.so.0 -> libkrb5support.so.0.0
        |   |-- libkrb5support.so.0.0
        |   |-- libnss_compat.so -> /lib/libnss_compat.so.2
        |   |-- libnss_dns.so -> /lib/libnss_dns.so.2
        |   |-- libnss_files.so -> /lib/libnss_files.so.2
        |   |-- libnss_hesiod.so -> /lib/libnss_hesiod.so.2
        |   |-- libnss_nis.so -> /lib/libnss_nis.so.2
        |   |-- libnss_nisplus.so -> /lib/libnss_nisplus.so.2
        |   |-- libz.so -> libz.so.1
        |   |-- libz.so.1 -> libz.so.1.2.3
        |   |-- libz.so.1.2.3
        |   |-- openssh
        |   |   |-- sftp-server
        |   |   `-- ssh-keysign
        |   |-- rssh
        |   |   `-- rssh_chroot_helper
        |   `-- sftp-server -> openssh/sftp-server
        |-- lib64 -> lib
        `-- libexec
            |-- openssh
            |   `-- sftp-server -> /usr/lib/openssh/sftp-server
            `-- rssh_chroot_helper -> /usr/lib/rssh/rssh_chroot_helper
    
    http://kroko.evesnight.net
    29.10.2008 09:24 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Restricted shell nevyhovuje?
    29.10.2008 09:56 červ | skóre: 10 | blog: cerveny_cerv
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Tak ten jsem nezkousel...
    KISS - Keep it simply, stupid.
    29.10.2008 13:46 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Pak tedy ma otazka zni, jak v rss nastavit aby se user dostal do bashe, zkousel sem vsechno mozny povolit/zakazat, ale po zadani spravneho hesla se konzole putty proste vypne.
    29.10.2008 16:09 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Ak si skratkou rss myslel "restricted shell", tak by malo stačiť nastaviť ho ako login shell (chsh) a postarať sa o to, aby fungoval. To znamená pozrieť, že existuje v /etc/shells a že sa s ním dá prihlásiť lokálne. A až potom sa staraj o nejaké putty.
    29.10.2008 16:39 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Restricted shell nevyhovuje?
    Changing directories with the cd builtin. To je teda dost nepoužitelné. Chroot přeci není zákaz vstupu do podadresářů. Navíc to neumožňuje ani použít ls.
    
    ~ $ rbash 
    ~ $ ls
    rbash: /bin/ls: restricted: cannot specify `/' in command names
    ~ $ 
    
    Zato příkazy typu vi /etc/fstab fungují. Tak k čemu to je?
    29.10.2008 16:40 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Ve výchozí volbě to dokonce umí i kopírovat, takže bych se opravdu raději snažil použít chroot.
    30.10.2008 08:55 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Chroot přeci není zákaz vstupu do podadresářů.

    V pôvodnej otázke "jde mi jen o to, ze kdyz se prihlasi, nemusi zakonite brouzdat po cele masine". Pôvodná otázka vlastne bola: "ako urobiť chroot bez toho, aby som musel robiť chroot". IMHO, rbash je k tomu dosť blízko - a málokto o ňom vie. Preto som len navrhol zvážiť ho.
    29.10.2008 23:12 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    V nějaké novější verzi openssh to je chroot zabudovaný jako option démonovi... Ale v debianu ta verze ještě před asi měsícem zdaleka nebyla ;-)
    unknown_ avatar 30.10.2008 08:35 unknown_ | skóre: 30 | blog: blog
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    5.1 už to umí, mám pocit že už u 5.0 to bylo experimentálně.
    30.10.2008 09:35 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    to jsem prave hledal ale nejsem schopny najit verzi, zkusim si schrastit tu 5.1, vim ze sem cetl o patchi a napadlo me, ze by toto mohli zabudovat primo do baliku...

    BTW Zkratka rss byl preklik, myslel jsem rssh, omlouvam se, zkusim i tuto moznost a napisu vysledky
    30.10.2008 09:36 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    jak nastavit prihlasenemu uzivateli pres ssh chroot do sve slozky v home.

    Nechci to resit jailem ani nicim slozitym, jde mi jen o to, ze kdyz se prihlasi, nemusi zakonite brouzdat po cele masine
    To, co chcete, asi nebude chroot. chroot znamená, že se z nějakého adresáře stane kořen souborového systému, takže to zabrání uživateli nejen brouzdat někde jinde, ale třeba i spouštět odjinud programy. Takže pokud uživateli nedáte do domácího adresáře žádné programy, nebude moci udělat nic (pokud mu tam nedáte ani shell, ani chroot neuděláte).

    Pravděpodobně spíš chcete správně nastavit přístupová práva (pak máte jistotu, že se nedostane nikam, kam nemá práva), nebo omezený shell -- ten může fungovat dvěma způsoby: buď jím vytvoříte uzavřený systém, ve kterém je pouze omezené množství příkazů, pomocí kterých se z omezení shellu nejde vymanit. Nebo v omezeném shellu umožníte třeba spustit plný shell (ale stačí i více nevinné programy -- třeba v běžném GUI programu můžete přes dialog pro otevření souboru manipulovat se souborovým systémem), pak ten omezený má význam jenom pro usnadnění práce uživatele -- bude mít míň možností a ovládání bude jednodušší. Ale když bude chtít, z omezení se ven dostane.
    30.10.2008 18:48 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    aha, tak to je zase nekde jinde. V tom pripade nevim co chci...

    ach jo, je to nejake zbytecne slozite... jak se da udelat abych mel jistotu ze nikde normalni user nic neprovede? stacilo by nahodit zakaz cteni vsude, ale davat chmod -R do rootu asi neni dobry napad...
    unknown_ avatar 30.10.2008 19:51 unknown_ | skóre: 30 | blog: blog
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Ale de to chrootem. Jenom do ~/bin dáte pár potřebných drobností, do ~/lib potřebný knihovny a je to.
    jak se da udelat abych mel jistotu ze nikde normalni user nic neprovede?
    To je snad u každýho OS defaultně že user nic systémovýho neposere! To nemusíš nic nastavovat. Windowsy jsou divný, ty snad nepoužiješ, a Linux - jak kterej, někdy je to zprasený.
    1.11.2008 22:07 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    no, ale muze prohlizet konfiguraky a jdou vycist pristupy do mysql napriklad, me se to povedlo, nic provest asi nemuze, ale presto... spis uz jde o ten osobni souboj :D nechapu proc je to tak slozite, proste jen zabranit pristup kamkoliv, prijde mi nelogicke ze to nikdo nevymyslel jeste
    2.11.2008 11:24 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    To je ale přesně to, co jsem napsal – měl jste na těch konfigurácích špatně nastavená přístupová práva. Složitého na tom není nic, stačí nastavit práva tak, aby měl k souboru přístup pouze majitel (pro editaci) a webserver (pro čtení). A pak musíte nakonfigurovat webserver tak, aby se k obsahu souboru nemohl někdo dostat skrze webserver. To už může být trochu složitější, ale s principem přístupových práv na unixech to nemá nic společného. Ten váš způsob „zabránit přístup kamkoliv“ je samozřejmě realizovatelný – stačí nastavit správně vlastníky a skupiny, a pak odebrat všechna práva pro ostatní. Ale to vy ve skutečnosti nechcete. Protože „zabránit přístup“ znamená také zakázat procházet adresáře nebo spouštět programy. Uživatel, který má „zakázán přístup kamkoli“, se na daný počítač ani nepřihlásí (musel by se mu spustit alespoň shell). Což vy asi nechcete.
    31.10.2008 09:26 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Běžné distribuce mají nastavená práva tak, že běžný uživatel nemůže provést nic špatného. Takže vám zbývá jen nastavit správně práva pro vámi vytvořené věci -- uživatelská data, skripty apod. Problém může být např. pokud nějaký server (typicky web server) běží pod jedním uživatelem, ale musí obsluhovat data a skripty více uživatelů. Ale pro to je asi potřeba větší znalost unixových systémů.
    unknown_ avatar 31.10.2008 09:58 unknown_ | skóre: 30 | blog: blog
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    pokud nějaký server (typicky web server) běží pod jedním uživatelem, ale musí obsluhovat data a skripty více uživatelů.
    udělat přes server.cz/~uzivatel?
    31.10.2008 10:22 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    To ničemu nepomůže. Měl jsem na mysli případ, kdy webserever musí umět přečíst např. PHP skript váš i nějakého dalšího uživatele. Přitom vy můžete chtít, aby váš skript nikdo jiný číst nemohl (protože je tam třeba heslo k databázi).
    1.11.2008 22:43 VSi | skóre: 28
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Nešlo by to takhle:

    http://www.debian-administration.org/articles/590

    Má to být podporováno od verze 4.8, Lenny obsahuje 5.1 - ale vyzkoušeno nemám...
    17.11.2008 22:31 Lister169126 | skóre: 2
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    vubec se mi to nechytalo, takze nejspis nefunguje
    23.12.2008 20:14 thiemel | skóre: 4 | 49°55'21.691N, 18°5'3.288E
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak
    Taže mě to funguje... Sice to byl boj, ale pošlu "návod":

    Používám Debian 4.0 (etch), 64bit

    1) do /etc/pam.d/ssh jsem nakonec přidal
    session    required   pam_chroot.so
    (musem jsem doinstalovat "libpam-chroot" balíček)

    2) v /etc/ssh/sshd_config musí být (pro jistotu)
    UsePAM yes
    3) upravil jsem si /etc/security/chroot.conf
    host /home/chroot
    teto /home/chroot
    4) vytvořil jsem si CHROOT environment (viz třeba http://www.howtoforge.com/chrooted_ssh_howto_debian_p2 ) v /home/chroot !!! pozor na práva pseudo-souborů v $CHROOT/dev složce !!!

    5) vytvořil/přesunul jsem domovské adresáře už existujících uživatelů, kteří mají být v chrootu
    root@gate1:/home# ls -l /home
    lrwxrwxrwx  1 root     root       16 2008-12-23 19:35 host -> chroot/home/host
    drwxr-xr-x 11 root     root     1024 2008-12-23 19:43 chroot
    lrwxrwxrwx  1 root     root       16 2008-12-23 19:36 teto -> chroot/home/teto
    
    6) do "chroot" prostředí jsem si dokopíroval další "potřebné" aplikace, jako třeba "scp", a přes příkaz "ldd /cesta/co" jsem zjistil potřebné knihovny a ty pak do $CHROOT/lib resp. $CHROOT/usr/lib dokopíroval (pozor na symlinky!)

    7) takže nakonec "adresářová" struktura vypadá nějak takto:
    .
    ./bin
    ./bin/bash
    ./bin/ls
    ./bin/mkdir
    ./bin/mv
    ./bin/ping
    ./bin/pwd
    ./bin/rm
    ./bin/sh
    ./dev
    ./dev/null #pozor na atributy!
    ./dev/zero
    ./etc
    ./etc/group #pouze "root", "users", "host" a "teto"
    ./etc/hosts
    ./etc/login.defs
    ./etc/mc
    ./etc/mc/mc.ext
    ./etc/mc/mc.lib
    ./etc/mc/mc.menu
    ./etc/pam.d
    ./etc/pam.d/atd
    ./etc/pam.d/...
    ...
    ./etc/pam.d/sudo
    ./etc/passwd # pouze uživatelé "root", "host" a "teto"
    ./etc/resolv.conf
    ./etc/security
    ./etc/security/access.conf
    ./etc/security/group.conf
    ./etc/security/chroot.conf
    ./etc/security/limits.conf
    ./etc/security/pam_env.conf
    ./etc/security/time.conf
    ./home
    ./home/host
    ./home/host/.bash_history
    ./home/host/.bash_logout
    ./home/host/.bash_profile
    ./home/host/.bashrc
    ./home/host/.mc
    ./home/host/.mc/history
    ./home/host/.mc/ini
    ./home/host/.mc/Tree
    ./home/teto
    ./home/teto/.bash_history
    ./home/teto/.bash_logout
    ./home/teto/.bash_profile
    ./home/teto/.bashrc
    ./home/teto/.ssh
    ./home/teto/.ssh/authorized_keys
    ./home/teto/.ssh/id_rsa
    ./home/teto/.ssh/id_rsa.pub
    ./lib
    ./lib64 #symlink na lib
    ./lib/ld-2.3.6.so
    ./lib/ld-linux.so.2
    ./lib/ld-linux-x86-64.so.2
    ./lib/libacl.so.1
    ./lib/libacl.so.1.1.0
    ./lib/libattr.so.1
    ./lib/libattr.so.1.1.0
    ./lib/libc-2.3.6.so
    ./lib/libcap.so.1
    ./lib/libcom_err.so.2
    ./lib/libcom_err.so.2.1
    ./lib/libcrypt-2.3.6.so
    ./lib/libcrypt.so.1
    ./lib/libc.so.6
    ./lib/libdl-2.3.6.so
    ./lib/libdl.so.2
    ./lib/libm-2.3.6.so
    ./lib/libm.so.6
    ./lib/libncurses.so.5
    ./lib/libncurses.so.5.5
    ./lib/libnsl-2.3.6.so
    ./lib/libnsl.so.1
    ./lib/libnss_compat.so.2
    ./lib/libnss_dns.so.2
    ./lib/libnss_files.so.2
    ./lib/libpthread-2.3.6.so
    ./lib/libpthread.so.0
    ./lib/libresolv-2.3.6.so
    ./lib/libresolv.so.2
    ./lib/librt-2.3.6.so
    ./lib/librt.so.1
    ./lib/libselinux.so.1
    ./lib/libsepol.so.1
    ./lib/libslang.so.2
    ./lib/libslang.so.2.0.6
    ./lib/libutil-2.3.6.so
    ./lib/libutil.so.1
    ./lib/security
    ./lib/security/pam_access.so
    ./lib/security/...
    ...
    ./lib/security/pam_xauth.so
    ./tmp
    ./usr
    ./usr/bin
    ./usr/bin/dircolors
    ./usr/bin/groups
    ./usr/bin/id
    ./usr/bin/mc
    ./usr/bin/mcmfmt
    ./usr/bin/mcview
    ./usr/bin/mcview-debian
    ./usr/bin/scp
    ./usr/bin/ssh
    ./usr/lib
    ./usr/lib
    ./usr/lib64
    ./usr/lib/libcrypto.so.0.9.8
    ./usr/lib/libglib-2.0.so.0
    ./usr/lib/libglib-2.0.so.0.1200.4
    ./usr/lib/libgpm.so.1
    ./usr/lib/libgpm.so.1.19.6
    ./usr/lib/libgssapi_krb5.so.2
    ./usr/lib/libgssapi_krb5.so.2.2
    ./usr/lib/libk5crypto.so.3
    ./usr/lib/libk5crypto.so.3.0
    ./usr/lib/libkrb5.so.3
    ./usr/lib/libkrb5.so.3.2
    ./usr/lib/libkrb5support.so.0
    ./usr/lib/libkrb5support.so.0.0
    ./usr/lib/libz.so.1
    ./usr/lib/libz.so.1.2.3
    ./usr/share/mc
    ./usr/share/mc/...
    ...
    ./usr/share/mc/syntax/xml.syntax
    
    7) hotovo!
    Tomáš Thiemel e-mail:thiemel(zavináč)centrum.cz
    23.12.2008 20:34 VSi | skóre: 28
    Rozbalit Rozbalit vše Re: ssh chroot trochu jinak

    Výhoda toho řešení přes

    ChrootDirectory /home/%u

    a hlavně

    ForceCommand internal-sftp
    

    by měla být právě v tom, že nejsou třeba ty obstrukce s tvorbou a úrdžbou chroot prostředí. Mělo by to ale fungovat jen pro SFTP, tj. ne SCP, rsync...
     

     

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.