Si trabaja con diferentes sistemas operativos, es útil poder compartir archivos entre ellos. Este artículo explica cómo configurar el acceso a archivos entre Linux (Fedora 33) y Windows 10 usando Samba y mount.cifs.
Samba es la implementación de Linux del protocolo SMB/CIFS, que permite el acceso directo a carpetas e impresoras compartidas a través de una red. Mount.cifs es parte de la suite Samba y le permite montar el sistema de archivos CIFS bajo Linux.
Precaución :estas instrucciones son para compartir archivos dentro de su red local privada o en una red virtualizada solo de host entre una máquina host de Linux y un invitado de Windows virtualizado. No considere este artículo como una guía para su red corporativa, ya que no implementa las consideraciones de ciberseguridad necesarias.
Acceder a Linux desde Windows
Esta sección explica cómo acceder al directorio de inicio de Linux de un usuario desde el Explorador de archivos de Windows.
1. Instalar y configurar Samba
Comience en su sistema Linux instalando Samba:
dnf install samba
Samba es un demonio del sistema y su archivo de configuración se encuentra en /etc/samba/smb.conf
. Su configuración predeterminada debería funcionar. Si no, esta configuración mínima debería hacer el trabajo:
[global]
workgroup = SAMBA
server string = %h server (Samba %v)
invalid users = root
security = user
[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
Puede encontrar una descripción detallada de los parámetros en la sección smb.conf del sitio web del proyecto.
2. Modificar LinuxSE
Si su distribución de Linux está protegida por SELinux (como lo está Fedora), debe habilitar Samba para poder acceder al directorio de inicio del usuario:
setsebool -P samba_enable_home_dirs on
Verifique que el valor esté establecido escribiendo:
getsebool samba_enable_home_dirs
Su salida debería verse así:
3. Habilite su usuario
Samba usa un conjunto de usuarios y contraseñas que tienen permiso para conectarse. Agregue su usuario de Linux al conjunto escribiendo:
smbpasswd -a <your-user>
Se te solicitará una contraseña. Este es un completamente nuevo clave; no es la contraseña actual de su cuenta. Ingrese la contraseña que desea usar para iniciar sesión en Samba.
Para obtener una lista de tipos de usuarios permitidos:
pdbedit -L -v
Eliminar un usuario escribiendo:
smbpasswd -x <user-name>
4. Iniciar Samba
Debido a que Samba es un demonio del sistema, puede iniciarlo en Fedora con:
systemctl start smb
Esto inicia Samba para la sesión actual. Si desea que Samba se inicie automáticamente al iniciar el sistema, ingrese:
systemctl enable smb
En algunos sistemas, el demonio Samba está registrado como smbd
.
4. Configurar el cortafuegos
Por defecto, Samba está bloqueado por su firewall. Permita que Samba acceda a la red de forma permanente configurando el cortafuegos.
Puede hacerlo en la línea de comando con:
firewall-cmd --add-service=samba --permanent
O lo haces gráficamente con la herramienta de configuración del cortafuegos:
5. Accede a Samba desde Windows
En Windows, abra el Explorador de archivos. En la línea de dirección, escriba dos barras invertidas seguidas de la dirección de su máquina Linux (dirección IP o nombre de host):
Se le pedirá su información de inicio de sesión. Escriba la combinación de nombre de usuario y contraseña del paso 3. Ahora debería poder acceder a su directorio de inicio en su máquina Linux:
Acceder a Windows desde Linux
Los siguientes pasos explican cómo acceder a una carpeta compartida de Windows desde Linux. Para implementarlos, necesita derechos de administrador en su cuenta de usuario de Windows.
1. Habilitar el uso compartido de archivos
Abra el Centro de redes y recursos compartidos ya sea haciendo clic en
Botón de Windows > Configuración > Red e Internet
o haciendo clic con el botón derecho en el ícono del pequeño monitor en la parte inferior derecha de la barra de tareas:
En la ventana que se abre, busque la conexión que desea usar y anote su perfil. Usé Ethernet 3 , que está etiquetada como Red pública .
Precaución :Considere cambiar el perfil de conexión de su máquina local a Privado si su PC se conecta con frecuencia a redes públicas.
Recuerde su perfil de red y haga clic en Cambiar la configuración de uso compartido avanzado :
Seleccione el perfil que corresponda a su conexión y active descubrimiento de redes y compartir archivos e impresoras :
2. Definir una carpeta compartida
Abra el menú contextual haciendo clic derecho en la carpeta que desea compartir, vaya a Dar acceso a , y seleccione Personas específicas... :
Compruebe si su nombre de usuario actual está en la lista. Haz clic en Compartir para etiquetar esta carpeta como compartida:
Puede mostrar una lista de todas las carpetas compartidas ingresando \\localhost
en la línea de dirección del Explorador de archivos:
3. Monte la carpeta compartida en Linux
Vuelva a su sistema Linux, abra un shell de comandos y cree una nueva carpeta donde desee montar el recurso compartido de Windows:
mkdir ~/WindowsShare
El montaje de recursos compartidos de Windows se realiza con mount.cifs, que debe instalarse de forma predeterminada. Para montar su carpeta compartida temporalmente, use:
sudo mount.cifs //<address-of-windows-pc>/MySharedFolder ~/WindowsShare/ -o user=<Windows-user>,uid=$UID
En este comando:
<address-of-windows-pc>
es la información de la dirección de la PC con Windows (IP o nombre de host)<Windows-user>
es el usuario que puede acceder a la carpeta compartida (desde el paso 2)
Se le pedirá su contraseña de Windows. Introdúzcalo y podrá acceder a la carpeta compartida en Windows con su usuario habitual de Linux.
Para desmontar la carpeta compartida:
sudo umount ~/WindowsShare/
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
También puede montar una carpeta compartida de Windows al iniciar el sistema. Siga estos pasos para configurar su sistema en consecuencia.
Resumen
Esto muestra cómo establecer un acceso temporal a carpetas compartidas que debe renovarse después de cada arranque. Es relativamente fácil modificar esta configuración para acceso permanente. A menudo cambio de un sistema a otro, por lo que considero increíblemente práctico configurar el acceso directo a los archivos.