Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.
Kit je nový maskot webového prohlížeče Firefox.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.5. Přehled novinek s náhledy v oznámení na blogu.
Německo zvažuje, že zaplatí místním telekomunikačním operátorům včetně Deutsche Telekom, aby nahradili zařízení od čínské firmy Huawei. Náklady na výměnu by mohly přesáhnout dvě miliardy eur (bezmála 49 miliard Kč). Jeden scénář počítá s tím, že vláda na tento záměr použije prostředky určené na obranu či infrastrukturu.
Po dvaceti letech skončil leader japonské SUMO (SUpport.MOzilla.org) komunity Marsf. Důvodem bylo nasazení sumobota, který nedodržuje nastavené postupy a hrubě zasahuje do překladů i archivů. Marsf zároveň zakázal použití svých příspěvků a dat k učení sumobota a AI a požádal o vyřazení svých dat ze všech učebních dat.
Úřad pro ochranu hospodářské soutěže zahajuje sektorové šetření v oblasti mobilních telekomunikačních služeb poskytovaných domácnostem v České republice. Z poznatků získaných na základě prvotní analýzy provedené ve spolupráci s Českým telekomunikačním úřadem (ČTÚ) ÚOHS zjistil, že vzájemné vztahy mezi operátory je zapotřebí detailněji prověřit kvůli možné nefunkčnosti některých aspektů konkurence na trzích, na nichž roste tržní podíl klíčových hráčů a naopak klesá význam nezávislých virtuálních operátorů.
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í.
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!