Toda mi base de código se almacena en un repositorio de subversión que distribuyo entre mis servidores web Apache con equilibrio de carga, por lo que es fácil verificar código, ejecutar actualizaciones y obtener sin problemas mi código en desarrollo en producción.Evite que subversion modifique los permisos de archivos de Linux.
Uno de los inconvenientes que estoy seguro de que hay una solución fácil (aparte de ejecutar un script en cada finalización), es obtener los permisos de Linux establecidos (volver) en los archivos que se actualizan o eliminan con subversión . Nuestro equipo de seguridad lo ha establecido como Owner
y Group
en los archivos httpd.conf, y todos los directorios dentro de documentRoot
reciben permisos de 700, todos los archivos no ejecutables (por ejemplo, * .php, * .smarty, * .png) reciben permisos de Linux de 600, todos los archivos ejecutables reciben 700 (por ejemplo, * .sh, * .pl, * .py). Todos los archivos deben tener el propietario y el grupo establecidos en apache:apache
para que el servicio httpd los lea, ya que solo el propietario del archivo tiene acceso mediante los permisos.
Cada vez que ejecute un svn update
, o svn co
, a pesar de que los archivos no se pueden crear (es decir svn update
), me estoy encontrando que la propiedad de los archivos se está ajustado a la cuenta que ejecuta los comandos SVN, y muchas veces, los permisos de los archivos se establecen en algo distinto de lo que eran originalmente (es decir, un archivo .htm antes de que una actualización sea 600, pero después y svn update
, se establece en 755, o incluso 777).
¿Cuál es la forma más fácil de evitar los intentos de subversión de actualizar los permisos y la propiedad del archivo? ¿Hay algo que se pueda hacer dentro del cliente svn o en el servidor Linux para conservar los permisos del archivo original? Estoy ejecutando RHEL5 (y ahora 6 en algunas instancias seleccionadas).
+1 para llamar la atención sobre posibles consecuencias para .svn. Buena llamada. – pboin
Me mete en el mismo problema. Antes de usar el svnkit (un java svn), donde no tiene este comportamiento, puede mantener al dueño del archivo ... pero es muy lento ... lo que me hace cambiar a la versión original de svn. Me falta mucho esta "característica". – ceinmart
Esto no es exacto.Puede usar 'setgid' en los directorios para aplicar un grupo como propietario. Respondí con detalles aquí: http://stackoverflow.com/a/42800354/2578286 – Bell