Repository navigation
Libux v1.0.0 — Package manager + hardening
First stable release. Scope z roadmapy je kompletní (všech 10 feature modulů), plus přibyl správce balíčků a rozsáhlé bugfixy/hardening napříč kódem.
New
- Package manager (
Packagesv hlavním menu) — instalace a odinstalace podporovaných služeb z jedné obrazovky:apache2,openssh-server,mariadb-server,phpmyadmin,isc-dhcp-server,iptables-persistent - Tři pohledy: Status / Install / Remove (multi-select)
- Purge běží v
DEBIAN_FRONTEND=noninteractive, abymariadb-serveraphpmyadminnevisely na debconf promptech apt-get autoremove -ypo odinstalaci čistí osiřelé závislosti
Bug fixes
- SSH install teď po
apt installvolásystemctl enable --now ssh, takže služba sama naběhne a přežije reboot - SSH config změny (
Port/PermitRootLogin/PasswordAuthentication/MaxAuthTries/AllowUsers/DenyUsers) se automaticky aplikují — už nevidíš vyřešený config a nefunkční SSH authorized_keysse teď vytváří pod cílovým uživatelem (sudo -u <user>) — sshdStrictModesje dřív tiše odmítal, protože byly vlastněné rootem- iptables-persistent detekce: kontroluje se
netfilter-persistent, neiptables-restore(ten je součástí baseiptablesa check nikdy netrigoval instalaci)
Hardening
sshd -tvalidace před aplikací každé změny — rozbitý config se na server nikdy nenapíše, žádné lockouty- Atomický zápis
sshd_config(tempfile v adresáři +os.replace(), zachovává mode/uid/gid) — Ctrl+C během zápisu už configy nerozbije - Shell injection v
modules/ssh/keys.pyopraven — obsah klíče i souboru jde přesstdin, ne přes interpolaci dobash -c - Validace usernamu (POSIX regex) a filenamu pro
ssh-keygen(žádná/,..ani leading-)
Polish
- Jednotný
utils.is_pkg_installed()ve všech modulech — používádpkg-query -W -f='${Status}'+ checkinstall ok installed, takže poapt remove(bez purge) už se balíček nezobrazuje jako nainstalovaný main.pydispatch přes(label, callback)tabulku místo if/elif řetězce podle indexu — přidání další položky nerozbije routingremove_keymatchuje klíče přes index z menu, ne přesoptions.index(label)— duplicitní labely už nevedou ke smazání špatného klíče
Compatibility
- MariaDB < 10.4 (Debian 10 buster, MariaDB 10.3) — Set root password nejprve zkusí moderní
IDENTIFIED VIA unix_socket OR mysql_native_password, při ERROR 1064 fallback naSET PASSWORD FOR 'root'@'localhost' simple-term-menuzamčen na>=1.6,<2— verze 2.x měnila APIpreselected_entries/multi_select_select_on_accept
Requirements
- Python 3.x
- Debian (testováno na 11, 12, 13)
- Root permissions
Install
sudo ./Libuxv1.0.0