Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Usando Samba - Permisos de Ficheros y Atributos en MS-DOS y Unix

Usando Samba - Permisos de Ficheros y Atributos en MS-DOS y Unix

 ****- (7 opiniones)
GNU Free Documentation License Tutorial de Robert Eckstein, David Collier-Brown, Peter Kelly - 20 de Febrero de 2006
Temas Relacionados: Unix
32. Permisos de Ficheros y Atributos en MS-DOS y Unix

DOS nunca fue diseñado para ser un sistema operativo multiusuario ni de red. Unix, por el contrario, fue diseñado con ese propósito desde el principio. Consecuentemente, existen inconsistencias y lagunas o huecos entre los dos sistemas de archivos que Samba no sólo es consciente, sino que también proporciona soluciones para ellos. Uno de los mayores obstáculos es cómo Unix y DOS manejan los permisos de archivos.

Echemos un vistazo a cómo asigna Unix los permisos. Todos los archivos Unix tienen bits de lectura, escritura y ejecución para tres clasificaciones de usuarios: propietario (owner), grupo (group), y resto de usuarios (world). Estos permisos son visibles a la izquierda de los archivos cuando se ejecuta un comando ls -al sobre un directorio Unix. Por ejemplo:

-rwxr--r-- 1 tom users 2014 Apr 13 14:11 access.conf
 

Windows, por el contrarioo, tiene cuatro bits principales que usa con cualquier tipo de fichero: sólo lectura (read-only), de sistema (system), oculto (hidden), y archivo (archive). Puedes ver estos bits haciendo doble click con el botón derecho del ratón sobre el fichero y seleccionando el elemento de menú 'Propiedades'. Deberías ver algo similar a lo que muestra la Figura 5.6.5.1.

Figure: Propiedades de Archivos DOS y Windows.

\includegraphics[ width=0.80\textwidth]{img/sam-0506.ps}

A continuación, la definición de cada uno de estos bits:

Read-only (Sólo Lectura)
Los contenidos del archivo pueden ser leídos por un usuario pero no pueden ser sobreescritos.
System (de Sistema)
Este archivo cumple un propósito muy específico, requerido por el sistema operativo.
Hidden (Oculto)
Este archivo ha sido marcado para hacerlo invisible al usuario, a menos que el sistema esté configurado para que aún así sea visible.
Archive (Archivo)
Este archivo ha sido modificado desde la última copia DOS que se hizo de él.
Advierte que no existe un bit específico para indicar si el archivo es o no ejecutable. Los sistemas de ficheros DOS y Windows NT identifican a los archivos ejecutables a través de las extensiones .EXE, .COM, .CMD, o .BAT.

Consecuentemente, no hay uso para ninguno de los tres bits de ejecutable de Unix que están presentes en un archivo que se encuentra en un recurso compartido a través de Samba. Los archivos DOS, sin embargo, tienen sus propios atributos que necesitan ser preservados cuando estos son almacenados en un entorno Unix: los bits de archivo (archive), sistema (system), y oculto (hidden). Samba puede preservar estos bits mediante la reutilización de los bits de permisos de ejecución del archivo en el lado Unix -si lo hemos configurado para que lo haga, claro-. Mapear estos bits, sin embargo, tiene un desafortunado 'efecto secundario': si un usuario Windows almacena un fichero en un recurso compartido por Samba, y tú lo ves desde el lado Unix con el comando ls -al, algunos de los bits de permisos de ejecución no significarán lo que crees que deberían significar.

Tres opciones en Samba deciden si los bits serán o no mapeados: map archive, map system , y map hidden. Estas opciones mapean los atributos archivo (archive), sistema (system), y oculto (hidden) contra los bits de permiso de ejecución del propietario (owner), grupo (group) y resto de usuarios (world) del archivo, respectivamente. Puedes añadir estas opciones al recurso [data], estableciendo cada uno de sus valores como sigue:

[data]
   path = /home/samba/data
   browseable = yes
   guest ok = yes
   writeable = yes
   map archive = yes
   map system = yes
   map hidden = yes
 

