Tengo que hacer una auditoría sobre la eliminación de los privilegios de root para un servidor. Para minimizar el riesgo de que algo se rompa o vaya por el camino del dodo, quiero buscar todos los archivos / carpetas propiedad de root dentro de carpetas que no sean propiedad de root.
¿Hay alguna manera de encontrar y enumerar los archivos como:
> ls -la
drwxr-xr-x. 24 admin users 4096 Sep 27 12:53 . [non root folder]
dr-xr-xr-x. 28 root root 4096 Mar 15 2017 ..
drwxrwxr-x. 2 admin users 4096 Sep 27 13:00 bin
drwxr-xr-x. 6 root root 4096 Feb 9 2017 monit [root file/folder]
como
/bin/opt/monit
...
Gracias.
Respuestas:
1
Para cada directorio que no sea propiedad de root,
find
se ejecuta un separado que enumera los hijos directos de propiedad de root.2
Para cada archivo propiedad de root se ejecuta un shell separado que prueba si el directorio padre no es propiedad de root.
Los dos comandos tienen un rendimiento diferente. El primero crea un proceso hijo para cada directorio que no sea propiedad de root. El segundo comando crea dos procesos para cada archivo propiedad de root. Si espera relativamente pocos directorios de este tipo y muchos de esos archivos, use (1). Si espera muchos de esos directorios y pocos archivos, use (2) quizás.
En general, generalmente tiene más archivos que directorios, por lo que debe preferir (1).
fuente