🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #6523

Re: Ayuda con un Script en perl

#6523
From: Anxo
Date: Sat, 14 Jun 2003 11:17
70 lines
3119 bytes
forodejazz@yahoo.es (David Asorey �lvarez) wrote in message news:<1759581e.0306130031.366b76d5@posting.google.com>...
> anxo_anton@ya.com (Anxo) escribi�:
> 
> > Hola a todos.
> > 
> >        Tengo que hacer un programa en perl, pensado para el
> > administrador, que produzca la siguiente informaci�n sobre los
> > usuarios del sistema:
> > 
> > 	usuario     (UID)   directorio home     espacio    seguridad
> > 	-----------------------------------------------------------------
> > 	alberto     (464)   /home/alberto       845495K	
> > 	laura       (0)     /alumnos/laura      711K       UID=0
> > 	monitor     (462)   /home/monitor       882212K    PASSWD
> > 	
> > 
> > El apartado de seguridad estar� en blanco, salvo si se da alguno de
> > estos casos:
> > 
> >     * El user id es cero (mensaje: UID=0)
> >     * la informaci�n sobre password en /etc/passwd es "!" o "*"
> > (mensaje: PASSWD)
> > 
> > 
> > Bueno, yo he llegado a la conclusi�n de que tengo que abrir el fichero
> > /etc/passwd para leer la informaci�n de los usuarios que viene
> > contenida en �l, en lo que se refiere a nombre contrase�a y user id.
> > El caso es que no se si tengo que hacrlo en un array o como una
> > variable escalar
> 
> 
> En el grupo es.comp.os.linux.programacion es probable que te puedan
> echar una manita, no en es.comp.os.linux.misc.
> 
> Redirijo la respuesta a ecol.programacion
> 
> Una pista de todas formas:
> 
> open(FICHERO, "/etc/passwd");
> while(<FICHERO>) { # Leemos l�nea a l�nea el fichero
> 
>    # Partes en trozos la l�nea. La tienes en la variable $_
>    @campos = split(":", $_);
>    # Haces lo que quieras con cada trozo
>    
> }
> close(FICHERO);
> 
> > y en el apartado espacio tampoco se de donde sacar la
> > informaci�n, os agradecer�a que me orientaseis sobre como debo enfocar
> > el script
> 
> Dentro del while puedes llamar el comando "du" (disk usage):
> 
> open(FICHERO, "/etc/passwd");
> while(<FICHERO>) {
>    @campos = split(":", $_);
>    print `du -hs $campos[5]`;
> }
> close(FICHERO);
> 
> �Ya lo tienes casi todo hecho!  :-)
> 
> Un saludo.
> 
> David.

Gracias David! Un saludo.

Anxo.
Technical Details
Message-ID: <9d6dc190.0306140317.642395d7@posting.google.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail
References: <9d6dc190.0306121420.35038fc6@posting.google.com> <1759581e.0306130031.366b76d5@posting.google.com>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,13563a4d0465ab5b
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-06-14 04:17:51 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail
From: anxo_anton@ya.com (Anxo)
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Ayuda con un Script en perl
Date: 14 Jun 2003 04:17:51 -0700
Organization: http://groups.google.com/
Lines: 70
Message-ID: <9d6dc190.0306140317.642395d7@posting.google.com>
References: <9d6dc190.0306121420.35038fc6@posting.google.com> <1759581e.0306130031.366b76d5@posting.google.com>
NNTP-Posting-Host: 80.58.43.42
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1055589471 14325 127.0.0.1 (14 Jun 2003 11:17:51 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: 14 Jun 2003 11:17:51 GMT