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í
×

dnes 02:00 | Nová verze

Byla vydána stabilní verze 2.0 linuxové distribuce Lakka, jež umožňuje transformovat podporované počítače v herní konzole. Lakka 2.0 obsahuje například LibreELEC 8.0 nebo RetroArch 1.5.0.

Ladislav Hagara | Komentářů: 2
včera 23:44 | Pozvánky

24. 5. 2017 od 9:00 proběhne v Brně na Fakultě informatiky MU (Botanická 68a) v místnosti D2 jednodenní konference Industry Cocktail (Facebook), na které máš šanci nahlédnout do způsobů využití nových technologií v aktuálních projektech z různých průmyslových odvětví. To, že složité problémy se neřeší jen v laboratořích a způsoby, jakými se s nimi vypořádat v praxi, rozeberou přednášející z jednotlivých firem.

mjedlick | Komentářů: 0
včera 23:33 | Nová verze

Byla vydána verze 0.69 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešen je také bezpečnostní problém ve verzi pro Windows.

Ladislav Hagara | Komentářů: 0
28.4. 13:11 | Nová verze

Po téměř dvou letech byla vydána nová verze 4.0 linuxové distribuce Audiophile Linux (též AP-Linux-V4). Tato distribuce vychází z Arch Linuxu, používá systemd, správce oken Fluxbox a vlastní real-time jádro pro nižší latence. Z novinek můžeme jmenovat podporu nových procesorů Intel Skylake a Kaby Lake nebo možnost instalace vedle jiných OS na stejný disk. Pokud se zajímáte o přehrávání hudby v Linuxu, doporučuji návštěvu webu této

… více »
Blaazen | Komentářů: 7
27.4. 18:55 | Nová verze

Byla vydána nová stabilní verze 1.9 (1.9.818.44) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují podporu nového vyhledávače Ecosia. Ten z příjmů z reklam podporuje výsadbu stromů po celém světě (YouTube). Nově lze přeskupovat ikonky rozšíření nebo řadit poznámky. Nejnovější Vivaldi je postaveno na Chromiu 58.0.3029.82.

Ladislav Hagara | Komentářů: 20
27.4. 17:00 | Nová verze

Byla vydána verze 3.7.0 svobodného systému pro správu obsahu (CMS) Joomla!. V oznámení o vydání (YouTube) se píše o 700 vylepšeních. Opraveno bylo také 8 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
27.4. 08:22 | Komunita

Grsecurity (Wikipedie) je sada bezpečnostních patchů pro linuxové jádro (porovnání se SELinuxem, AppArmorem a KSPP). Od září 2015 nejsou stabilní verze těchto patchů volně k dispozici. Dle včerejšího oznámení (FAQ) nejsou s okamžitou platností volně k dispozici už ani jejich testovací verze.

Ladislav Hagara | Komentářů: 80
26.4. 23:33 | Komunita

OpenBSD 6.1 vyšlo již 11. dubna. Po dvou týdnech byla vydána i oficiální píseň. Její název je Winter of 95 a k dispozici je ve formátech MP3 a OGG.

Ladislav Hagara | Komentářů: 0
26.4. 18:55 | Nová verze

Byla vydána verze 2017.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux. S vydáním verze 2016.1 se Kali Linux stal průběžně aktualizovanou distribucí. Aktualizovat jej lze pomocí příkazů "apt update; apt dist-upgrade; reboot".

Ladislav Hagara | Komentářů: 0
26.4. 18:22 | Nová verze

Po téměř pěti letech od vydání verze 2.00 byla vydána nová stabilní verze 2.02 systémového zavaděče GNU GRUB (GRand Unified Bootloader). Přehled novinek v souboru NEWS.

Ladislav Hagara | Komentářů: 28
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (35%)
 (1%)
 (6%)
 (45%)
 (9%)
