Ejecutó accidentalmente el comando
sudo chmod -R o+x /home
en mi Ubuntu 12.10.
¿Ahora qué debo hacer? ¿Eso es peligroso? No tengo una copia de seguridad de la partición, por lo que creo que este comando no es reversible. ¿Entonces debo reinstalar todo el sistema debido a este error?
Respuesta1
La mejor manera de solucionar este problema depende de los detalles de cómo está configurado su sistema. Afortunadamente, probablemente conozcas estos detalles.
En archivos, +x
significa que se pueden ejecutar como un programa. (En realidad, confiere el permiso paraintentar. Si no son archivos binarios ejecutables o archivos de script reales conuna línea de hashbang, esto seguirá fallando.)
En los directorios (es decir, carpetas), el+x
permisosignifica otra cosa. Los permisos ejecutables en una carpeta confieren la capacidad de ingresar a la carpeta y sus subcarpetas (aunque sus subcarpetas pueden no tener los permisos necesarios para esto) e intentar acceder a archivos dentro de la carpeta (los archivos pueden tener o no permisos que permitan esto para tener éxito).
Esto era o+x
. o
representaotro. Eso controla los permisos de los usuarios que no son propietarios del archivo o carpeta, y también de los que no son miembros del "propietario del grupo" del archivo o carpeta.
Si actualmente no utiliza permisos para compartir archivos con otros usuarios locales
Si un usuario (por ejemplo, usted) no necesita compartir archivos con otros usuarios, entonces es seguro quitarle permisos ejecutables.otro, siempre y cuando sólo lo hagasen todas partes dentro de tu carpeta de inicio. Tu carpeta de inicio es donde/home/username
username
se reemplaza con su nombre de usuario real. /home
no es en sí misma su carpeta de inicio, sino más bien la carpeta quecontienetodas las carpetas de inicio. Dado que /home
en realidad no es propiedad de ningún usuario humano de la computadora,es imperativo que los permisos ejecutables paraotrono ser eliminado de /home
sí mismo.
Entonces, puedes ejecutar:
cd ~
~
representa su carpeta de inicio. (El shell lo interpreta así, puedes escribir exactamente eso).
Entonces puedes ejecutar:
chmod -R o-x .* *
O si también desea evitar que otros cambien el directorio a su carpeta de inicio:
chmod -R o-x ~
Es intencional que no haya escrito sudo
. Aún eres propietario de los archivos en tu carpeta de inicio, por lo que no los necesitas sudo
, y dejarlos fuera ayudará a evitar cambiar los permisos en los archivos y carpetas incorrectos por accidente. (En particular, /home
es propiedad de root
, por lo que al omitir sudo
, se asegura de no cambiar accidentalmente los permisos /home
y dejar su sistema inutilizable).
Si ustedHacerUtilice actualmente permisos para compartir archivos con otros usuarios locales
Si tiene algunas carpetas que comparte con otros usuarios en la máquina (si las tiene, es casi seguro que sabe que las tiene), puede usar el método anterior y luego agregar manualmente permisos ejecutables en esas carpetas en particular. Pero si tiene demasiados para que esto sea práctico, entonces, especialmente si no le preocupa que otros usuarios accedan a cosas que no deberían, es posible que deseejustoquitar permisos ejecutables dearchivos, y no decarpetas.Después de hacer esto, puede quitar selectivamente permisos ejecutables de algunas carpetas, por supuesto.
Para quitar permisos ejecutables paraotrode todos losarchivosen la carpeta de inicio de su propio usuario, pero no en los directorios, ejecute:
find ~ -type f -exec chmod o-x \{\} \;
(Observarás que esto es similar a uno deLas sugerencias de SEngstrom. Verman find
para obtener información sobre cómo funciona esto.)
Respuesta2
Acaba de cambiar los permisos de todos los archivos de usuario a ejecutables (y directorios a buscables, que es el valor predeterminado) para todos los usuarios; probablemente no sea lo que desea, pero probablemente tampoco sea el fin del mundo, especialmente si es el único usuario en la máquina. .
Una cosa que podría hacer es crear find
directorios de documentos y desactivar ese indicador ejecutable para archivos normales si le molesta.
Si el sistema está nuevo, podría considerar reinstalarlo solo para dejarlo limpio y agradable :)