MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.
Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.
Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).
Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.
Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.
Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.
Díky, zdraví
Ltb
adduser tohle dela za tebe...
#!/bin/bash
while true; do
echo -n "Enter login name: "
read LOGNAME
LEN=`echo "$LOGNAME" | wc -c`
if [ "$LEN" -gt 8 ] ; then
echo Name too long
continue
fi
if echo "$LOGNAME" | grep [^a-z]; then
echo Only small letters allowed
continue
fi
break
done
_UID=`tail -1 /etc/passwd |awk -F : '{print $3 + 1}'`
echo -n "Enter UID: "
read _UIDOK
if [ "$_UIDOK" = "" ] ; then
_UIDOK=$_UID
elif [ "`grep $_UIDOK /etc/passwd | awk -F : '{print $3}'`" = "" ] ; then
_UIDOK=$_UID
else
echo "ERROR: UID in use"
exit 1
fi
_GID=`grep users /etc/group |awk -F : '{print $3}'`
echo -n "Enter GID: "
read _GIDOK
if [ "$_GIDOK" = "" ]; then
_GIDOK=$_GID
elif [ "`grep $_GIDOK /etc/group`" = "" ] ; then
echo "ERROR: Group $_GIDOK does not exist"
exit 1
fi
echo -n "Enter home directory: [/home/$LOGNAME] "
read _HOME
if [ "$_HOME" = "" ]; then
_HOME="/home/$LOGNAME"
fi
echo -n "Enter login shell: [/bin/bash] "
read _SHELL
if [ "$_SHELL" = "" ]; then
_SHELL=/bin/bash
fi
if [ ! \( -x $_SHELL \) ] ; then
echo Shell does not exist or is not executable
exit 1
fi
echo -n "Enter real name: "
read _REALNAME
echo
echo This is the information you entered:
echo
echo User ID is: $_UIDOK
echo Group ID is: $_GIDOK
echo Home is: $_HOME
echo Login shell is: $_SHELL
echo Real name is: $_REALNAME
echo
echo /etc/passwd entry will be:
echo $LOGNAME:???:$_UIDOK:$_GIDOK:$_REALNAME:$_HOME:$_SHELL
echo
echo -n "Is this correct? (y/n) "
read _verify
if [ "$_verify" = n ]; then
echo Exiting ...
exit 1
else
echo "Adding user $LOGNAME to system"
# useradd -u $_UIDOK -g $_GIDOK -d $_HOME -s $_SHELL -c "$_REALNAME" $LOGNAME
# cp -r /etc/skel $_HOME
# chown -R $_UIDOK:$_GIDOK $_HOME
# passwd $LOGNAME
fi
userid.sh:
#!/bin/bash
if [ $# != 1 ] ; then
echo Usage: `basename $0` username
exit 1
fi
_UID=`grep -F -w $1 /etc/passwd | awk -F : '{print $3}'`
if [ "$_UID" = "" ] ; then
echo Error: User $1 not found
else
echo User $1 has UID=$_UID
fi
tak aby Vám to za to stálo..
) nakonec vzniknul skript, který odpovídá zadání viz. příspěvek úplně nahoře.
#!/bin/bash
# pridani noveho uzivatele (mensi uzivatelska nadstavba nad prikaz "useradd")
echo
echo " Pridani noveho uzivatele do systemu (pouze Enter -> predcasne ukonceni)"
echo
# jmeno
while [ "$xJmeno" == "" ]; do
echo -n " Zadej jmeno pro noveho uzivatele : "; read xJmeno
# nic nezadano -> ukonceni skriptu
[ "$xJmeno" == "" ] && { echo " ! Predcasne koncim skript ..."; exit; }
# kontrola, zda zadany uzivatel jiz existuje (hleda prvni retezec od zacatku radku do prvni dvojtecky)
if grep "^$xJmeno:" /etc/passwd > /dev/null; then
echo " Uzivatel \"$xJmeno\" jiz existuje, zadej jine jmeno!"
xJmeno=""
fi
done
# Nasledujici akci - zjisteni a urceni posledniho pouziteho UID zvyseneho o 1
# dela sam prikaz useradd, zde to ale udelame rucne
# Predpokladame, ze na poslednim radku je posledni platny uzivatel :
# z posledniho radku /etc/passwd nacteme UID (3 polozka mezi : ) a zvysime ji o 1
xUID="$[$(sed -n "$ s#^[^:]*:[^:]*:\([0-9]\+\):.*#\1#p" /etc/passwd) + 1]"
# GID
while [ "$xGID" == "" ]; do
# najde doporucene GID pro skupinu users
x="$(sed -n "/^users:/ s#^[^:]*:[^:]*:\([0-9]\+\):.*#(doporucuji: \1 pro skupinu users) #p" /etc/group)"
echo -n " Zadej GID $x: "; read xGID
# nic nezadano -> ukonceni skriptu
[ "$xGID" == "" ] && { echo " ! Predcasne koncim skript ..."; exit; }
# kontrola, zda skupina existuje (hleda 3 retezec od zacatku radku, polozky jsou oddelene : )
if ! grep "^[^:]*:[^:]*:$xGID:" /etc/group > /dev/null; then
echo " Skupina s GID=$xGID neexistuje, musis zadat nejakou platnou:"
sed -n "s#^\([^:]*\):[^:]*:\([0-9]\+\):.*#GID=\2 \t \1#p" /etc/group # vypise seznam skupin
xGID=""
fi
done
# login shell
while [ "$xShell" == "" ]; do
echo -n " Zadej login shell (1=/bin/bash) : "; read xShell
# nic nezadano -> ukonceni skriptu
[ "$xShell" == "" ] && { echo " ! Predcasne koncim skript ..."; exit; }
# preddefinovany shell
[ "$xShell" == "1" ] && xShell="/bin/bash"
# kontrola na existenci a spustitelnost souboru (shellu)
[ -x "$xShell" ] || { echo " Zadany shell \"$xShell\" neni platny (neexistuje, nebo neni spustitelny) !"; xShell=""; }
done
echo
echo " Shrnuti:"
echo " Jmeno : $xJmeno"
echo " UID : $xUID"
echo " GID : $xGID"
echo " Login shell : $xShell"
echo
echo -n " Pridat tohoto noveho uzivatele do systemu ? Ano=a : "; read x
echo
if [ "$x" == "a" ]; then
# pridani uzivatele; pokud se zdari, jeste nastavit heslo
if useradd -u $xUID -g $xGID -G $xGID -m -s $xShell $xJmeno; then
# prikaz useradd zalozi noveho uzivatele, nastavi mu UID, GID (a prida ho do teto skupiny), nastavi
# mu shell, vytvori HOME adresar, nakopipruje do nej vychozi soubory a nastavi vlastnika,
# takze nasledujici prikazy jsou jiz zbytecne (viz. man useradd):
# cp -r /etc/skel "/home/$xJmeno" # nakopirovani zakladnich souboru do dom.adresare
# chown -R $xUID:$xGID "/home/$xJmeno" # nastavi vlastnika
echo " Uzivatel \"$xJmeno\" pridan do systemu: useradd -u $xUID -g $xGID -G $xGID -m -s $xShell $xJmeno"
echo " Nyni je nutne mu jeste nastavit heslo:"
passwd $xJmeno
fi
else
echo " Koncim ... Uzivatel \"$xJmeno\" nepridan do systemu !"
fi
Mějte se fajn,
Ltb
Tiskni
Sdílej: