Portál AbcLinuxu, 30. dubna 2025 12:40
Před časem jsem si napsal skript na stahování nových informací i balíčcích s ruby ve Fedoře, když jsem si soubory z VPSky skopíroval na lokální PC, abych tu VPSku poladil, nestačil jsem se divit co se mi na lokální VPSce děl a co může způsobit obyčejný bash skript v cronu.
#!/bin/bash cd /srv/www/hosts/werzo.net/werzo.net/repo/centos/5/SRPMS rm -fr new_pkgs; for i in `repoquery 'ruby*' --repofrompath=f14-upd,ftp://ftp.fi.muni.cz/pub/linux/fedora/linux/updates/14/x86_64/ -s --quiet|sort|uniq`; do new_pkg=`echo $i|sed -e 's@fc14@el5.lpp@g'` if [ ! -f $new_pkg ]; then echo $i >> new_pkgs; fi; done cd news rm -fr * for i in `cat ../new_pkgs` do if [ ! -f $i ]; then wget ftp://ftp.fi.muni.cz/pub/linux/fedora/linux/updates/14/SRPMS/$i > /dev/null 2>&1 fi done for i in ../../testing/SRPMS/* do pkg=`echo $i|sed -e 's@el5.lpp@fc14@g' -e 's@../../testing/SRPMS/@@g'` rm -fr $pkg done rm -fr libdmtx* libguestfs* qpid-cpp* redland* rubygem-boxgrinder* rubygem-cairo-* rubygem-gdk_pixbuf* rubygem-gio2* rubygem-glib2* rubygem-gtk2* rubygem-pango* rubygem-poppler* rubygem-rsvg2* ruby-gnome2* rubygem-scruffy* rubygem-vte-0.90.8-2.fc14.src.rpm rubygem-cloudservers* rubygem-gtksourceview2*
Tak mě napadlo, že otestuju pozornost uživatelů tohoto portálu. Kde se v tomto bashovém skriptu spouštěném z cronu nachází citlivé místo a proč? Schválně, kdo na to příjde jako první. ;)
Tiskni
Sdílej:
(Jojo, to ještě byla doba, kdy se balíčky vyráběly pod rootem :-O )A byl v té době v
rm
defaultní --preserve-root
? Tenkrát ještě "rm -r" skutečně šlo do podadresářů a poctivě mazalo soubor po souboru (dnes to dělá tuším jádro).Tak o tom jádře dost pochybuju, máš k tomu nějaký zdroj?
Kde se v tomto bashovém skriptu spouštěném z cronu nachází citlivé místo ?Riadok č. 2, chýba tam sed -e.
rm -rf $foo
misto rm -rf "$foo"
, taky neni zrovna dobry napad, obzvlast, kdyz hodnota $foo je brana z nekde vnejsku.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.