• Publicidad

Cambiar permisos a ficheros y borrar carpeta

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cambiar permisos a ficheros y borrar carpeta

Notapor diegons92 » 2013-05-28 08:51 @410

Buenas, vengo aquí con una nueva duda (sí, soy un poco pesadete :lol: )

Veréis, en un archivo Perl tengo que cambiar los permisos de varios archivos, (en concreto el "passwd" y el "shadow"). El caso es que soy incapaz de cambiarles los permisos, he intentado con:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. chmod(0640,"/etc/passwd");
  2.         chmod(0640,"/etc/shadow");
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


También he probado con:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. system("chmod 640 '/etc/passwd'");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y también tengo otra duda:
No sé cómo puedo borrar una carpeta desde un Perl. He intentado con unlink y remove pero no se eliminan.

¿Alguna idea?

¡Gracias!
diegons92
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2013-05-26 14:56 @664

Publicidad

Re: Cambiar permisos a ficheros y borrar carpeta

Notapor explorer » 2013-05-28 10:20 @472

Para poder cambiar los permisos de un archivo que pertenece al root, debes ser root.

A mí sí que me deja cambiar los permisos:
Código: Seleccionar todo
# perl -E 'chmod(0660,"/etc/passwd");' ; ls -l /etc/passwd
-rw-rw---- 1 root root 2486 abr 30 12:48 /etc/passwd
pero para hacerlo, tengo que ser 'root'.

Para eliminar un directorio se usa rmdir().

Atención: el directorio debe estar vacío. Si no lo está, y lo que quieres es borrar ese directorio y todo lo que contiene, usa la función rmtree() del módulo File::Path.

Más información en perldoc -f rmdir

Y, por supuesto, para poder borrarlo, debes tener permisos para hacerlo, igual que antes.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cambiar permisos a ficheros y borrar carpeta

Notapor diegons92 » 2013-05-28 10:25 @475

Sí, sí soy 'root', y desde línea de comandos soy capaz de cambiarle los permisos pero no dentro de un script perl.
diegons92
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2013-05-26 14:56 @664

Re: Cambiar permisos a ficheros y borrar carpeta

Notapor explorer » 2013-05-28 12:37 @567

Entonces es que ese script no lo está ejecutando el usuario root.

¿No lo estará ejecutando el cron o el usuario web?

Prueba a ejecutarlo desde la línea de comandos siendo root.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 43 invitados

cron