Article View: es.comp.os.linux.programacion
Article #6523Re: Ayuda con un Script en perl
From: Anxo
Date: Sat, 14 Jun 2003 11:17
Date: Sat, 14 Jun 2003 11:17
70 lines
3119 bytes
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-mailReferences:
<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