LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), dospěl po pěti letech vývoje do verze 1.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.
Facebook má nové logo. Poznáte rozdíl?
Byla vydána nová verze 7.2 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Vyzkoušet lze online verzi. Před dvěma týdny vyšla placená verze pro chytré telefony a tablety (App Store, Google Play).
Zítra 23. září proběhne Maker Faire Mladá Boleslav, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána beta verze Ubuntu 23.10 s kódovým názvem Mantic Minotaur. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.10 mělo vyjít 12. října 2023.
Josef Průša informuje o nových verzích firmwarů pro tiskárny Original Prusa, 5.0.0 pro MK4 a MK3.9 a 5.1.0-alpha1 pro MINI, díky kterým jsou tiskárny mnohem rychlejší.
Mastodon (Wikipedie), svobodná federalizovaná sociální síť, byl vydán ve verzi 4.2. Z novinek je vypíchnuto vylepšené vyhledávání.
Ben Hawkes publikoval pod názvem The WebP 0day analýzu bezpečnostní chyby CVE-2023-4863 v knihovně WebP / libwebp s řadou zajímavých odkazů. Pravděpodobně se jedná o stejnou chybu jako BLASTPASS (CVE-2023-41064 a CVE-2023-41061) v macOS, iOS, iPadOS a watchOS. Zpracování (zobrazení) speciálně připraveného obrázku nebo přílohy vedlo ke spuštění útočníkem připraveného kódu.
Myš je pro kočku: Prohlížeče je dalším dílem ze série článků Myš je pro kočku, kde Edvard Rejthar ukazuje, jak lze počítač ovládat bez myši. Používáte ve webových prohlížečích zkratky Ctrl+(Shift)+Tab, Ctrl+(Shift)+PgDn/PgUp, F6, (Shift)+Alt+Enter nebo F7?
Vývojáři mobilní Datovky prosí o pomoc s testováním beta verze mobilní Datovky s novým grafickým rozhraním, podporou pro tmavý režim a podporou pro VoDZ. Aplikace je zatím dostupná pouze pro zařízení Android a je umístěna v samostatném instalačním kanále Datovka Beta. Tento kanál slouží pro testovaní nové funkcionality a grafického uživatelského rozhraní. Datovka Beta se instaluje jako samostatná aplikace s vlastními daty, která
… více »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
#!/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 !" fiMějte se fajn, Ltb
Tiskni
Sdílej: