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í
×
    včera 23:33 | Nová verze

    Byla vydána nová verze 9.13 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

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

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    30.5. 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 41
    29.5. 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    29.5. 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    29.5. 14:00 | Nová verze

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    29.5. 12:33 | Zajímavý článek

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 58
    28.5. 20:44 | Nová verze

    Svobodný a otevřený multiplatformní editor EPUB souborů Sigil (Wikipedie, GitHub) byl vydán ve verzi 2.5.0. Stejně tak doprovodný vizuální EPUB XHTML editor PageEdit (GitHub).

    Ladislav Hagara | Komentářů: 0
    28.5. 12:22 | IT novinky

    Na základě národního atribučního procesu vláda České republiky označila Čínskou lidovou republiku za zodpovědnou za škodlivou kybernetickou kampaň proti jedné z neutajovaných komunikačních sítí Ministerstva zahraničních věcí ČR. Tato škodlivá aktivita, která trvala od roku 2022 a zasáhla instituci zařazenou na seznam české kritické infrastruktury, byla provedena kyberšpionážní skupinou APT31, veřejně spojovanou se zpravodajskou službou Ministerstvo státní bezpečnosti (MSS).

    Ladislav Hagara | Komentářů: 52
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 168 hlasů
     Komentářů: 13, poslední 30.5. 12:26
    Rozcestník

    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: 222×
    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.