Celkem 347 hlasů
 Komentářů: 50, poslední 27.4. 04:06
    Rozcestník

    Dotaz: script na vypsani uživatele

    14.12.2011 10:44 mar89tin
    script na vypsani uživatele
    Přečteno: 1021×
    Dobry den linuxove komunite.. Mohl by mi někdo poradit jak napsat skript, který:

    vypíše všechny uživatele (+ jejich poslední přihlášení a jeho dobu), kteří mají jako login shell zadaný řetězec (default hodnota: ksh).. Má tedy vybrat z existujícíh uživatelů, nikoli se zabývat aktuálně přihlášeným. děkuji Zdraví Martin

    Řešení dotazu:


    Odpovědi

    14.12.2011 10:54 kuka
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    /etc/passwd, man last
    14.12.2011 10:59 Peter S.
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Tak základom bude asi lastlog. Zistiť default shell nebude problém z /etc/passwd. Problém bude asi dlžka prihlasenia....

    Tarmaq avatar 14.12.2011 11:14 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    #!/bin/sh
    
    SH=ksh;
    if [ $1 ]; then
      SH=$1;
    fi
    
    grep $SH /etc/passwd | cut -d':' -f1 | while read u; do lastlogin $u; done
    
    Don't panic!
    14.12.2011 13:34 Kit
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Na každou složitou otázku existuje jednoduchá a nesprávná odpověď.
    Tarmaq avatar 14.12.2011 17:39 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    je mozne ze tam mam neco spatne, napr. misto toho grepovani jsem asi mel pouzit getent viz. nize.. Mohl bys treba dale specifikovat co tam je jeste spatne? Netvrdim ze to je spravne a je mozne ze tam jsou pouzity nejake neposixove postupy atp., ale na freebsd mi to funguje dle zadani
    Don't panic!
    Jendа avatar 14.12.2011 23:15 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Uživatel trollkshlolo.
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    Jendа avatar 14.12.2011 23:17 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Jo a já nemám lastlogin (takový standardní Debian).
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    14.12.2011 17:00 ET
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    imho bude lepci "getent passwd" nez grep pres passwd...
    Tarmaq avatar 14.12.2011 17:37 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    diky, neznal jsem.. akorat se mi nedari filtrovat podle shellu, podle usernamu a uid jo..
    Don't panic!
    14.12.2011 18:34 kuka
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    getent ovsem neni k dispozici na kazdem UNIXu...
    14.12.2011 21:26 ET
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    jasne, ale taky nebylo konkretne receno o jakej *ux se jedna, na solaci sem ho pouzival a koukal jsem ze je i pro bsd, enjoy...
    14.12.2011 23:09 mar89tin
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    přiznám se že tomu zatím moc nerozumím, ví někdo jak by to mělo vypadat funkční? moc děkuji
    Jendа avatar 14.12.2011 23:19 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Shell je v passwd v posledním sloupci (hint: cut nebo grep --only-matching) a jak získat poslední login si budeš muset vygooglit. Pokud tohle po semestru na škole nedáš, zvážil bych se na to vykašlat.
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    15.12.2011 00:13 mar89tin
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    	
    #!/bin/sh
     
    SH=ksh;
    if [ $1 ]; then
      SH=$1;
    fi
    
    lastlogin= last -1 <
    
    grep $SH /etc/passwd | cut -d':' -f1 | while read u; do lastlogin $u; done
    
    přidal jsem ten lastlogin, vidim ze cut uz tu pouzito je pro ziskani hodnoty shellu. tim by to melo byt ok (?) ale jeste by tam melo byt nejake echo pro vypis tech uzivatelu co?
    Jendа avatar 15.12.2011 00:18 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    lastlogin= last -1 <
    A tohle má dělat co?

    Já na Debianu lastlogin nemám, jenom lastlog, který spouštím třeba s parametrem -u uživatel, např.
    $ lastlog -u pepa
    Username         Port     From             Latest
    pepa             pts/5    2001:470:caee:1: Fri Dec  9 02:54:01 +0100 2011
    takže bych si zmíněné uživatele uložil do proměnné a potom udělal for cyklus, kde bych na ně vždycky spustil lastlog -u a vycutnul z druhého řádku username a datum.
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    15.12.2011 00:53 l4m4
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    lastlogin se vyskytuje na BSD-derived systémech, ale přenostitelné to moc není.
    15.12.2011 01:14 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    grep $SH /etc/passwd

    přidal jsem ten lastlogin, vidim ze cut uz tu pouzito je pro ziskani hodnoty shellu. tim by to melo byt ok (?)

    Jak už bylo naznačeno, ok to není, vlastně je to zatím nefunkční :) Vizte můj nick, ale jinak používám bash, a vypsat uživatele co používají třeba ash byste chtěl jak? Chce to ještě doladit, máte štěstí že název shellu je v posledním sloupci, takže to půjde i tím grepem, ale ten regulární výraz (parametr grepu) bude potřeba vylepšit.
    15.12.2011 01:20 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    A cut tu není použito pro získání hodnoty shellu, ale pro získání uživatelského jména (-f 1) více méně náhodné podmnožiny uživatelů z passwd.
    15.12.2011 10:07 mar89tin
    Rozbalit Rozbalit vše Re: script na vypsani uživatele

    Pokud tomu dobre rozumim, tak na zacatku je inicializace default hodnoty shellu.

    Pote je tady podminka if(ve ktere bohuzel moc nerozumim kontrukci
    if [ $1 ]; then
      SH=$1;
    Co se vlastne rovna(je prirazeno) SH?

    Dale jsem se v diskuzi docetl ze bude lepsi pouzit getend pro ziskani jmena uzivatele. dale cut pro vybrani spravneho udaje.. Pak while read u; to podle me cte nalezeneho uzivatele a pro nej (do lastlog) vypise posledni prihlaseni.

    Prosim vas pokud vidite chybu mohl byste mi ji opravit aby mi skript fungoval..? moje znalosti teto problematiky jsou celkem male narozdil od vas. Pracuji v OS Ubuntu.

    ps. v getend passwd podle me chybi neco, podle ceho daneho uzivatele hledat..(coz je vlastne zadana hodnota login shellu)..

    #!/bin/sh
     
    SH=ksh;
    if [ $1 ]; then
      SH=$1;
    fi
     
    getent passwd | cut -d':' -f1 | while read u; do lastlog $u; 
    done
    Tarmaq avatar 15.12.2011 11:26 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Co se vlastne rovna(je prirazeno) SH?

    Obsahuje prvni parametr, tedy pri spusteni skriptu pojmenovaneho foo
    ./foo zsh
    
    vyhleda posledni prihlaseni uzivatelu, kteri maji jako login shell nastaveny zsh.
    Pokud se skript spusti bez parametru, defaultuje to na ksh.
    #!/bin/sh
    
    SH=ksh;
    if [ $1 ]; then
      SH=$1;
    fi
    
    getent passwd | grep "/${SH}$" | cut -d':' -f1 | while read u; do last -1 $u; done
    
    Don't panic!
    15.12.2011 13:26 mar89tin
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Skript na vypsani mi bohužel pořád nejede:( Nevím co tam mám dopsat aby to bylo funkční, poradí mi prosím ještě nekdo zkušený? Jinak zkousim to v Ubuntu 10.11...
    Jendа avatar 15.12.2011 16:10 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Mně last -1 vypisuje na Debianu spoustu bordelu kolem. Udělal bych to stylem
    USERS=`getent passwd | grep "/bash$" | cut -d':' -f1`
    
    for USER in $USERS; do lastlog -u $USER | tail -n 1 | tr -s " " | cut -d " " -f 1,5-; done
    # FIXME: u uživatele, který se nikdy nepřihlásil, bychom místo prázdna mohli napsat, že se opravdu nikdy nepřihlásil
    
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    15.12.2011 16:21 chsajarsa | skóre: 16 | blog: V_hlouby_destneho_pralesa | Lovosice(Praha)
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    #!/bin/bash
    
    USERS=`cat /etc/passwd | grep $1 | cut -d: -f1`
    
    for i in $USERS
    do
            DATUM=`last | grep $i | head -n 1 | awk '{FS="\t";  print $5,$6,$7}'`
            DELKA=`last | grep $i | head -n 1 | awk '{print $9}' | sed -e 's|[(,)]||g'`
            if [ "$DELKA" = "logged" ]
            then   
                    DELKA='jeste ted'
            fi
            if [ -z "$DELKA" ]
            then   
                    echo "uzivate $i se neprihlasil"
            else   
                    echo "uzivate $i byl naposled prihlasen $DATUM a byl prihlasen po dobu $DELKA"
            fi
    done
    ma to jen jednu chybu a to tu, ze pokud se uzivatel prihlasi lokalne na tty, tak to nevypise ani cislo displaye a ani ip u ssh. Je tam tedy nutne dat uz jen jednu podminku a to treba tu, ze pokud je na $5 nenachazi 3 znaky tak vytiskyni do DATUM $6,$7,$6. To same u DELKY, kde kdyz je aktualne prihlasen na tty se vytiskne neco jineho. Getenv bych moc nepouzival, ja treba jsem zjistil, ze ho nemam nainstalovany nikde :-)
    ~ QED ~
    Jendа avatar 15.12.2011 16:40 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    DATUM=`last | grep $i | head -n 1 | awk '{FS="\t";  print $5,$6,$7}'`
    Já to zkouším na serveru, kde je asi 50 uživatelů a třeba 30 loginů denně, takže v tom vždycky vidím nějaký fail. Tady třeba v tom, že last mi vrací jenom záznamy od začátku prosince.

    A jinak konstrukce typu log | grep foo nejsou obecně příliš šťastné, protože někteří divní uživatelé :) si volí takové přezdívky, že jsou buď podmnožinou jiného uživatelského jména, nebo se jejich nickname může vyskytnout dále v tom řádku (jméno konzole, hostname, datum…).

    Tj. lepší by bylo last | grep "^foo ".
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    Jendа avatar 15.12.2011 16:45 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Tady třeba v tom, že last mi vrací jenom záznamy od začátku prosince.
    Takže třeba last jenda -F je pro získání informací o konkrétním uživateli mnohem vhodnější (např. by fungovalo, i kdybych se tam od začátku prosince nepřihlásil - moment, on někdo může žít dva týdny bez přihlášení se na ten server? :) a navíc díky -F se pak dá to datum prostě napipovat do date, převést na UNIX timestamp, odečíst a máš hned a přesně tu délku.
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    15.12.2011 16:57 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Vůbec nejhorší jsou shelly jako bash, který si zvolil takové jméno, které obsahuje sh i ash :)
    15.12.2011 17:43 mar89tin
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    když tohle překopíruju do geditu a pak prejmenuju na users.sh a spustim, pise to tohle:
    martin@ubuntu:~$ bash users.sh
    users.sh: line 2: $'\r': command not found
    Usage: grep [OPTION]... PATTERN [FILE]...
    Try `grep --help' for more information.
    users.sh: line 4: $'\r': command not found
    users.sh: line 6: syntax error near unexpected token `$'do\r''
    'sers.sh: line 6: `do
    martin@ubuntu:~$ 
    Jendа avatar 15.12.2011 22:55 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Máš blbě nastavené zalamování řádků v Geditu - asi ho máš přeplé na "Win/DOS", chceš "UNIX".
    "Vzbuď se ve 4.20 a jdi ke kolejím (k jakýmkoliv, které najdeš)" "OK, jsem na Strahově, what next?"
    14.12.2011 11:44 Kit
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Ty školní úlohy se nám tady v poslední době nějak rozmohly. Nebo se snad pletu?
    14.12.2011 12:51 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    ano, pletes se. skolni ulohy tu jsou pravidelne s koncem skolniho (pul)roku
    14.12.2011 12:53 rastos | skóre: 60 | blog: rastos
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    15.12.2011 21:10 mar89tin
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    Prosím napadlo někoho něco? Mně se to nedaří poskládat dohromady a zítra to musim odevzdat.. Mohl by tu někdo napsat něco aspon zhruba funkcniho? Mám Ubuntu 11.10 Díky všem a za cokoli!
    19.12.2011 09:49 ubka7617
    Rozbalit Rozbalit vše Re: script na vypsani uživatele
    co tak prikaz sac ?

    apt-get install sac v debian

    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.