Tras esto, intenta crear un archivo en el recurso desde Unix -por ejemplo, hello.java- y cambia los permisos del fichero a 755. Con estas opciones activadasd, deberías poder chequear los permisos en la parte de Windows y verías que cada uno de los tres valores aparece marcado en la caja de diálogo de Propiedades del archivo. ¿Y qué pasa con el atributo de sólo lectura? Por defecto, Samba 2.0 establece esto cuando un archivo no tiene configurado el bit de permiso de escritura para el propietario en la parte Unix. En otras palabras, puedes configurar este bit cambiando los permisos del fichero a 555.

Deberíamos advertirte que el valor por defecto para la opción map archive es yes, mientras que las otras dos opciones tienen un valor por defecto de no. Esto es así porque muchos programas no trabajarían correctamente si el bit de archivo no se almacena correctamente para archivos DOS y Windows. Los atributos de sistema (system) y oculto (hidden), sin embargo, no son críticos para la operatividad de los programas, así que quedan a la discreción del administrador del sistema.

La figura 5.7. resume los bits de permisos de Unix e ilustra cómo mapea Samba estos bits a atributos DOS. Advierte que los bits de grupo y del resto de usuarios de lectura/escritura no se traducen directamente a atributos DOS, pero ellos todavía retienen sus definiciones originales Unix en el servidor Samba.

Figure: Cómo Samba y Unix ven los permisos de un archivo.

\includegraphics[ width=0.80\textwidth]{img/sam-0507.ps}

Creación de Máscaras

Samba tiene varias opciones para ayudarnos con la creación de máscaras. La crecación (o eliminación) de máscaras de archivos ayudan a definir los permisos que un archivo o directorio recibirá en el momento de ser creado. En Unix, esto significa que puedes controlar qué permisos no va a tener un archivo o directorio cuando este sea creado. Para archivos accesibles desde Windows, esto significa que puedes desactivar los atributos de sólo lectura, archivo, sistema y oculto de un archivo.

Por ejemplo, la opción create mask forzará que los permisos de un archivo creado por un cliente Windows sean, como mucho,744:

[data]
   path = /home/samba/data
   browseable = yes
   guest ok = yes
   writeable = yes
   create mask = 744
 

mientras que la opción directory mask que mostramos a continuación forzará los permisos de un recién creado directorio a, como mucho, 755:

[data]
   path = /home/samba/data
   browseable = yes
   guest ok = yes
   writeable = yes
   directory mask = 755
 

Alternativamente, también puedes forzar varios bits con las opciones force create mode y force directory mode. Estas opciones realizarán un 'OR lógico' contra las máscaras de creación de fichero y directorio, garantizando que estos bits especificados siempre serán establecidos. Podrías establecer estas opciones globalmente para asegurarte de que los permisos de grupo y resto de usuarios de lectura/escritura han sido establecidos apropiadamente para los nuevos archivos o directorios en cada recurso.

Siguiendo la misma filosofía, si quisieras explícitamente establecer los atributos de usuario y grupo de un fichero de Unix que se ha creado desde la parte Windows, puedes usar las opciones force user y force group. Por ejemplo:

[data]
   path = /home/samba/data
   browseable = yes
   guest ok = yes
   writeable = yes
   create mask = 744
   directory mask = 755
   force user = joe
   force group = accounting
 

Estas opciones actualmente asignan un usuario y grupo Unix estáticos a cada conexión que se realizae a un recurso compartido. Sin embargo, esto ocurre después de que el cliente haya realizado la autentificación; esto no permite acceso libre a un recurso. Estas opciones son frecuentemente usadas por sus capacidades de asignar un determinado usuario y gruop a cada nuevo fichero o directorio que es creado en un recurso. Usa estas opciones con discreción.

Finalmente, una de las capacidades de Unix que DOS no tiene es la habilidad de eliminar un fichero de sólo lectura desde un directorio con permisos de escritura. En Unix, si un directorio es escribible, un fichero de sólo lectura en ese directorio aún puede ser eliminado. Esto te permitiría eliminar ficheros en cualquiera de tus directorios, aunque el archivo hubiera sido depositado por algún otro usuario.

Los sistemas de archivos DOS no están diseñados para múltiples usuarios, y por eso sus diseñadores decidieron que 'sólo lectura' significa 'proteger contra cambios accidentales, incluyendo la eliminación', más que 'proteger contra algún otro usuario en una máquina de un usuario'. Así que los diseñadores del DOS prohibieron la eliminación de un fichero de sólo lectura. Aún hoy día, los sistemas de archivos Windows exhiben la esta característica.

