shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] /etc/passwd


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] /etc/passwd
Date: Tue, 22 Jan 2002 21:09:52 -0200 (BRST)

Julio Cezar Neves - DISB.O, @ 13:25:

> Vai sem teste, tá?
>
> #!/bin/sh
>
> trap "rm -f /tmp/$$ ; exit" 0 1 2 3 15
> cp /etc/passwd /tmp/passwd  # Copia de seguranca
>
> cat /etc/passwd |
> while read Linha
> do
>     if  [ -z `echo $Linha | cut -f7 -d:` ]
>     then
>         read Linha1
>         Linha="$Linha$Linha1"
>     fi
>     echo "$Linha1" >> /tmp/$$
> done
> mv -f /tmp/$$ /etc/passwd
>
> Qdo terminar verifique se o /etc/passwd está legal. Caso positivo:
> rm /tmp/passwd
> caso negativo
> mv -f /tmp/passwd /etc/passwd

Lá vai um jeito-sed, também sem teste, tá? ';)

sed '/^\([^:]*:\)\{6\}[^:]*$/d' /etc/passwd

/                   procurar...
^                   começo de linha
([^:]*:){6}         não-dois-pontos, 0 ou + vezes, seguido de dois
                    pontos, seis vezes
[^:]*               não-dois-pontos, 0 ou + vezes
$                   fim de linha
/d                  delete isso.

Ou seja, "procure por uma linha, contendo 6 dois pontos, contendo
qualquer coisa entre eles e nas extremidades", e delete isso.

Tudo que aparecer na tela tá errado. Aí é só arrumar.

> -----Mensagem original-----
> De: Fahrinha (Nautilus) [mailto:address@hidden]
>
> Será que alguém tem algum script que verifique o arquivo /etc/passwd linha
> por linha? Pois geralmente é preciso edita-lo e o editor pode quebrar a
> linha...
> Que ele verifique em cada linha...
>
> Exemplo de linha.
> hpstudio:x:409:100:administrador da homepage:/home/hpstudio:/usr/bin/ppp
> nt$:*:42:100:Conta da Maquina NT:/dev/null:/dev/null
>
> texto1:simbolo1:numero1:numero2:texto2:texto3:texto4

-- 
Eliphas

Anyone sending unsolicited bulk email (UBE, SPAM) to this address will
be charged a $25 handling fee plus a $5 network traffic fee per
started kilobyte. By extracting my address from this message or its
header, you agree to these terms.
Nevertheless, spammers trying to auto-extract addresses from this
message will definitely want to include address@hidden, address@hidden,
and address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]