¿Qué hace este comando "buscar"?

¿Qué hace este comando "buscar"?

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 findcomandos cambiarán recursivamente los bits de permiso de todos los archivos 660y de todos los directorios 770comenzando desde el directorio donde se ejecuta.

Como estaba en el directorio de inicio de /root( root) y suponiendo que estaba ejecutando como rooty el propietario user:groupes 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 sshpueden quejarse de los permisos de /root/.sshdirectorio y /root/.ssh/authorized_keysarchivo 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, /rootsimplemente puede ejecutar este comando en el archivo:

sudo chmod 775 filename

donde filenamese 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 findse busca. Entonces afectó los archivos de la carpeta en la que lo ejecutó y todo el árbol debajo de ella.

información relacionada