abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
dnes 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 15
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Skript pro zakládání uživatelů (odměna)

18.3.2007 14:47 Ltb
Skript pro zakládání uživatelů (odměna)
Přečteno: 181×
Ahoj všem, potřeboval bych pomoci s 1 skriptem na Linux, sám ho bohužel asi nezvládnu :-/

Zadání je tohle: Napište skript, který založí do sys. nového uživatele tj. 1) zeptá se na login-name 2) zkontroluje zda takové jméno již neexistuje, pokud ano, vrací se na 1 3) přidělí uživateli UID (o 1 vyšší než předchozí user) 4) zeptá se na GID a na jméno login-shellu 5) zkontroluje, zda existuje; pokud ne, opakuje bod 5 6) přidá odpovídající řádku do /etc/passwd 7) vytvoří v adresáři /home domovský adresář uživatele 8) přidělí uživateli práva k jeho domovskému adresáři

-----------------------------------------------------------

Zvládl by mi to někdo napsat? Jsem ochoten věnovat odměnu 250kč ;-)

Díky, zdraví

Ltb

Odpovědi

18.3.2007 14:55 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Skript pro zakládání uživatelů (odměna)
adduser tohle dela za tebe...
kozzi avatar 18.3.2007 14:59 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Skript pro zakládání uživatelů (odměna)
1.) Kčemu to potřebuješ existuje dost podobných skriptů co dělají něco podobného 2.) Pokud to máš do školy, tak si to udělej sám není to zas tak těžký 3.) V jakým jazyce to má být?
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
18.3.2007 15:02 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Skript pro zakládání uživatelů (odměna)
Troufám si tvrdit, že to zde zvládne naprostá většina, nebo alepoń hodně uživatelů L. I Ty by jsi to zvládnul, kdyby jsi chtěl. Ty ale evidentně nechceš, nebo nemáš zájem se v Linuxu naučit elemntárním věcem a zvládnout pár základních příkazů. Protože kdyby jsi chtěl a trošku se zde a jinde porozhlédl, zjistil bys, že na tom nic není. Předpokládám, že to máš nějaký dom.ú. Nechápu, proč chodíš na školu a na obor, který Tě asi moc nezajímá. To je ale Tvá věc. Jinak pokud si opravdu netroufáš a nikdo by Ti to neudělal, pošli mi e-mail, mohu Ti pomoci. Výsledek tu ale zveřejníme.
18.3.2007 16:33 sh
Rozbalit Rozbalit vše Re: Skript pro zakládání uživatelů (odměna)
Takové nějaké skripty mám ještě z dob studií schované. Nedělají sice přesně to, co chcete a tak, jak chcete, ale být vámi se na ně podívám a zkusím znovu zvážit, jestli to FAKT nezvládnete, protože je to opravdu jednoduché, a byla by věru ostuda kvůli takové hlouposti podvádět, budete pak mít těžký spaní :D

Co to je za školu?

adduser.sh:

#!/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
18.3.2007 18:03 Ltb
Rozbalit Rozbalit vše Re: Skript pro zakládání uživatelů (odměna)
Ahoj,

díky všem za reakce na můj dotaz/prosbu!

K vašim dotazům: - ANO, je to DU a věřím tomu, že pro většinu z vás je to jednoduché. Já se svými skromnými NEznalostmi linuxu bych na tom strávil nejméně 1 den, což je ale celkem dost :-/ Linuxu sice fandím, ale nevěnuji se mu a předpokládám, že v budoucnu ani nebudu => byl by to pro mne opravdu ztracený čas. To vám raději někomu věnuji 1 dvojté KFC MENU. Se zvěřejněním skriptu tady samozř. souhlasím, od toho je to poradna ;)

Zdraví

Ltb
18.3.2007 18:42 martyone | skóre: 18
Rozbalit Rozbalit vše Re: Skript pro zakládání uživatelů (odměna)
Jen bych Vás rád upozornil, že učitelé (zvláště takovýchto předmětů) většinou nejsou blbí, a google hledá až překvapivě dobře - nevím kterou školu navštěvujete Vy, ale na naší za podobné srandy několik lidí (o kterých jsem slyšel) vyletělo ;-) tak aby Vám to za to stálo..
1.4.2007 22:35 Ltb
Rozbalit Rozbalit vše Re: Skript pro zakládání uživatelů (odměna)
Ahoj všem, za nezanedbatelné pomoci Pavla (kterému tímto díky :-)) 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

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.