Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
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?