Normalmente, esto no es un problema. Los programas Windows no intentarán eliminar ficheros de sólo lectura porque ellos saben que esa es una mala idea. Sin embargo, un número de programas de control de código fuente -que primero fueron escritos para Unix- funcionan en Windows y requieren la habilidad de eliminar ficheros de sólo lectura. Samba permite esta característica con la opción delete readonly. Para activar esta funcionalidad, establece la opción a yes:

[data]
   path = /home/samba/data
   browseable = yes
   guest ok = yes
   writeable = yes
   create mask = 744
   directory mask = 755
   force user = joe
   force group = accounting
   delete readonly = yes
 

 

Opciones de Permisos de Ficheros y Directorios

Las opciones de permisos de ficheros y directorios están resumidas en la Tabla 5.5; cada opción se decribe en detalle.


Table: Opciones de Permisos de Ficheros y Directorios.

Table: Opciones de Permisos de Ficheros y Directorios.
Opción Parámetros Función Defecto Ambito
map archive booleano Preserva el atributo DOS de "archivo" en bit de permiso de ejecución de usuario (0100). yes Recurso
map system booleano Preserva el atributo DOS de "sistema" en bit de permiso de ejecución de grupo (0010). no Recurso
map hidden booleano Preserva el atributo DOS de "oculto" en bit de permiso de ejecución de resto de usuarios(0001). no Recurso
create mask (create mode) numerico Establece el máximo nivel de permisos para los archivos creados por Samba. 0744 Recurso
directory mask (directory mode) numerico Establece el máximo nivel de permisos para los directorio creados por Samba. 0755 Recurso
force create mode numerico Fuerza permisos específicos para archivos creados por Samba. 0000 Recurso
force directory mode numerico Fuerza permisos específicos para directorios creados por Samba. 0000 Recurso
force group (group) string (nombre grupo) Establece el grupo efectivo para un usuario accediendo a ese recurso. Ninguno Recurso
force user string (nombre usuario) Establece el nombre de usuario efectivo para el usuario que accede al recurso. Ninguno Recurso
delete readonly booleano Permite a un usuario eliminar un fichero de sólo lectura desde un directorio con permisos de escritura. no Recurso
create mask

El argumento para ésta opción es un número octal indicando qué nivel de permisos pueden ser establecidos por un cliente en la creación de archivos en un recurso. El valor por defecto es 0755, lo que significa que el propietario Unix puede leer, escribir y opcionalmente ejecutar esos ficheros, mientras que los miembros del grupo al que pertenece y los otros sólo podrán leer o ejecutar los archivos. Si necesitas cambiarlo a archivos no ejecutables, recomendamos 0644, o rw-r-r-. Recuerda que los bits de permisos de ejecución pueden ser usados por el servidor para mapear determinados atributos de archivos del DOS, como ya vimos antes. Si estás cambiando la máscara de creación, estos bits tienen que ser parte de la máscara también.

directory mask

El argumento para esta opción es un valor octal, indicando qué permisos pueden asignarse a la creación de directorios por parte de un usuario en un recurso. El valor por defecto es 0755, lo cual a cualquiera de la parte Unix leer y recorrer los directorios, pero sólo te permite modificarlos a ti (al propietario). Recomendamos la máscara 0750, eliminando la posibilidad de acceso al resto de usuarios (que no son tú, y que tampoco pertenecen a tu grupo).

force create mode

Esta opción establece los bits de permisos que Samba forzará a ser establecidos cuando se realice un cambio de permisos en un archivo. Esto se usa frecuentemente para forzar permisos de grupo, ya mencionados antes. También pueden ser usados para preestablecer cualquiera de los atributos DOS que ya comentamos: archivo (0100), sistema (0010), u oculto (0001). Esta opción siempre toma efecto tras las opciones map archive, map system , map hidden, y create mask.

Muchas aplicaciones Windows renombran sus archivos de datos a fichero_de_datos.bak y crean otros nuevos, cambiando al propietario del mismo y sus permisos para que los miembros del mismo grupo Unix no puedan editarlos. Establecer force create mask=0660 mantendrá el nuevo fichero editable para los miembros del grupo.

force directory mode

