Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 166 (pdf).
Blíží se prázdniny a než se rozutečete k moři, je na čase se opět sejít na Virtuální Bastlírně - pravidelném setkání elektroniků, ajťáků, bastlířů a obecně nadšenců do techniky. Co si pro vás strahovští bastlíři připravili tentokrát? Určitě proberou blížící se Linux Days i další události. U softwaru se chvíli zdrží a poví si kupříkladu o tom, jak se zbavit Bambu Cloudu, ale nepřijít o možnost ovládat tiskárnu na dálku. Řeč dojde i na AI,
… více »Vývojáři postmarketOS vydali verzi 26.06 tohoto 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, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 2.55.0 distribuovaného systému správy verzí Git. Přispělo 100 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Craig Loewen na blogu Microsoftu oznámil veřejnou preview verzi WSL kontejnerů, tj. linuxových kontejnerů ve Windows Subsystem for Linux (WSL). Spouští se příkazem wslc.exe.
Byla vydána (𝕏, Bluesky) nová verze 2026.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 9 nových nástrojů v oficiálním oznámení na blogu.
Grafická aplikace Krokiet/Czkawka pro vyhledávání a odstraňovaní nepotřebných souborů (duplicitní soubory, prázdné složky, podobné obrázky, podobná videa, poškozené soubory a další) byla vydána ve verzi 12.0.0. Podrobný přehled novinek v příspěvku na Medium. Jedná se o poslední verzi frontendu Czkawka GTK nad Czkawka Core. Uživatelům se doporučuje migrovat na frontend Krokiet postavený nad frameworkem Slint. Představena byla aplikace Cedinia pro Android využívající Czkawka Core. Dostupná je jako APK pro ruční instalaci.
Po téměř třech letech od vydání verze 9 byla vydána nová verze 10 linuxové distribuce Mageia (Wikipedie). Přehled novinek v poznámkách k vydání.
Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.
Velká část Open Source projektů využívá jako software na správu verzí CVS. Existují sice lepší alternativy, ale CVS je v této oblasti téměř standardem. Nainstalovat CVS není velký problém, v době RPM či PKG to zvládne každý. O něco složitější je situace, kdy chcete k CVS přistupovat vzdáleně. A touto tématikou se zabývá tento článek.
Existuje více způsobů, jak přistupovat vzdáleně k CVS. Jsou to přístup přes rsh, autentifikace přes heslo (pserver), CSSAPI a Kerberos. Rsh má smysl leda na uzavřené síti (třeba za firewallem), kde si všichni uživatelé navzájem věří. O něco lepším řešením je autentifikace uživatelů přes Kerberos, CVS zvládá jeho verzi 4. S nástupem verze 5 autoři vytvořili obecné rozhraní CSSAPI. Pro mé účely se však nejvíce hodí pserver. Je snadný na instalaci a konfiguraci a zároveň umožňuje vytvořit si virtuální uživatele či vymyslet existujícím uživatelům hesla platná jen pro CVS. Takže pokud útočník bude odposlouchávat vaši relaci, s CVS heslem váš server nenabourá.
První část konfigurace pserveru musíte provést jako root. Je třeba přidat do
síťových služeb CVS. Do souboru /etc/services vložte tuto
řádku:
cvspserver 2401/tcp
a pokud používáte démon inetd, pak do souboru
/etc/inetd.conf tuto:
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/literakl/CVSROOT pserver
Moderní distribuce preferují démon xinetd, takže budeme muset vytvořit
soubor /etc/xinetd.d/cvspserver:
service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/literakl/CVSROOT pserver
}
V obou případech parametr --allow-root ukazuje na CVSROOT,
který bude takto zpřístupněn přes pserver. Pokud máte více repozitářů, můžete
jej použít vícekrát.
V tuto chvíli je třeba ještě restartovat inetd, respektive
xinetd. Pod RedHatem a spol. spusťte
$ /etc/init.d/inet reload
respektive
$ /etc/init.d/xinetd reload
Nyní je třeba zinicializovat CVSROOT. Přihlásíme se jako uživatel vlastnící adresář CVSROOT, v tomto případě literakl a spustíme
$ cvs -d /home/literakl/CVSROOT init
Tím se nám vytvořil adresář /home/literakl/CVSROOT/CVSROOT
obsahující spoustu administrativních souborů. Mezi nimi nám však chybí soubor
passwd, který je určen právě pro vzdálený přístup. Jeho obsah je
nápadně podobný systémovému souboru /etc/passwd. Každý řádek
obsahuje jedno až tři políčka oddělené dvojtečkou. První políčko určuje
přístupové jméno pro CVS. Tímto jménem se budete logovat do CVS. Druhé políčko
určuje heslo zašifrované pomocí funkce crypt. A konečně poslední
políčko určuje skutečného uživatele na systému. CVS bude provádět všechny změny
jeho jménem.
Rozeberme si pravidla na praktickém příkladě:
$ cat /home/literakl/CVSROOT/CVSROOT/passwd
pub::pubcvs
literakl:HTRphPBvKJtjA:literakl
oazanon:TXiF1923PHrtI:oazanon
První řádek určuje, že CVS uživatel pub nepotřebuje žádné heslo
a je namapován jako systémový uživatel pubcvs. Takový uživatel
většinou mívá přístup jen ke čtení. To snadno zajistíte, pokud vytvoříte
skupinu cvsusers, do které přidáte uživatele pubcvs,
literakl a oazanon a dáte této skupině právo čtení na
celý CVSROOT.
$ groupadd cvsusers
$ vi /etc/group
cvsusers:x:503:pubcvs,literakl,oazanon
a v novém shellu
$ chmod -R g+r-w /home/literakl/CVSROOT
$ chgrp -R cvsusers /home/literakl/CVSROOT
Další řádky definují dva uživatele s heslem, kteří jsou namapováni na stejné uživatele, kteří již existují v systému. Takto jsme jim určili hesla pro CVS, která by měla být odlišná od systémových hesel.
Jenže jak ta hesla zašifrujeme? S Perlem je to hračka: (nejsem autorem)
$ vi cvspassword.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
$ chmod +x cvspassword.pl
$ ./cvspassword.pl heslo
Tímto končí konfigurace na straně serveru.
Uživatelé přistupující z cizího serveru musí nastavit CVSROOT a zalogovat se.
Je dobré uložit proměnnou CVSROOT do souboru ~/.profile:
export
CVSROOT=:pserver:literakl@localhost/home/literakl/CVSROOT
Zalogujeme se pomocí příkazu cvs login:
$ cvs login
Logging in to :pserver:literakl@localhost:2401/home/literakl/CVSROOT
CVS password: heslo
Od této chvíle můžeme přistupovat k CVS vzdáleně přes pserver.
Pokud CVS neovládáte, mohu doporučit článek na Rootovi a v Linuxových novinách.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
mohl bys tu popsat presny postup, jak na to ssh? docela by mne to zajimalo. diky
Prvni promenna je CVSROOT=:ext:server.domena:/adresar/na/serveru
A druha: CVS_RSH=ssh
Na serveru cvs nemusi bezet, jako pri pristupu pres pserver. Dale je pak rozdil, ze se nepouziva prikaz cvs login a cvs logout, ale heslo se zadava pri kazdem prikazu. Chci-li si usetrit zadavani hesla, musim pro ssh vygenerovat klice a spravne je nahrat do konfigurace ssh.
Klice se generuji pomoci prikazu: ssh-keygen -t rsa
Tento prikaz vygeneruje dva soubory: id_rsa - privatni klic, ten je ulozen na klientovi v adresari $HOME/.ssh
a id_rsa.pub - ten patri na server. Jeho obsah se prida do souboru $HOME/.ssh/authorized_keys
Pak by vse melo chodit bez otazky na heslo. Podobne se lze pripojit i na CVS server z Windowsu, ale to uz je trochu jine tema.
Pavel
Tady je posup jak rozchodit cvs pres ssh:
1) na cvs serveru rozjet ssh
2) na klientovi (v ~/.profile) nastavit:
export CVSROOT=cvs:/home/cvs
export CVS_RSH=ssh
3) na klientovi vytvorit ~/.ssh/config s obsahem:
Host cvs
Hostname 192.168.1.100
Port 22
Compression yes
User cdave
IdentityFile ~/.ssh/identity
4) vygenerovat klic na klientovi (klidne bez hesla): ssh-keygen
5) pridat prislusny radek z klient:~/.ssh/identity.pub do server:~/.ssh/authorized_keys
A uz by to melo svistet!