Pregunta ¿Hay un comando que produce una diferencia de los permisos de los archivos de destino?


Tal como suena, estoy tratando de averiguar si hay un comando (estándar) que produzca una diferencia de los permisos entre dos archivos y / o árboles de directorios.

Lo ideal sería colocar un archivo de parche que pudiera usarse para cambiar los permisos para que coincida con el objetivo, aunque supongo que dado que los archivos de parches estándar son interpretados por ed, podría ser un formato diferente.


7
2018-06-20 22:37


origen




Respuestas:


Siempre se podría hacer algo como esto para obtener las diferencias.

diff -u <( cd path1 ; find . -printf "chown %U:%G %p; chmod %m %p \n" | sort ) \
        <( cd path2 ; find . -printf "chown %U:%G %p; chmod %m %p \n" | sort )

Entonces sería trivial piratear algo que realice los cambios requeridos.


4
2018-06-20 23:16



El problema entonces sería que la secuencia de comandos del parche tendría que estar en el sistema de destino. Todo podría incluirse en un solo script, pero las personas tienden a sentirse un poco inquietas por el hecho de que se les pida que ejecuten un ejecutable. - Catskul
Lo siento, pero no sé de qué estás hablando. ¿Qué quieres decir con sistema objetivo? Quizás necesite actualizar su pregunta con más detalles sobre lo que está haciendo. - Zoredache
Eventualmente, se debe aplicar un parche, y muchas veces está en otro sistema. Si se usan herramientas personalizadas, éstas deben pasarse al otro sistema para aplicar el parche de propiedad. Claramente no es un gran problema; pero menos óptimo que si hubiera una forma estándar de hacerlo. - Catskul