Introducción
En los sistemas operativos Linux y UNIX, es posible montar un recurso compartido de Windows en un punto particular del directorio local utilizando la opción cifs
del comando mount
Common Internet File System (CIFS) es un protocolo de intercambio de archivos de red. CIFS es una forma de SMB.
En este tutorial, explicaremos cómo montar recursos compartidos de Windows de forma manual y automática en sistemas Linux.
Instale los paquetes CIFS
Para montar un recurso compartido de Windows en un sistema Linux, primero debe instalar el paquete CIFS.
sudo apt update
sudo apt install cifs-utils
Para instalar paquetes CIFS en CentOS y Fedora:
sudo dnf install cifs-utils
El nombre del paquete puede diferir entre las distribuciones de Linux.
Montar un recurso compartido de Windows CIFS
Montar un recurso compartido de Windows remoto es similar a montar sistemas de archivos normales.
Primero, cree un directorio que actúe como un punto de montaje para el recurso compartido de Windows remoto:
sudo mkdir /mnt/win_share
Ejecute el siguiente comando como root o usuario con privilegios sudo para montar el recurso compartido:
sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share
Se le pedirá que ingrese su contraseña:
Password:
Si tiene éxito, no se produce ningún resultado.
Para verificar que el recurso compartido remoto de Windows se haya montado correctamente, use el comando mount
df -h
.
Una vez que se monta el recurso compartido, el punto de montaje se convierte en el directorio raíz del sistema de archivos montado. Puede trabajar con archivos remotos como si fueran archivos locales.
La contraseña también se puede ingresar directamente en la línea de comando:
sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share
Si el usuario está en el grupo de trabajo o dominio de Windows, puede configurarlo de la siguiente manera:
sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share
Para mayor seguridad, se recomienda que utilice un archivo de credenciales, que contiene un nombre de usuario, contraseña y dominio compartidos.
El archivo de credenciales /etc/win-credentials
tiene el siguiente formato:
username = user
password = password
domain = domain
Los usuarios no deben poder leer el archivo. Para establecer los permisos y la propiedad correctos, ejecute:
sudo chown root: /etc/win-credentials
sudo chmod 600 /etc/win-credentials
Para usar el archivo de credenciales, defínalo de la siguiente manera:
sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share
De forma predeterminada, el recurso compartido montado es propiedad de root y los permisos se establecen en 777.
Utilice la dir_mode
para establecer el permiso del directorio y la file_mode
para establecer el permiso del archivo:
sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share
La propiedad predeterminada del usuario y del grupo se puede cambiar con las opciones uid
y gid
sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share
Para configurar opciones adicionales, agréguelas como una lista separada por comas después de la opción -o
Para obtener una lista de todas las opciones de montaje, escriba man mount
en la terminal.
Montaje automático
Cuando el recurso compartido se monta manualmente con el mount
, no persiste después de un reinicio.
El /etc/fstab
contiene una lista de entradas que definen dónde y cómo se montará qué sistema de archivos al iniciar el sistema.
Para montar automáticamente un recurso compartido de Windows cuando se inicia el sistema Linux, defina el montaje en el /etc/fstab
. La línea debe incluir el nombre de host o la dirección IP de la PC con Windows, el nombre del recurso compartido y el punto de montaje en la computadora local.
Abra el /etc/fstab
con su editor de texto:
sudo nano /etc/fstab
Agregue la siguiente línea al archivo:
# <file system> <dir> <type> <options> <dump> <pass>
//WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755 0 0
Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
Ejecute el siguiente comando para montar el recurso compartido:
sudo mount /mnt/win_share
El mount
leerá el contenido de /etc/fstab
y montará el recurso compartido.
En el próximo reinicio del sistema, el recurso compartido de Windows se montará automáticamente.
Desmontar el recurso compartido de Windows
El umount
separa (desmonta) el sistema de archivos montado del árbol de directorios.
Para desconectar un recurso compartido de Windows montado, use el umount
seguido del directorio donde se montó o el recurso compartido remoto:
sudo umount /mnt/win_share
Si el montaje CIFS tiene una entrada en el fstab
, elimínela.
El umount
no podrá separar el recurso compartido cuando esté en uso. Para saber qué procesos están accediendo al recurso compartido de Windows, use el comando fuser
fuser -m MOUNT_POINT
Una vez que se han identificado los procesos, se pueden detener con el kill
y posteriormente desmontar el recurso compartido.
Si aún tiene problemas para --lazy
-l
opción -l (--lazy), que le permite desmontar un sistema de archivos ocupado tan pronto como ya no lo esté.
sudo umount -l MOUNT_POINT
Conclusión
En Linux, puede montar un cifs
mount
con la opción cifs.