Cambios extraños en los permisos al guardar un archivo en una partición Samba desde un editor de Windows

Cambios extraños en los permisos al guardar un archivo en una partición Samba desde un editor de Windows

Estoy tratando de descubrir por qué se muestra un comportamiento específico cuando los permisos cambian en un archivo que se guarda desde un editor de Windows en una partición Unix montada en SAMBA.

Situación:

  • Tenemos un archivo en Unix, con permisos 777:

    -rwxrwxrwx 1 testuser users 4859 Jan 23 15:09 fbparser.pl*

  • El directorio donde se encuentra el archivo se monta desde una PC con Windows 7, a través de Samba.

  • Abrimos el archivo para editarlo en los editores "Notepad++" o "Sublime".

  • Cuando el archivo se cambia y guarda, en el lado de Unix los permisos cambian a:

    -rw-rwxrwx 1 testuser users 4859 Jan 23 15:09 fbparser.pl*

Ahora, sospeché que puede que NO se deba al montaje de Samba, porque el mismo problemaNO ES¡Ocurre al abrir y guardar el archivo en el Bloc de notas normal de Windows!

Por lo tanto, mi pensamiento inicial fue que esto se debía a que los editores de programación mencionados anteriormente pueden estar configurados para, en lugar de simplemente guardar el archivo, cambiar el nombre del archivo original $orig_filename.baky luego guardar el nuevo contenido como un archivo NUEVO con el nombre de archivo original. Esto se basa en mi propia experiencia previa con el mismo problema usando el editor UltraEdit.

Sin embargo, si ese es el motivo de los cambios de permanente, no puedo explicar OTROS dos síntomas que observé:

  • En primer lugar, no se está creando ningún archivo de copia de seguridad.

  • En segundo lugar, al crear archivos NUEVOS (usando touch) en el mismo directorio en Unix Shell, los permisos para el nuevo archivo NO existen -rw-rwxrwxen absoluto.

  • En tercer lugar, si es importante, el número de inodo del archivo sigue siendo el mismo después de la edición.

¿Qué más podría ser el problema y qué pasos puedo seguir para investigarlo?

Mi propio problema con UltraEdit desapareció cuando le dije a UE que NO hiciera una copia de seguridad del archivo cambiando el nombre; sin embargo, Notepad++ no tiene esa opción.

Respuesta1

Encontré esta pregunta mientras intentaba resolver un problema muy similar. La solución en mi caso fue agregarlo map archive = noa la sección global de smb.conf.


El problema subyacente es la forma en que Samba asigna los permisos de Dos a Linux.

Parece que cuando Notepad++ guarda un archivo, está configurando/restableciendo el atributo "archivo" del archivo DOS. Por defecto, Samba usa esto para administrar el atributo de ejecución para los permisos de usuario en un archivo.

Entonces, si configuras el parámetro Samba:

map archive = no

El atributo no está asignado y los permisos de ejecución del usuario se conservan según lo que se establecieron anteriormente.

Respuesta2

Tuve la misma situación. Para mí, me ayudó a cambiar el parámetro de creación de máscara en el archivo smb.conf.

create mask = 0600 ->  create mask = 0700

información relacionada