Guías

Cómo montar un directorio compartido de samba en el arranque

Cómo montar un directorio compartido de samba en el arranque

Samba es un conjunto de programas de interoperabilidad de código abierto y gratuito que nos permite compartir archivos e impresoras entre máquinas que ejecutan Linux o Windows. Una Samba Share es bastante fácil de configurar y se puede acceder fácilmente a los clientes, ya que la gran mayoría de los exploradores de archivos de Linux tienen soporte incorporado Samba. En ciertas situaciones, sin embargo, es posible que deseemos montar una acción samba en el arranque, al igual que un sistema de archivos normal en un punto de montaje específico.

En este tutorial vamos a ver cómo usar CIFS-Utils para montar un directorio compartido de samba en Linux.

En este tutorial aprenderás:

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Independiente de la distribución
Software CIFS-UTILS
Otro Una acción de samba accesible
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
$-Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

En el curso de este tutorial, asumiré que ya existe acciones de Samba y es accesible en la red local. Asumiré que la IP del servidor Samba es 192.168.0.39, y el nombre de Samba Share será shared_data. Configurar una compartir samba no es una tarea difícil, pero en caso de que necesite ayuda, puede echar un vistazo a este tutorial, y en poco tiempo debe estar listo. Aunque la mayoría de los administradores de archivos gráficos en Linux soportan Samba de forma predeterminada, y es fácil de acceder y marcar un directorio compartido, en algunos casos es posible el sistema de archivos local. Veamos cómo podemos hacerlo en pocos pasos fáciles.

Instalación de CIFS-Utils



El paquete CIFS-Utils, que está disponible en los repositorios de todas las distribuciones de Linux más utilizadas, contiene una serie de herramientas para administrar directorios compartidos a través de Samba, como si fueran sistemas de archivos Linux estándar. Para instalar el software en Fedora, todo lo que tenemos que hacer es ejecutar el siguiente comando:
$ sudo dnf install cifs-uTils

En Debian y sus muchos derivados como Ubuntu y Linux Mint, en cambio, la forma "moderna" de instalar paquetes es usar el contenedor APT que simplifica el uso de herramientas de nivel inferior como Apt-Get:

$ sudo apt install cifs-utils

Si Archlinux es nuestra distribución favorita, podemos realizar la instalación utilizando el Administrador de paquetes de Pacman. El paquete CIFS-Utils está disponible en el repositorio adicional:

$ sudo Pacman -Sy CIFS -UTILS

Una vez que el paquete CIFS-Utils está instalado en nuestro sistema, podemos usarlo para automongar el samba compartir en el arranque. Veamos como.

Paso 1 - Creación de un punto de montaje

Para poder montar la Samba Share en Boot, como lo primero que necesitamos para crear un punto de montaje en nuestro sistema de archivos local. En aras de este artículo crearemos y usaremos el /mnt/samba Directorio para este propósito. Para crear el directorio que podemos ejecutar:

$ sudo mkdir /mnt /samba

Nuestro punto de montaje ahora está listo. Lo que debemos hacer ahora es crear una entrada en el /etc/fstab Archivo para la compartir samba.

Paso 2 - Creación de una entrada /etc /fstab

En cualquier sistema de Linux, el /etc/fstab El archivo contiene las instrucciones necesarias para montar los sistemas de archivos en el arranque. Examinamos la sintaxis FSTAB en detalle en un artículo anterior, que puede echar un vistazo si no está familiarizado con ella. Dependiendo de cómo se establezca el lado del servidor, una compartir Samba puede protegerse con credenciales de nombre de usuario/contraseña, o accesible como usuario invitado. Las opciones de montaje que necesitamos usar en /etc /fstab dependen de este factor.

Creación de una entrada para una Samba Share protegida con contraseña

En la gran mayoría de los casos, las acciones de Samba están protegidas, y para acceder a ellos, se debe proporcionar un nombre de usuario y una contraseña. Dado que necesitamos automáticamente el samba compartir en el arranque, no queremos que esas credenciales se soliciten de manera interactiva. Hay dos formas en que proporcionamos credenciales sin interacción, una ligeramente más "segura" que la otra.

El primero, y menos seguro de los dos es especificar el nombre de usuario y la contraseña necesarios para acceder al samba compartir como valores de las opciones de montaje CIFS dedicadas directamente en el /etc/fstab archivo. Veamos un ejemplo. Así es como podría verse nuestra entrada FSTAB:

// 192.168.0.39/shared_data/mnt/samba cifs username = myUsername, contraseña = mypassword 0 0 0



En el primer campo de entrada, hacemos referencia al sistema de archivos que queremos montar. Normalmente, al tratar con sistemas de archivos estándar, los hacemos referencias utilizando su UUID, etiqueta o ruta. En este caso, sin embargo, necesitamos proporcionar la IP del servidor Samba junto con el nombre de Samba Share.

En el segundo campo de la entrada especificamos el punto de montaje para el sistema de archivos. El tercer campo, en su lugar, se usa para especificar el tipo de sistema de archivos: necesitamos usar "CIFS" como valor aquí.

El cuarto campo es donde especificamos opciones de montaje: aquí, como dijimos anteriormente, usamos el nombre de usuario y contraseña Opciones para aprobar nuestras credenciales de Samba Share. Esta forma de especificar las credenciales tiene sus defectos obvios, ya que todos en el sistema pueden leer el archivo. Incluso si el archivo tuviera permisos más estrictos, las opciones de montaje serían visibles en la salida del montar Comando, que, cuando se invoca sin opciones, devuelve una lista de los sistemas de archivos montados y las opciones de montaje asociadas.

Los últimos dos campos de la entrada FSTAB se utilizan para especificar si el sistema de archivos debe ser arrojado (valor booleano) y en qué orden se debe verificar el sistema de archivos (un valor de 0 deshabilita la verificación por completo).

La segunda opción y ligeramente más segura es almacenar las credenciales de samba para el directorio compartido en un archivo dedicado y luego usar su ruta como valor del credencial Opción de montaje. Por el bien de este tutorial, crearemos el archivo como /root/smbcredentials. Esto es lo que escribimos dentro de él:

user = mysambauser contraseña = mysambapassword

Después de guardar el archivo, podemos establecer sus permisos para que su propietario solo sea legible, que en este punto es el usuario raíz (esto podría ser superfluo, ya que en este caso el archivo está bajo el directorio /raíz, que de forma predeterminada es propiedad del usuario raíz y el grupo raíz, y tiene permisos establecidos en 550, por lo que solo la raíz puede acceder a él y enumerar su contenido). Con el archivo en su lugar, así es como cambiamos nuestra entrada FSTAB:

// 192.168.0.39/shared_data/mnt/samba cifs credenciales =/root/smbcredentials 0 0 0

Después de guardar la entrada en el archivo FSTAB, para verificar que la Samba Share sea Mounter sin ProblesM, simplemente podemos ejecutar:

$ sudo monte -a

Después de lanzar el comando anterior, la compartir samba debe montarse en/mnt/samba, Sin embargo, parece que solo podemos leer el contenido del directorio, y si intentamos crear, modificar o eliminar un archivo dentro de él como un usuario no privilegiado, recibimos un mensaje de error (incluso si el sistema de archivos "real" donde los archivos exportados no es compatible con los permisos de UNIX, como NTFS); Por que esto pasa? Si enumera el contenido del directorio y examina los permisos del directorio en sí, verá que son propiedad del usuario root! Esto sucede por el uid y aturdir Opciones de montaje CIFS.



