Portál AbcLinuxu, 13. května 2024 07:37


Dotaz: Jednoduchý script na porovnání PASSWD a schránek

28.11.2004 16:26 Martin H.
Jednoduchý script na porovnání PASSWD a schránek
Přečteno: 289×
Odpovědět | Admin
Potřebuji poradit, kde získat info, jak napsat jednoduchý script v BASHi.

požadavek: Potřebuji provnat uživatele v PASSWD se schránkami v /var/spool/mail - zda nějaká nechybí, příp. zda nějaká nepřebývá.

Umím načíst seznam schránek a pracovat s tím, ale neumím otevřít PASSWD a postupně jej procházet.

Za každou radu, příp. ukázku scriptu předem děkuji.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.11.2004 16:47 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co to znamená "neumím otevřít PASSWD" ?

Otevřu to jako každý ostatní soubor akorát musím mět příslušná práva :-)
[root@soban /etc]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
........
:-)
28.11.2004 16:52 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
On na to ale chce skript. ;-)
28.11.2004 16:52 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
Jinak ještě takový dotaz proč to chceš porovnávat ?

Pokud tomu uživatelovi nepřijde žádná pošta tak tam ten soubor schránka nemusí být a vytvoří se až po příchodu pošty.
28.11.2004 16:56 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
Treba proto, ze chce uzivatel napsat postu v Muttu driv nez mu neco prijde, a Mutt rve ze tam mailbox neni.
Josef Kufner avatar 28.11.2004 22:02 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
No tak kazdemu posli mail "Hello dear user..." a mas to.
Hello world ! Segmentation fault (core dumped)
28.11.2004 16:55 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
Odpovědět | | Sbalit | Link | Blokovat | Admin

To, ze neumis otevrit passwd pomijim, jak chces napsat skript kdyz neumis otervrit soubor? Ale chtel se rict tohle: v passwd mas jako uzivatele taky polozky typu daemon, lp, apod. coz asi nechces. Lepsi bude spis

ls -1 /home/

Jak napsat skript (kdyz uz otevres soubor) se dozvis treba tady.

28.11.2004 21:46 Michal Kubeček
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
Na vypsání všech uživatelů bych použil

awk -F: '{ if ($3>=500 && $3<65000) print $1; }' /etc/passwd

Místo 500 a 65000 je potřeba dosadit hodnoty podle toho, v jakém rozsahu jsou "reální" uživatelé.

28.11.2004 17:10 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
Odpovědět | | Sbalit | Link | Blokovat | Admin

Loginy z /etc/passwd vypreparujete pomocí
cut -d: -f1 /etc/passwd | sort > /tmp/passwd.tmp

Obsah adresáře mail pomocí
ls /var/spool/mail > /tmp/mail.tmp

Nakonec oba soubory porovnáte diff /tmp/passwd.tmp /tmp/mail.tmp

(Nejsem si jistý, co je obsahem adresáře /var/spool/mail. Předpokládal jsem, že mailboxy pojmenované podle loginu.)

28.11.2004 19:26 Martin H.
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
Díky všem za rady. Te'd konečně potřebuji scriptovat a proč: protože po havárii serveru byl nově nainstalován, zkopírovány schránky a nyní potřebuji porovnat které schránky chybí a které naopak přebývají.

Samozřejmě vyjímky jsem schopen ošetřit, našel jsem jeden článek kdysi o scriptování v BASHi, ale otevření souboru a jeho postupné procházení a td tam není (pokud to jde).

V krajním případě to napíši v PHP ...

Díky.
28.11.2004 20:03 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Jednoduchý script na porovnání PASSWD a schránek
PHP je trosku silny kafe na tohle, otevreni + postupne prochazeni v bashi? No, to asi ne ale tohle by melo stacit:
cat soubor | while read radka; do
    ...delej neco s prectenou radkou ktera je v $radka...
done

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.