Byla vydána nová verze 4.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Byla vydána nová verze 3.23.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opravuje 11 bezpečnostních chyb.
Španělský softwarový inženýr oznámil, že se mu podařilo na dálku ovládat sedm tisíc robotických vysavačů po celém světě. Upozornil tak na slabé kybernetické zabezpečení těchto technologií a jejich možné a snadné zneužití. Nesnažil se hacknout všechny robotické vysavače po světě, ale pouze propojil svůj nový DJI Romo vysavač se zařízením Playstation. Aplikace podle něj ihned začala komunikovat se všemi sedmi tisíci spotřebiči a on je
… více »Momo je fenka cavapoo, která svými náhodnými stisky kláves bezdrátové klávesnice vytváří jednoduché počítačové hry. Technicky to funguje tak, že Raspberry Pi s připojenou bluetooth klávesnicí posílá text do Claude Code, který pak v Godotu píše hry a sám je i testuje pomocí screenshotů a jednoduchých simulovaných vstupů. Za stisky kláves je Momo automaticky odměňována pamlsky. Klíčový je pro projekt prompt, který instruuje AI, aby i
… více »GNU awk (gawk), implementace specializovaného programovacího jazyka pro zpracování textu, byl vydán ve verzi 5.4.0. Jedná se o větší vydání po více než dvou letech. Mezi četnými změnami figuruje např. MinRX nově jako výchozí implementace pro regulární výrazy.
Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
)
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.
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.
/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).
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
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.
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?
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.
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 masineTo, 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.
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ý.
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?
session required pam_chroot.so(musem jsem doinstalovat "libpam-chroot" balíček) 2) v /etc/ssh/sshd_config musí být (pro jistotu)
UsePAM yes3) upravil jsem si /etc/security/chroot.conf
host /home/chroot teto /home/chroot4) 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/teto6) 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.syntax7) hotovo!
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...
Tiskni
Sdílej: