Různé audity bezpečnostních systémů pařížského muzea Louvre odhalily závažné problémy v oblasti kybernetické bezpečnosti a tyto problémy přetrvávaly déle než deset let. Jeden z těchto auditů, který v roce 2014 provedla francouzská národní agentura pro kybernetickou bezpečnost, například ukázal, že heslo do kamerového systému muzea bylo „Louvre“. 😀
Z upstreamu GNOME Mutter byl zcela odstraněn backend X11. GNOME 50 tedy poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.
Byl publikován plán na odstranění XSLT z webových prohlížečů Chrome a Chromium. S odstraněním XSLT souhlasí také vývojáři Firefoxu a WebKit. Důvodem jsou bezpečnostní rizika a klesající využití v moderním webovém vývoji.
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.3.0. Přehled novinek v poznámkách k vydání.
Organizace Open Container Initiative (OCI) (Wikipedie), projekt nadace Linux Foundation, vydala Runtime Specification 1.3 (pdf), tj. novou verzi specifikace kontejnerového běhového prostředí. Hlavní novinkou je podpora FreeBSD.
Nový open source router Turris Omnia NG je v prodeji. Aktuálně na Allegro, Alternetivo, Discomp, i4wifi a WiFiShop.
Na YouTube a nově také na VHSky byly zveřejněny sestříhané videozáznamy přednášek z letošního OpenAltu.
Jednou za rok otevírá společnost SUSE dveře svých kanceláří široké veřejnosti. Letos je pro vás otevře 26. listopadu v 16 hodin v pražském Karlíně. Vítáni jsou všichni, kdo se chtějí dozvědět více o práci vývojářů, prostředí ve kterém pracují a o místní firemní kultuře. Můžete se těšit na krátké prezentace, které vám přiblíží, na čem inženýři v Praze pracují, jak spolupracují se zákazníky, partnery i studenty, proč mají rádi open source a co
… více »Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za říjen (YouTube).
Jeff Quast otestoval současné emulátory terminálu. Zaměřil se na podporu Unicode a výkon. Vítězným emulátorem terminálu je Ghostty.
Rád bych se podělil o mé zkušenosti, které jsem získal, kdýž jsem se snažil nainstalovat Truecrypt do mojí 32 bit Fedory 7. Třeba se to nějakému začátečníkovi jako jsem já někdy hodí.
[merljin@auriga ~]$su
Heslo:
[root@auriga merljin]# cd ~/Download/
[root@auriga merljin]# tar xvzf truecrypt-4.3a-source-code.tar.gz -C /usr/src/
[root@auriga merljin]# vim /etc/yum.repos.d/fedora.repo
v sekci [fedora-source] změnit enabled na 1
[fedora-source]
name=Fedora $releasever - Source
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
Příkazem yum repolist ověřím, že repozitář je aktivní
[root@auriga merljin]# yum repolist
Loading "installonlyn" plugin
Loading "refresh-updatesd" plugin
Loading "fastestmirror" plugin
repo id repo name status
fedora Fedora 7 - i386 enabled
fedora-source Fedora 7 - Source enabled
livna Livna for Fedora Core 7 - i386 - Base enabled
updates Fedora 7 - i386 - Updates enabled
Nyní je potřeba stáhnout vlastní zdrojáky. Nainstaluju také balík yum-utils, který obsahuje prográmek yumdownloader, který mi umožní stáhnout zdrojáky ( má volbu na stažení všech závislostí )
[root@auriga merljin]# yum -y install yum-utils sparse
[root@auriga merljin]# yumdownloader --source kernel
[root@auriga merljin]# rpm -ivh kernel-$(uname -r).src.rpm
[root@auriga merljin]# cd /usr/src
[root@auriga src]# rpmbuild -bp --target=i386 /usr/src/redhat/SPECS/kernel-2.6.spec
(jsem pořad v /usr/src )
[root@auriga src]# ln -s redhat/BUILD/kernel-2.6.22/linux-2.6.22.i386/ linux
[root@auriga merljin]# cd /usr/src/truecrypt-4.3a-source-code/Linux
[root@auriga Linux]# ./build.sh
Checking build requirements...
Preparing kernel build system in /usr/src/linux... Done.
Building internal kernel modules (may take a long time)... Done.
Building kernel module... Done.
Building truecrypt... Done.
Pak spustím install.sh , který nakopíruje modul + aplikaci + help tam kam patří
Pokud vám tak jako mě script install.sh skončí chybou, že nemůže najít modprobe, je to tím, že ve Fedoře adresář /sbin ( ani /usr/sbin ) není defaultně v cestě k prohledávání ($PATH )
[root@auriga Linux]# ./install.sh
Checking installation requirements...
Error: modprobe or rmmod not found. TrueCrypt requires kernel module tools.
[root@auriga Linux]# export PATH=/sbin:/usr/sbin:$PATH
[root@auriga Linux]# ./install.sh
Checking installation requirements...
Testing truecrypt... Done.
Install binaries to [/usr/bin]:
Install man page to [/usr/share/man]:
Install user guide and kernel module to [/usr/share/truecrypt]:
Installing kernel module... Done.
Installing truecrypt to /usr/bin... Done.
Installing man page to /usr/share/man/man1... Done.
Installing user guide to /usr/share/truecrypt/doc... Done.
Installing backup kernel module to /usr/share/truecrypt/kernel... Done.
Teď už si jen přidám práva, abych mohl truecrypt spouštět jako user.
Buď je možné provést to nepěkně ( z bezpečnostních důvodu nevhodné, ale pro používání snažší ) chmod u+s /usr/bin/truecrypt
nebo lépe přidat si možnost spouštět truecrypt jako uživatel
[root@auriga Linux]# visudo
a přidat na konec řádek ( viz man sudoers )
merljin ALL=/usr/bin/truecrypt
No a nezbývá než otestovat (používám ntfs-3g pro zápis na ntfs oddíly )
truecrypt --user-mount -M '-t ntfs-3g -o locale=cs_CZ.UTF-8,rw' /dev/sdd1 /media/tcv
bezva, funguje. Tak si to přidám třebas do ~/.bashrc
# User specific aliases and functions
alias mtcv="truecrypt --user-mount -M '-t ntfs-3g -o locale=cs_CZ.UTF-8,rw' /dev/sdd1 /media/tcv"
Třeba to někomu pomůže. Jiným to jistě přijde triviální, ale mě to trvalo cca 1.5 hodiny :) a ještě jsem
objevil yum-utils a yum-fastestmirror :)
Tiskni
Sdílej:
Použití suid je nebezpečné. Tvoje řešení přes sudo ale není o moc lepší. Představ si situaci, že si na tvůj počítač někdo přinese svůj TrueCrypt svazek naformátovaný nějakým unixovým filesystémem, na kterém bude mít bash s nastaveným suid bitem vlastněný rootem. Když si takový svazek připojí s parametrem suid, tak má plný přístup ke tvému počítači.
Já to vyřešil vlastním wrapperem (přiloženo níže), který teprve povoluji spouštět přes sudo bez hesla.
Pokud v tom wrapperu někdo objevíte chybu, budu vděčný za nahlášení. 
$ visudo
. . .
%encrypted ALL=(root) NOPASSWD: /usr/local/bin/truecryptmount.sh
. . .
$ ls -l /usr/local/bin/truecryptmount.sh
-rwxr----- 1 root root 7076 2006-07-27 19:56 /usr/local/bin/truecryptmount.sh
$ cat /usr/local/bin/truecryptmount.sh
#!/bin/bash
#
#Tento skript slouzi ke zpristupneni nekterych funkci programu truecrypt
#i beznym uzivatelum. Je urcen ke spousteni za pomoci sudo bez vyzadovani hesla.
#
#
#Vycisteni promennych pouzivanych skriptem.
#
unset truecryptpath
unset usergroupregexp
unset options
unset user
unset group
unset dmask
unset fmask
#
#Nastaveni cesty k obsluznemu programu truecrypt.
#
truecryptpath=/usr/local/bin/truecrypt
#
#Test, zda byl skriptu predan alespon jeden parametr.
#
if [ $# -ge 1 ]; then
#
#Test, zda cesta k obsluznemu programu skutecne ukazuje na spustitelny
#soubor.
#
if [ -x $truecryptpath ]; then
#
#Analyza predanych parametru.
#
case "$1" in
#
#Zadost o vypis vsech pripojenych svazku. Musi byt zdan prave jeden
#parametr.
#
-l) if [ $# -eq 1 ]; then
#
#Vypis vsech pripojenych svazku.
#
$truecryptpath --list
#
#Pokud nebyl zdan prave jeden parametr, konci s chybou.
#
else
exit 4
fi;;
#
#Zadost o odpojeni vsech pripojenych svazku. Musi byt zdan prave
#jeden parametr.
#
-a) if [ $# -eq 1 ]; then
#
#Odpojeni vsech pripojenych svazku.
#
$truecryptpath -d
#
#Pokud nebyl zdan prave jeden parametr, konci s chybou.
#
else
exit 5
fi;;
#
#Zadost o odpojeni konkretniho svazku. Musi byt zdany prave dva
#parametry.
#
-u) if [ $# -eq 2 ]; then
#
#Kontola, zda druhy parametr je cesta k beznemu souboru
#nebo adresari.
#
if [ -f "$2" -o -d "$2" ]; then
#
#Odpojeni svazku identifikovaneho pripojnym bodem nebo
#zdrojovym souborem.
#
$truecryptpath -d "$2"
#
#Pokud druhy parametr neni cesta k beznemu souboru nebo
#adresari, konci s chybou.
#
else
exit 8
fi
#
#Pokud nebyly zdany prave dva parametry, konci s chybou.
#
else
exit 6
fi;;
#
#Zadost o pripojeni svazku. Musi byt zadano prave osm parametru.
#
-m) if [ $# -eq 8 ]; then
#
#Nastaveni pomocne promenne s regularnim vyrazem, kteremu
#musi odpovidat zadane jmeno uzivatele a skupiny.
#
usergroupregexp='[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-]*[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567899_.$-]\?';
#
#Nastaveni pomocne promenne se jmenem uzivatele, ktery ma
#byt vlastnikem souboru na pripojenem svazku.
#
user=`echo "$5" | grep -x -m 1 "$usergroupregexp"`;
#
#Nastaveni pomocne promenne se skupinou uzivatelu, ktere
#maji nalezet soubory na pripojenem svazku.
#
group=`echo "$6" | grep -x -m 1 "$usergroupregexp"`;
#
#Nastaveni pomocne promenne se maskou prav k adresarum na
#pripojenem svazku.
#
dmask=`echo "$7" | grep -x -m 1 '[0-7]\{3\}'`;
#
#Nastaveni pomocne promenne se maskou prav k souborum na
#pripojenem svazku.
#
fmask=`echo "$8" | grep -x -m 1 '[0-7]\{3\}'`;
#
#Kontola, zda treti parametr je cesta k beznemu souboru,
#ctvrty parametr je cesta k adresari a pomocne promenne
#obsahuji retezec nenulove delky.
#
if [ -f "$3" -a -d "$4" -a -n "$user" -a -n "$group" -a -n "$dmask" -a -n "$fmask" ]; then
#
#Nastaveni pomocne promenne s parametry pro pripojeni
#svazku.
#
options="uid=$user,gid=$group,dmask=0$dmask,fmask=0$fmask,utf8,noauto,nodev,noexec,nosuid";
#
#Pokud druhy parametr obsahuje retezece '-r'...
#
if [ "$2" = '-r' ]; then
#
#...pripoj svazek se zadanymi parametry ze zadaneho
#umisteni do zadaneho pripojneho bodu pouze pro
#cteni.
#
$truecryptpath -r --mount-options "$options" "$3" "$4"
#
#Pokud druhy parametr obsahuje retezece '-w'...
#
elif [ "$2" = '-w' ]; then
#
#...pripoj svazek se zadanymi parametry ze zadaneho
#umisteni do zadaneho pripojneho bodu pro cteni
#i zapis.
#
$truecryptpath --mount-options "$options" "$3" "$4"
#
#Pokud druhy parametr nebosahuje reteze '-r' nebo '-w',
#konci s chybou.
#
else
exit 9
fi;
#
#Pokud neni spravne nastaven treti nebo ctvrty parametr
#nebo alespon jedna promenna obsahuje retezec nulove delky,
#konci s chybou.
#
else
exit 10
fi
#
#Pokud nebylo zdano prave osm parametru, konci s chybou.
#
else
exit 7
fi;;
#
#Pokud v prvnim parametru nebyl nalezen spravny prikaz, konci
#s chybou.
#
*) exit 3;;
esac
#
#Pokud cesta k obsluznemu programu neukazuje na spustitelny soubor, konci
#s chybou.
#
else
exit 2
fi
#
#Pokud skriptu nebyl predan ani jeden parametr, konci s chybou.
#
else
exit 1
fi
$ exit
> # Read-only mód.
> sudo /usr/local/bin/truecryptmount.sh -m -r '/home/michalr/enc.tc' '/home/michalr/encmnt/' 'michalr' 'encrypted' '077' '177'
> # Unmount.
> sudo /usr/local/bin/truecryptmount.sh -u '/home/michalr/enc.tc'
> # Read-write mód.
> sudo /usr/local/bin/truecryptmount.sh -m -w '/home/michalr/enc.tc' '/home/michalr/encmnt/' 'michalr' 'encrypted' '077' '177'
> # Unmount all.
> sudo /usr/local/bin/truecryptmount.sh -a
> # List.
> sudo /usr/local/bin/truecryptmount.sh -l
if not něco then exit; dělej než if něco then dělej else exit a neporoste ti to tak do šířky
Takže: Brání tenhle skriptík tomu, abych nepřeplácnoul např. /bin něčím vlastním? Ani nechci domejšlet, co by se mohlo stát, jestli ne
/bin?
Tak jdu záplatovat.
$PATH, ne?