Menú principal

problemas: chmod y php

Publicado por lugolu, Agosto 09, 2008, 17:16:14

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

lugolu

queriendo instalar apache, mysql, php y phpmyadmin en un momento quería cambiar los permisos de una carpeta en /var/www (para poder ver una página y editar sus archivos) y puse mal el comando
quise poner
chmod -R 777 ./
pero me comí el .
chmod -R 777 /
entonces empezó a cambiarme los permisos de varios archivos. ahí nomás cancelé.
harto de renegar con que no puedo abrir páginas usando un archivo index.php ((pero si le cambio el nombre anda bien me pide guardarlo o abri con en vez de abrirlo) reinicio.
cuando pongo la contraseña me sale un mensaje que dice algo como que el archivo $HOME/.... tiene que tener permiso 644 (o algo así) y que por ello no se podía hacer no sé qué.
le doy enter y sigue.
cuando me quiero conectar a internet mediante un script que está en el escritorio no me pide la contraseña y se cierra ahí nomás la consola.
el comando con el que me conecto es
sudo pppoe-stat
cuando lo escribo desde una consola me da un error de autenticación o algo así.

qué hago
(obvien comentarios algunos como pasate a windows o formatear)

y además la solución al tema de php
instalé un foro renombrando el index.php por index1.php, pero todos los enlaces apuntan a index, entonces tengo que modificar cada enlace cuando voy a querer abrirlo.
de todo un poco

cocochio

Cita de: lugolu en Agosto 09, 2008, 17:16:14
quise poner
chmod -R 777 ./
pero me comí el .
chmod -R 777 /

...

qué hago
(obvien comentarios algunos como pasate a windows o formatear)

Es que si ejecutaste ese comando como root me parece que la cagaste...
Capaz que para evitar confusiones lo mejor hubiese sido que el comando en el documento donde lo sacaste hubiese dicho chmod -R 777 .



Cita de: lugolu en Agosto 09, 2008, 17:16:14
cuando pongo la contraseña me sale un mensaje que dice algo como que el archivo $HOME/.... tiene que tener permiso 644 (o algo así) y que por ello no se podía hacer no sé qué.

Tendrías que editar a mano todos esos problemas, pero además podrías tener problemas de seguridad porque un montón de archivos tienen todos los permisos habilitados.
En el caso del error que nombrás lo podrías arreglar con chmod 644 $HOME/....

ZeiterZ

Cita de: lugolu en Agosto 09, 2008, 17:16:14
queriendo instalar apache, mysql, php y phpmyadmin en un momento quería cambiar los permisos de una carpeta en /var/www (para poder ver una página y editar sus archivos) y puse mal el comando
quise poner
chmod -R 777 ./
pero me comí el .
chmod -R 777 /
entonces empezó a cambiarme los permisos de varios archivos. ahí nomás cancelé.
harto de renegar con que no puedo abrir páginas usando un archivo index.php ((pero si le cambio el nombre anda bien me pide guardarlo o abri con en vez de abrirlo) reinicio.
cuando pongo la contraseña me sale un mensaje que dice algo como que el archivo $HOME/.... tiene que tener permiso 644 (o algo así) y que por ello no se podía hacer no sé qué.
le doy enter y sigue.
cuando me quiero conectar a internet mediante un script que está en el escritorio no me pide la contraseña y se cierra ahí nomás la consola.
el comando con el que me conecto es
sudo pppoe-stat
cuando lo escribo desde una consola me da un error de autenticación o algo así.

qué hago
(obvien comentarios algunos como pasate a windows o formatear)

y además la solución al tema de php
instalé un foro renombrando el index.php por index1.php, pero todos los enlaces apuntan a index, entonces tengo que modificar cada enlace cuando voy a querer abrirlo.

Son muchos problemas, más el cambio de permisos inadecuado que hiciste, tu sistema es imposible de arreglar vía foro (necesitaríamos 400 páginas y 2 vidas).

Además, se nota que no tienes mucha experiencia en el tema de Linux así que cualquier orden o acción avanzada de administración haría que termines copiándola o siguiéndola al pie de la letra sin personalizarla para tu Linux (que tampoco dices cuál es: Debian, Ubuntu, RedHat, Fedora, Mandriva, Suse, etc.).

Ante esta situación, lo mejor es que reinstales Linux en esa partición.

Notas:

- El tema de los permisos cambiados inadecuadamente tiene solución (sin reinstalar) pero es trabajosa
- El tema de los permisos de $HOME es trabajosa pero necesitas cierto manejo (y pericia) de la consola.
- El tema de que no abres los archivos index.php es porque hay que configurar a Apache (que tampoco aclaras, pero supongo) para que lo haga. Así que también tenía solución.

Saludos y suerte.

lugolu

#3
Cita de: ZeiterZ en Agosto 09, 2008, 19:04:21

Son muchos problemas, más el cambio de permisos inadecuado que hiciste, tu sistema es imposible de arreglar vía foro (necesitaríamos 400 páginas y 2 vidas).

Además, se nota que no tienes mucha experiencia en el tema de Linux así que cualquier orden o acción avanzada de administración haría que termines copiándola o siguiéndola al pie de la letra sin personalizarla para tu Linux (que tampoco dices cuál es: Debian, Ubuntu, RedHat, Fedora, Mandriva, Suse, etc.).

Ante esta situación, lo mejor es que reinstales Linux en esa partición.

Notas:

- El tema de los permisos cambiados inadecuadamente tiene solución (sin reinstalar) pero es trabajosa
- El tema de los permisos de $HOME es trabajosa pero necesitas cierto manejo (y pericia) de la consola.
- El tema de que no abres los archivos index.php es porque hay que configurar a Apache (que tampoco aclaras, pero supongo) para que lo haga. Así que también tenía solución.

Saludos y suerte.


no soy un novato, sé que estaba cambiado recursivamente los permisos dentro de una carpeta. sólo que no me tomó el .

es la 3ª vez que instalo apache (las anteriores en ubuntu 7.04 y 7.10) y ninguna de las anteriores me dió problemas como ésta con el tema de php..
lo del chmod lo hice para poder editar los archivos de la página. sino me los abría en sólo lectura.

puse al principio del post que todo sucedió por estar haciendo andar php, apache y mysql.

las otras veces que lo instalé lo hice desde sinaptyc igual que ahora y no tuve que configurar nada.
de todo un poco

lugolu

Cita de: cocochio en Agosto 09, 2008, 18:34:31

Cita de: lugolu en Agosto 09, 2008, 17:16:14
cuando pongo la contraseña me sale un mensaje que dice algo como que el archivo $HOME/.... tiene que tener permiso 644 (o algo así) y que por ello no se podía hacer no sé qué.

Tendrías que editar a mano todos esos problemas, pero además podrías tener problemas de seguridad porque un montón de archivos tienen todos los permisos habilitados.

En el caso del error que nombrás lo podrías arreglar con chmod 644 $HOME/....

qué clase de problemas de seguridad puedo tener?

lo de home es lo que estaba pensando hacer
de todo un poco

cocochio

Cita de: lugolu en Agosto 09, 2008, 20:14:44
Cita de: cocochio en Agosto 09, 2008, 18:34:31

Cita de: lugolu en Agosto 09, 2008, 17:16:14
cuando pongo la contraseña me sale un mensaje que dice algo como que el archivo $HOME/.... tiene que tener permiso 644 (o algo así) y que por ello no se podía hacer no sé qué.

Tendrías que editar a mano todos esos problemas, pero además podrías tener problemas de seguridad porque un montón de archivos tienen todos los permisos habilitados.

En el caso del error que nombrás lo podrías arreglar con chmod 644 $HOME/....

qué clase de problemas de seguridad puedo tener?

Y, en este momento cualquiera (incluyendo un script) puede hacer rm -rf / y te borra todo

lugolu

Cita de: cocochio en Agosto 09, 2008, 20:42:25
Cita de: lugolu en Agosto 09, 2008, 20:14:44

qué clase de problemas de seguridad puedo tener?

Y, en este momento cualquiera (incluyendo un script) puede hacer rm -rf / y te borra todo

apenas me di cuenta que había puesto / y no ./ hice Ctrl+c, no es que le aplicó los cambios a todo.

ahí probé lo que decías de hacer
chmod 644 $HOME/
pero cuando vuelvo a entrar me tira el mismo error
se ignora el archivo $HOME/.dmrc. no debería tener permisos para todos los usuarios, sino sólo para el actual. debería ser 644.
(algo así dice el error)
e inicia sesión
pero cuando quiero hacer cualquier cosa que lleve sudo adelante tira otro error:
sudo musr be suid
(o algo así) y no hace lo que está a continuación

me parece que no me va a quedar otra que instalarlo desde cero y prestar más atención la próxima vez
de todo un poco

lugolu

Cita de: lugolu en Agosto 09, 2008, 17:16:14

(obvien comentarios algunos como pasate a windows)


ésto fué porque lo copié de otro foro donde también posteé y nunca falta el que se hace el chistoso y te dice éso o que te pasa por usar linux
de todo un poco

cocochio

yo no dije chmod 644 $HOME/
puse ... como vos pusiste, queriendo decir "reemplace ... por lo que corresponda"

lugolu

Cita de: cocochio en Agosto 09, 2008, 21:06:31
yo no dije chmod 644 $HOME/
puse ... como vos pusiste, queriendo decir "reemplace ... por lo que corresponda"

no, puse el archivo que me tira el error (.dmrc)
de todo un poco

DAX

Cita de: lugolu en Agosto 09, 2008, 21:08:05
Cita de: cocochio en Agosto 09, 2008, 21:06:31
yo no dije chmod 644 $HOME/
puse ... como vos pusiste, queriendo decir "reemplace ... por lo que corresponda"

no, puse el archivo que me tira el error (.dmrc)
Proba hacer un "ls -l ./.dmrc" y ver que permisos tiene ahora.

luego, un chmod 644 .dmrc y ver si con eso soluciona el problema, aunque creo que este archivo tiene que tener permisos de lectura y escritura solo para el owner (chmod 600 .dmrc), como te dice el mensaje de error.

Respecto de php, intentá reinstalar php y fijate en el archivo de configuracion de apache si está activado, primero, yendo al directorio "/etc/apache2/mods-available" y ver si tenés los archivos "php5.conf" y "php5.load", luego, anda a "/etc/apache2/mods-enabled" y mirá si hay links simbólicos de esos archivos.

Si estos están bien, editá el archivo "apache2.conf" y busca la línea con la directiva "DirectoryIndex" y fijate si en la lista de archivos por defecto tenés "index.php", si no lo tenés, agregalo en esa lista. El orden en que estén declarados implica el orden en que apache los buscará para ejecutarlos, por ejemplo si tenés:

DirectoryIndex  index.html index.htm index.php

Apache primero buscará index.html, si existe lo ejecutará, si no existe, busca index.htm y así sucesivamente.

SaludOS/2

lugolu

Cita de: DAX en Agosto 09, 2008, 21:37:12
Cita de: lugolu en Agosto 09, 2008, 21:08:05
Cita de: cocochio en Agosto 09, 2008, 21:06:31
yo no dije chmod 644 $HOME/
puse ... como vos pusiste, queriendo decir "reemplace ... por lo que corresponda"

no, puse el archivo que me tira el error (.dmrc)
Proba hacer un "ls -l ./.dmrc" y ver que permisos tiene ahora.

luego, un chmod 644 .dmrc y ver si con eso soluciona el problema, aunque creo que este archivo tiene que tener permisos de lectura y escritura solo para el owner (chmod 600 .dmrc), como te dice el mensaje de error.

Respecto de php, intentá reinstalar php y fijate en el archivo de configuracion de apache si está activado, primero, yendo al directorio "/etc/apache2/mods-available" y ver si tenés los archivos "php5.conf" y "php5.load", luego, anda a "/etc/apache2/mods-enabled" y mirá si hay links simbólicos de esos archivos.

Si estos están bien, editá el archivo "apache2.conf" y busca la línea con la directiva "DirectoryIndex" y fijate si en la lista de archivos por defecto tenés "index.php", si no lo tenés, agregalo en esa lista. El orden en que estén declarados implica el orden en que apache los buscará para ejecutarlos, por ejemplo si tenés:

DirectoryIndex  index.html index.htm index.php

Apache primero buscará index.html, si existe lo ejecutará, si no existe, busca index.htm y así sucesivamente.

SaludOS/2

lo del chmod del archivo lo probé recién y cuando inicio de vuelta me tira el mismo error (poniéndole 644 como dice el mensaje)

lo de php es raro, porque si en vez de ser index.php es index1.php anda bien
nada más que tanto el foro (smf como éste) como phpmyadmin están hechos para funcionar con index.php como raíz de todo, por lo que todos los enlaces apuntan a ése archivo

pero me parece que voy a reinstalar todo por el riesgo que supone lo de permisos totales en partes del sistema que no deberían.
además que no me anda el comando sudo
de todo un poco

ZeiterZ

Bueno. Veamos.

podrías hacer:

find  /home/usuario -type d -exec  chmod 750 {} \;

eso pondrá los directorios dentro de tu Home a 750. Puedes poner también 700 o lo que gustes.

find /home/usuario  -type f -exec chmod 644 {} \;

eso pondrá los archivos a 644. También podrías usar 640 ó 600. Todo depende de tus necesidades.
A partir de allí todo error que aparezca puedes cambiar a mano el o los archivos que den error.

Precaución: Tratá de dar esos comandos sin privilegios (no root, no sudo)... por las dudas si en tu Home o en tu $HOME/Desktop hay enlaces a otros directorios.

Con respecto al 777 en /, te diría que cambies a mano por lo menos los directorios de /.
Un esquema usual es este:

drwxr-xr-x  24 root root 4,0K jul 15 10:31 ./
drwxr-xr-x  24 root root 4,0K jul 15 10:31 ../
drwxr-xr-x   2 root root 4,0K ago  9 13:09 bin/
drwxr-xr-x   3 root root 4,0K ago  7 11:54 boot/
lrwxrwxrwx   1 root root   11 abr  1 00:52 cdrom -> media/cdrom/
drwxr-xr-x  15 root root 3,9K ago  9 20:09 dev/
drwxr-xr-x 188 root root  12K ago  9 21:15 etc/
drwxr-xr-x   7 root root   77 may 16 13:23 home/
drwxr-xr-x   2 root root    6 ene 19  2008 initrd/
drwxr-xr-x  16 root root 8,0K ago  9 13:09 lib/
drwxr-xr-x   2 root root 4,0K ago  9 13:09 lib64/
drwx------   2 root root    6 ene 19  2008 lost+found/
drwxr-xr-x  15 root root 4,0K ago  2 15:22 media/
drwxr-xr-x   9 root root   82 jul  8 16:28 mnt/
drwxr-xr-x   4 root root   49 ago  7 11:09 opt/
dr-xr-xr-x 217 root root    0 jul 23 00:31 proc/
drwx-----  64 root root 4,0K ago  9 21:09 root/
drwxr-xr-x   2 root root 8,0K ago  9 13:09 sbin/
drwxr-xr-x   2 root root    6 mar  7  2007 selinux/
drwxr-xr-x   6 root root   59 may 31 14:16 srv/
drwxr-xr-x  11 root root    0 jul 23 00:31 sys/
drwxrwxrwt  29 root root 4,0K ago  9 21:24 tmp/
drwxr-xr-x  16 root root 4,0K jul  5 19:50 usr/
drwxr-xr-x  18 root root 4,0K feb 21 11:21 var/


Más allá de los cambios recursivos internos (que no sabemos hasta dónde llegó) por lo menos dará una mejor seguridad que la que tienes ahora.

Con respecto a index.php, fijate si tienes instalado libapache2-mod-php4 ó libapache2-mod-php5.

También asegurate de que los módulos de PHP estén habilitados:

man a2enmod

Saludos.


Nota:
Está movido este post  :jaja:
Ya postearon dos veces mientras escribía....

lugolu

con lo de hacerlo con sudo no hay problema porque no anda
cuando quiero ejecutar cualquier cosa con sudo, tira un error y no hace nada

y si no anda sudo no me puedo conectar a internet

y si no se puede conectar a internet desde linux me desheredan en mi casa
de todo un poco

ZeiterZ

¿Qué error te da sudo?

Tal vez el directorio /etc se vio afectado por el chmod 777...