Esta opción establece los bits de permisos que Samba forzará cuando un sea realizado un cambio de permisos en un directorio, o cuando un directorio sea creado. Esto es usado frecuentemente para forzar permisos de grupo, como mencionamos antes. Esta opción se pone por defecto a 0000, y puede ser usado igual que con force create mode para añadir permisos de grupo o de otro tipo, si se necesitan. Esta opción siempre toma efecto tras las opciones map archive, map system, map hidden, y directory mask.

force group

Esta opción, a veces llamada group, asigna un ID estático de grupo que será usado en todas las conexiones para un servicio, una vez que el cliente se haya autentificado. Esto asigna un grupo específico a cada nuevo archivo o directorio creado desde un cliente SMB.  

force user

La opción force user asigna un ID estático de usuario que será usado en todas las conexiones a un servicio, una vez que el cliente se haya autentificado. Esto asigna un usuario específico a cada nuevo archivo o directorio creado desde un cliente SMB.

delete readonly

Esta opción permite a un usuario eliminar un directorio conteniendo un archivo de sólo lectura. Por defecto , DOS y Windows no permitirán esta operación. Probablemente querrás dejar esta opción desactivada, a menos que alguno de tus programas necesite esta capacidad; muchos usuarios Windows podrían encontrarse con la desagradable sorpresa de que ellos han eliminado accidentalmente un archivo de sólo lectura. De hecho, incluso el comando Unix rm preguntará a los usuarios si realmente desean eliminar un archivo de sólo lectura. Es buena idea dejar a Samba que sea cauto.

map archive

El bit de archivo de DOS es usado para marcar a un fichero que ha sido cambiado desde la última vez que se archivó (p.ej., salvado con el programa DOS ms-backup). Establecer la opción de Samba map archive = yes provoca que el flag de archivo de DOS sea mapeado al bit de 'ejecutable por el propietario' (0100). Es mejor dejar esta opción activada si tus usuarios Windows están haciendo sus propias copias de seguridad, o bien están usando programas que requieren el bit de archivo. Unix ignora la noción de un bit de archivo totalmente. Los programas de backup normalmente mantienen un fichero que lista todos los archivos que han sido salvados y en qué fecha, y así el comparar las fechas de modificación de archivos sirve al mismo propósito.

Establecer esta opción a yes provoca una sorpresa ocasional en Unix cuando un usuario vea que un fichero de datos está marcado como ejecutable, pero raramente causará daño. Si un usuario intentase ejecutarlo, normalmente recibiría una serie de mensajes de error a medida que el shell intentase ejecutar las primeras líneas del archivo como si fueran comandos. El caso contrario también es posible; un programa ejecutable Unix aparecería como que no ha sido salvado recientemente en Windows. Pero de nuevo, esto sería raro, y normalmente inofensivo.

map system

El atributo DOS 'de sistema' es usado para indicar que son ficheros requeridos por el sistema operativo, y no deberían ser eliminados, renombrados o movidos de su ubicación original. Establece esta opción sólo si necesitas almacenar archivos de sistema de Windows en el servidor Unix. Los programas ejecutables de Unix parecerán ser ficheros especiales y no-removibles de Windows cuando sean vistos por los clientes Windows. Esto puede proporcionarte algún inconveniente si quieres mover o eliminar alguno de ellos. Para la mayoría de los sitios, sin embargo, esto es inofensivo.

map hidden

DOS usa el atributo 'oculto' para indicar que un archivo no debería ser normalmente visible en los listados de archivos. Unix no tiene este atributo; Normalmente, no tendrás ficheros DOS que necesiten ser ocultados, así que lo mejor que puedes hacer es dejar esta opción desactivada.

Establecer ésta opción a yes causaría que el servidor mapearía el atributo 'oculto' en el bit de permiso de ejecución de 'el resto de usuarios' (0001). Esta característica puede producir un efecto sorprendente. Cualquier programa Unix que sea ejecutable por todos los usuarios parecería desaparecer cuando lo buscases desde un cliente Windows. Si esta opción no se establece, sin emabrgo, y un usuario Windows intentase marcar un fichero oculto en un recurso Samba, no podría hacerlo, porque ¡¡Samba no tiene sitio para almacenar el atributo 'oculto'!!