El uid y aturdir Las opciones de montaje se utilizan para establecer, respectivamente, el UID y el GID de los archivos dentro del directorio compartido En el sistema de clientes Cuando el servidor Samba no proporciona información de propiedad. El valor predeterminado utilizado para estas opciones es 0, que, como sabemos, es el UID y el GID del usuario root. Cómo resolvemos este problema? Una solución es establecer el valor de estas opciones en el UID y el GID del usuario local que se le debe permitir escribir en la participación (se debe por sí solo que la escritura debe permitirse en la configuración de acciones en el servidor en primer lugar, con el solo lectura opción establecida en "no"). Suponiendo que el UID y el GID primario del usuario que se le debe permitir escribir en el directorio compartido es ambos 1000, escribiríamos:
// 192.168.0.39/shared_data/mnt/samba cifs credenciales =/root/smbcredentials, uid = 1000, gid = 1000 0 0

Otra solución es usar el noperm opción CIFS en su lugar. Cuando se usa esta opción, el cliente (por lo que nuestro sistema local) no realiza comprobaciones de permisos en la Samba Share (los permisos se aplican solo del lado del servidor). Esto resuelve el problema, pero tiene el inconveniente de potencialmente permitir Todos los usuarios en el sistema local para escribir en la compartir una vez que esté montado:

// 192.168.0.39/shared_data/mnt/samba cifs credenciales =/root/smbcredentials, noperm 0 0

Creando una entrada para una Samba Share permitida de invitados

En ciertos casos, el servidor samba se puede configurar para permitir el acceso de los invitados a una parte, esto se llama acceso anónimo. ¿Cómo podemos montar tal compartir en el arranque?? Antes de ver esto, debemos tomarnos el tiempo para decir que cuando se establece una compartir samba para permitir el acceso como usuarios no autenticados, es un buen hábito permitir solo el acceso a los que declarado en la documentación oficial de Samba. Dicha configuración se puede lograr configurando el solo invitado Opción para "sí" en la configuración de compartir: esto obligará a todos los usuarios a acceder a la cuenta compartida con la cuenta de invitado, que de manera predeterminada se asigna al usuario de UNIX "Nadie". Este es un ejemplo de una participación accesible para invitados como se informa en la documentación mencionada anteriormente:

[Shared_data] # Esta acción permite el # de acceso anónimo (invitado) sin autenticación! ruta =/srv/samba/data solo lectura = sin invitado OK = sí  Invitado solo = SÍ

Suponiendo que tenemos esta configuración en el servidor, y nuestro usuario en el cliente todavía está identificado por UID y GID 1000, nuestra línea FSTAB se convierte en:

// 192.168.0.39/shared_data/mnt/samba cifs uid = 1000, gid = 1000, invitado 0 0

Como puede notar, utilizamos una nueva opción: invitado. Cuando se usa esta opción, no se nos pedirá una contraseña de manera interactiva. Eso debería ser suficiente para montar una acción de samba accedida como usuario anónimo.

Conclusiones

En este tutorial vimos cómo montar un directorio compartido a través de samba en el arranque, al igual que era un sistema de archivos de Linux estándar. Para lograr nuestro objetivo, utilizamos el software proporcionado por el paquete CIFS-Utils y vimos cómo instalarlo en algunas de las distribuciones de Linux más utilizadas. En el tutorial, aprendimos cómo montar una credencial protegida como una acción de samba accesible para invitados, y discutimos algunas opciones de montaje CIFS.

Cómo reproducir el formato WMV en el códec de video de alias de Linux no disponible
Recientemente intenté abrir un archivo WMV (Microsoft ASF) usando VLC. VLC no pudo abrir la transmisión de video, así que intenté un par de reproducto...
Atajos de teclado de eclipse de Android
Se recomienda usar el Eclipse IDE como un entorno de desarrollo de aplicaciones de Android. Eclipse IDE integra bien un SDK de Android en......
Desarrollo web con Perl - CGI - Hello World Ejemplo
Las siguientes líneas describen un proceso más simple de comenzar con Perl y CGI en el sistema Linux en particular Debian Linux. Aunque lo siguiente.....