Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Tengo un script el cual verifica sobre algunos archivos si el owner de éste es el usuario "root" y luego realiza una acción.
El problema que tengo es que si el archivo no existe me imprime "como acción NEGATIVA" pero no me dice cuál es su owner ya que no existe, me gustaría que en estos casos directamente no me imprima nada, ya que es erróneo.
Using perl Syntax Highlighting
- use Term::ANSIColor qw(:constants);
- my @archivos = ("/etc/passwd", "/etc/group", "/etc/hosts", "/etc/fstab", "/etc/mtab", "/etc/inittab", "/etc/exports", "/etc/profile", "/etc/inetd.conf", "/etc/crontab", "/etc/hosts.allow", "/etc/hosts.deny", "/etc/inetd.conf", "/etc/ld.so.conf", "/etc/modules", "/etc/motd", "/etc/profile", "/etc/securetty", "/etc/syslog.conf");
- foreach $varb (@archivos){
- $comando = (split " ",( qx(ls -l $varb ))[0] )[2];
- chomp $comando;
- if ( "$comando" eq "root" ){
- print BOLD, GREEN, "Positivo:", RESET . " El archivo $varb tiene como owner root\n";
- }
- else
- {
- print BOLD, RED, "Negativo:", RESET . " El archivo $varb tiene como owner $comando\n";
- }
- }
- }
- }
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Salida:
Using text Syntax Highlighting
Negativo El archivo /etc/inittab tiene como owner
Como ven, obtengo un resultado erróneo porque en verdad el archivo no existe. No sé cómo verificar si existe y luego comprobar quién es su owner.
Saludos.