...5.1
El checkbox de sistema estará probablemente inhabilitado para tu archivo. No te preocupes por ello -todavía deberías poder ver cuándo la caja está marcada y cuándo no-. Figura 5.6: Propiedades de Archivos DOS y Windows.
 
Tabla de contenidos
  1. 1 - Aprendiendo Samba
  2. 2 - ¿Qué es Samba?
  3. 3 - ¿Qué puede hacer Samba por mí?
  4. 4 - Familiarizandonos con una Red SMB/CIFS
  5. 5 - Implementaciones de Microsoft
  6. 6 - Un Vistazo a la Distribución Samba
  7. 7 - ¿Cómo puedo Obtener Samba?
  8. 8 - Instalando Samba en un Sistema Unix
  9. 9 - Descargando la Distribución
  10. 10 - Configurando Samba
  11. 11 - Compillando e Instalando Samba
  12. 12 - Un Fichero de Configuración Basico
  13. 13 - Iniciando los Demonios de Samba
  14. 14 - Testeando los Demonios Samba
  15. 15 - Configurando los Clientes Windows
  16. 16 - Configurando Computadoras Windows 95/98 (I)
  17. 17 - Configurando Computadoras Windows 95/98 (II)
  18. 18 - Una Introducción a SMB/CIFS (I)
  19. 19 - Una Introducción a SMB/CIFS (II)
  20. 20 - Compartición de Unidades de Disco
  21. 21 - Aprendiendo a usar el Fichero de Configuración de Samba
  22. 22 - Secciones Especiales
  23. 23 - Opciones del Ficheros de Configuración
  24. 24 - Configuración del Servidor
  25. 25 - Configuración de la Compartición de Disco
  26. 26 - Opciones de Red con Samba
  27. 27 - Servidores Virtuales
  28. 28 - Opciones de Ficheros de Registro
  29. 29 - Visualización (Browsing) y Compartición Avanzada de Discos
  1. 30 - Visualización, Navegación o 'Browsing'
  2. 31 - Diferencias entre Sistemas de Ficheros
  3. 32 - Permisos de Ficheros y Atributos en MS-DOS y Unix
  4. 33 - Planchado de Nombres (Name Mangling) y Tipo
  5. 34 - Bloqueos y Opciones de Bloqueos
  6. 35 - Usuarios, Seguridad y Dominios
  7. 36 - Usuarios y Grupos
  8. 37 - Controlando el acceso a los recursos compartidos
  9. 38 - Seguridad y autenticación
  10. 39 - Contraseñas
  11. 40 - Sincronización de las Contraseñas
  12. 41 - Dominios Windows
  13. 42 - Scripts de Entrada
  14. 43 - Impresión y Resolución de Nombres
  15. 44 - Enviando tareas de impresión a SAMBA
  16. 45 - Impresión sobre Impresoras de Cliente Windows
  17. 46 - Resolución de Nombres con Samba
  18. 47 - Informacion adicional sobre Samba
  19. 48 - Magic Scripts (Scripts Magicos)
  20. 49 - Internationalización
  21. 50 - Mensajes Emergentes
  22. 51 - Opciones Añadidas Recientemente
  23. 52 - Otras Opciones
  24. 53 - Copias de Seguridad (Backups) con smbtar
  25. 54 - Resolviendo Problemas con Samba
  26. 55 - La Caja de Herramientas
  27. 56 - El Arbol de Errores
  28. 57 - Recursos Extra
  29. 58 - Bibliography
Autor y licencia de 'Usando Samba - Permisos de Ficheros y Atributos en MS-DOS y Unix'
Robert Eckstein, David Collier-Brown, Peter Kelly Extraído de: http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/node1.html GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Usando Samba - Permisos de Ficheros y Atributos en MS-DOS y Unix'

¿Para qué sirven instrucciones como Format, Dir, etc., en Ms-Dos?
Es muy fácil crear archivos en el sistema operativo UNIX. Por lo tanto, los usuarios... Más »
A lo largo de este trabajo se va a intentar hacer un repaso de los... Más »
El Sistema Operativo más difundido con diferencia es MS-DOS, este al estar diseñado para 16... Más »
Ken Thompson y Dennis Ritchie decidieron esbozar un sistema operativo que supliera las necesidades de... Más »
¿Estás seguro de que deseas eliminar este capítulo?