
Soy un principiante en Linux y ejecuté el siguiente comando mientras estaba en /root
:
find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \
Quería ejecutar eso en una carpeta específica, pero no noté que estaba en /root
.
¿Eso afectó a todos los archivos de la máquina?
Respuesta1
Dado que tiene permisos suficientes, los find
comandos cambiarán recursivamente los bits de permiso de todos los archivos 660
y de todos los directorios 770
comenzando desde el directorio donde se ejecuta.
Como estaba en el directorio de inicio de /root
( root
) y suponiendo que estaba ejecutando como root
y el propietario user:group
es root:root
, esto no debería ser un problema importante, excepto que algunos programas específicos pueden quejarse de algunos archivos o directorios específicos, como ssh
pueden quejarse de los permisos de /root/.ssh
directorio y /root/.ssh/authorized_keys
archivo al realizar la autenticación basada en claves, debe corregirlos manualmente.
Además, no ejecute a ciegas ningún comando que se encuentre en la naturaleza; primero debe preguntar qué hace el comando y luego ejecutarlo.
Respuesta2
Ese comando ubica todos los directorios dentro del directorio donde ejecutó el comando y modifica sus permisos. Luego hace lo mismo pero con archivos. En este caso, el comando cambia los permisos de los directorios para que usted tenga acceso completo pero otros usuarios no tendrán ningún acceso. Si usted es el único usuario del sistema, esto no debería importar. Luego, el comando cambia los permisos de los archivos dentro de /root para permitir solo acceso de lectura y escritura, pero no permitir la ejecución. Es posible que encuentre algunos problemas con la ejecución de programas y scripts, pero nada que tenga un impacto importante. Otros usuarios tampoco tendrán acceso a los archivos dentro de /root.
Si encuentra un script o programa que no puede ejecutar desde dentro, /root
simplemente puede ejecutar este comando en el archivo:
sudo chmod 775 filename
donde filename
se reemplaza con el nombre del archivo que está intentando ejecutar
Si hay otros usuarios del sistema y desea que todos puedan leer directorios y archivos, puede que valga la pena ejecutar el comando nuevamente pero cambiándolo ligeramente a:
find . -type d -exec chmod 775 {} \; && find . -type f -exec chmod 664 {} \;
Respuesta3
Ese primer punto después del comando es la raíz del árbol donde find
se busca. Entonces afectó los archivos de la carpeta en la que lo ejecutó y todo el árbol debajo de ella.