Multiplatformní prohlížeč elektronických knih KOReader byl vydán ve verzi 2026.07 "Sailing Walrus". U PDF souborů s SMask lze vyčistit pozadí. Přibyla podpora Kobo v5 nebo základní podpora OPDS 2.0.
Společnost Valve sponzoruje a společnost Collabora portuje RADV (open source Vulkan ovladač pro AMD GPU z projektu Mesa) na Windows.
Starling (GitHub) je desktopové prostředí vytvořeno umělou inteligencí (s dohledem jednoho vývojáře během šesti měsíců).
Dne 30. června 2026 byla završena fyzická realizace projektu Czech National Quantum Communication Infrastructure (CZQCI), tedy České národní kvantové komunikační infrastruktury. Projekt byl realizován od 1. března 2023 a financován z Národního plánu obnovy částkou 121,6 milionu Kč. Cílem podpořeného projektu bylo vybudovat základy národní kvantové komunikační infrastruktury a ověřit možnosti jejího praktického využití. Mezi
… více »Město Šumperk se stalo terčem kybernetického útoku, chod úřadu je omezen. Zjišťuje se, jestli unikla nějaká data. Cílem hackerů byla městská datová síť. První útoky zaznamenali odborníci na informační technologie již v pondělí večer, závady se ale plně projevily až dnes ráno. Město událost nahlásilo Národnímu úřadu pro kybernetickou a informační bezpečnost (NUKIB).
Samba, svobodná implementace síťového protokolu SMB/CIFS, byla vydána ve verzích 4.24.5, 4.23.10 a 4.22.11. Řešeno je 6 zranitelností.
Přední technologické společnosti (Adobe, Cadence, Capital One, Cisco, Cloudera, Cloudflare, Cognition, CrowdStrike, Databricks, Dell Technologies, DoorDash, Elastic, HPE, Hugging Face, IBM, LangChain, Linux Foundation, Microsoft, NAVER, NetApp, Nous Research, NVIDIA, OpenClaw, Palantir, Palo Alto Networks, Red Hat, Reflection AI, Salesforce, SAP, ServiceNow, Siemens, SK Telecom, Snowflake, SpacexAI, Synopsys, Thinking
… více »Krabix.cz je online 3D konfigurátor krabiček pro 3D tisk s exportem do STL. Běží přímo v prohlížeči. Nic se neposílá na server.
Nadace Open Home Foundation spustila veřejnou preview verzi komunitní databáze zařízení pro Home Assistant. Má fungovat jako „Wikipedie pro chytrá zařízení".
Na stránce nového panelu Firefoxu přibudou nové widgety. Například denně aktualizována interaktivní křížovka.
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: