Introducción
Samba es una reimplementación gratuita y de código abierto del protocolo de intercambio de archivos de red SMB /CIFS que permite a los usuarios finales acceder a archivos, impresoras y otros recursos compartidos.
En este tutorial, mostraremos cómo instalar Samba en CentOS 7 y configurarlo como un servidor independiente para permitir el intercambio de archivos entre diferentes sistemas operativos en una red.
Crearemos los siguientes recursos compartidos de Sambe y de usuarios.
Usuarios:
- sadmin: un usuario administrativo con acceso de lectura y escritura a todos los recursos compartidos.
- alice: un usuario habitual con su propio recurso compartido de archivos privados.
Comparte:
- usuarios: este recurso compartido será accesible con permisos de lectura /escritura de todos los usuarios.
- alice: solo los usuarios de alice y sadmin podrán acceder a este recurso compartido con permisos de lectura /escritura.
Se podrá acceder a los recursos compartidos de archivos desde todos los dispositivos de la red. Más adelante en el tutorial, también proporcionaremos instrucciones detalladas sobre cómo conectarse al servidor Samba desde clientes Linux, Windows y macOS.
Prerrequisitos
Antes de comenzar, asegúrese de haber iniciado sesión en el sistema CentOS 7 como usuario con privilegios de sudo.
Si desea instalar Samba en un servidor remoto, continúe leyendo, de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar Samba en CentOS 7
Samba está disponible en los repositorios estándar de CentOS. Para instalarlo en su sistema CentOS, ejecute el siguiente comando:
sudo yum install samba samba-client
Una vez que se complete la instalación, inicie los servicios de Samba y habilite el inicio automático al iniciar el sistema:
sudo systemctl start smb.service
sudo systemctl start nmb.service
sudo systemctl enable smb.service
sudo systemctl enable nmb.service
El smbd
proporciona servicios de impresión y uso compartido de archivos y escucha en los puertos TCP 139 y 445. El nmbd
proporciona servicios de nombres NetBIOS sobre IP a los clientes y escucha en el puerto 137 UDP.
Configurar el firewall
Ahora que Samba está instalado y ejecutándose en su computadora CentOS, deberá configurar el firewall y abrir los puertos necesarios. Para hacer esto, ejecute los siguientes comandos:
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --zone=public --add-service=samba
Crear usuarios de Samba y estructura de directorios
Para facilitar el mantenimiento y la flexibilidad en lugar de utilizar directorios de inicio estándar ( /home/user
), todos los directorios y datos de Samba se colocarán en el directorio /samba
Empiece creando el directorio /samba
sudo mkdir /samba
Crea un nuevo grupo llamado sambashare
. Luego agregaremos todos los usuarios de Samba a este grupo.
sudo groupadd sambashare
Establezca la propiedad del grupo del /samba
en el grupo sambashare
sudo chgrp sambashare /samba
Samba utiliza un sistema de permisos de grupo y usuarios de Linux, pero tiene su propio mecanismo de autenticación separado de la autenticación estándar de Linux. Crearemos los usuarios usando el useradd
y luego estableceremos la contraseña del usuario con la utilidad smbpasswd
Como se mencionó en la introducción, crearemos un usuario regular que tendrá acceso a su recurso compartido de archivos privados y una cuenta administrativa con acceso de lectura y escritura a todos los recursos compartidos en el servidor Samba.
Crea el usuario de Samba
Para crear un nuevo usuario llamado alice
, use el siguiente comando:
sudo useradd -M -d /samba/alice -s /usr/sbin/nologin -G sambashare alice
useradd
opciones del comando useradd tienen los siguientes significados:
-M
: no crea el directorio de inicio del usuario. Crearemos manualmente este directorio.-d /samba/alice
: establece el directorio de inicio del usuario en/samba/alice
.-s /usr/sbin/nologin
: deshabilita el acceso al shell para este usuario.-G sambashare
: agrega el usuario al gruposambashare
Cree el directorio de inicio del usuario y establezca la propiedad del directorio para el alice
y el grupo sambashare
sudo mkdir /samba/alice
sudo chown alice:sambashare /samba/alice
El siguiente comando agregará el bit setgid al /samba/alice
para que los archivos recién creados en este directorio hereden el grupo del directorio principal. De esta forma, independientemente del usuario que cree un nuevo archivo, el archivo tendrá el propietario del grupo sambashare
Por ejemplo, si no establece los permisos de directorio en 2770
y el usuario sadmin
crea un nuevo archivo, el usuario alice
no podrá leer /escribir en este archivo.
sudo chmod 2770 /samba/alice
alice
la cuenta de usuario de Alice a la base de datos de Samba configurando la contraseña de usuario:
sudo smbpasswd -a alice
Se le pedirá que ingrese y confirme la contraseña del usuario.
New SMB password:
Retype new SMB password:
Added user alice.
Una vez que se establece la contraseña, habilite la cuenta de Samba escribiendo:
sudo smbpasswd -e alice
Enabled user alice.
Para crear otro usuario, repita el mismo procedimiento utilizado para crear el usuario de alice
A continuación, sadmin
un usuario y un grupo sadmin. Todos los miembros de este grupo tendrán permisos administrativos. Más tarde, si desea otorgar permisos administrativos a otro usuario, simplemente agregue ese usuario al grupo sadmin
Cree el usuario administrativo escribiendo:
sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin
El comando anterior también creará un sadmin
y agregará al usuario a los grupos sadmin
y sambashare
Establezca una contraseña y habilite al usuario:
sudo smbpasswd -a sadmin
sudo smbpasswd -e sadmin
Luego, cree el Users
sudo mkdir /samba/users
Conjunto propiedad directorio para sadmin
de usuario y sambashare
grupo:
sudo chown sadmin:sambashare /samba/users
Este directorio será accesible para todos los usuarios autenticados. El siguiente comando configura el acceso de escritura /lectura a los miembros del sambashare
en el /samba/users
:
sudo chmod 2770 /samba/users
Configurar recursos compartidos de Samba
Abra el archivo de configuración de Samba y agregue las secciones necesarias para su correcto funcionamiento.
En este tutorial usaremos el editor nano. Puede usar cualquier otro editor, como Vim, instalado por defecto en CentOS.
sudo yum install nano
Abra el siguiente archivo de configuración:
sudo nano /etc/samba/smb.conf
Agregue las siguientes secciones:
[users]
path = /samba/users
browseable = yes
read only = no
force create mode = 0660
force directory mode = 2770
valid users = @sambashare @sadmin
[alice]
path = /samba/alice
browseable = no
read only = no
force create mode = 0660
force directory mode = 2770
valid users = alice @sadmin
Las opciones tienen los siguientes significados:
[users]
y[alice]
: los nombres de los recursos compartidos que utilizará al iniciar sesión.path
: la ruta para compartir.browseable
: si el recurso compartido debe incluirse en la lista de recursos compartidos disponibles. Si lo configura comono
otros usuarios no podrán ver el recurso compartido.read only
: establezca si los usuarios especificados en lavalid users
pueden escribir en este recurso compartido.force create mode
: establezca permisos para los archivos recién creados en este recurso compartido.force directory mode
: establece los permisos para los directorios recién creados en este recurso compartido.valid users
: una lista de usuarios y grupos que pueden acceder al recurso compartido. Los grupos están precedidos por el símbolo@
Para obtener más información sobre las opciones disponibles, consulte la página de documentación del archivo de configuración de Samba.
Una vez hecho esto, reinicie los servicios de Samba con:
sudo systemctl restart smb.service
sudo systemctl restart nmb.service
En las siguientes secciones, le mostraremos cómo conectarse a un recurso compartido de Samba desde clientes de Linux, macOS y Windows.
Conéctese a un recurso compartido de Samba desde Linux
Los usuarios de Linux pueden acceder al recurso compartido de Samba desde la línea de comandos, utilizando el administrador de archivos o montando el recurso compartido de Samba.
Usando el cliente smbclient
smbclient
es una herramienta que le permite acceder a Samba desde la línea de comandos. El smbclient
no está preinstalado en la mayoría de las distribuciones de Linux, por lo que deberá instalarlo con el administrador de paquetes de distribución.
Para instalar smbclient
en Ubuntu y Debian, ejecute:
sudo apt install smbclient
Para instalar smbclient
en CentOS y Fedora, ejecute:
sudo yum install samba-client
La sintaxis para acceder a un recurso compartido de Samba es la siguiente:
mbclient //samba_hostname_or_server_ip/share_name -U username
Por ejemplo, para conectarse a un alice
compartido llamado alice en un servidor Samba con la dirección IP 192.168.222.222
alice
usuario de alice, debe ejecutar:
smbclient //192.168.222.222/alice -U alice
Se le pedirá que ingrese la contraseña del usuario.
Enter WORKGROUP\alice's password:
Después de ingresar la contraseña, será llevado a la interfaz de línea de comandos de Samba.
Try "help" to get a list of possible commands.
smb: \>
Monte la acción de Samba
Para montar un recurso compartido de Samba en Linux, primero debe instalar el paquete cifs-utils
En Ubuntu y Debian ejecute:
sudo apt install cifs-utils
Ejecutando CentOS y Fedora:
sudo yum install cifs-utils
Luego, crea un punto de montaje:
sudo mkdir /mnt/smbmount
Monte el recurso compartido con el siguiente comando:
sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount
Por ejemplo, para montar un alice
compartido llamado alice en un servidor Samba con la dirección IP 192.168.222.222
como usuario alice
en el punto de montaje /mnt/smbmount
, debe ejecutar:
sudo mount -t cifs -o username=alice //192.168.222.222/alice /mnt/smbmount
Se le pedirá que ingrese la contraseña del usuario.
Password for alice@//192.168.222.222/alice: ********
Usando la GUI
Archivo, el administrador de archivos predeterminado en Gnome tiene una opción incorporada para acceder a los recursos compartidos de Samba.
- Abra el archivo y haga clic en " Otras ubicaciones " en la barra lateral.
- En " Conectarse al servidor ", ingrese la dirección del recurso compartido de Samba en el siguiente formato
smb://samba_hostname_or_server_ip/sharename
. - Haga clic en " Conectar " y aparecerá la siguiente pantalla:
- Seleccione " Usuario registrado ", introduzca su nombre de usuario y contraseña de Samba y haga clic en " Conectar ".
- Se mostrarán los archivos del servidor Samba.
Conéctese a un recurso compartido de Samba desde macOS
En macOS, puede acceder a los recursos compartidos de Samba desde la línea de comandos o utilizando el buscador predeterminado del administrador de archivos de macOS. Los siguientes pasos le muestran cómo acceder al recurso compartido usando Finder.
- Abra " Finder ", seleccione "Ir" y haga clic en "Conectar a".
- En " Conectar a ", ingrese la dirección del recurso compartido de Samba en el siguiente formato
smb://samba_hostname_or_server_ip/sharename
. - Haga clic en " Conectar " y aparecerá la siguiente pantalla:
- Seleccione " Usuario registrado ", introduzca su nombre de usuario y contraseña de Samba y haga clic en " Conectar ".
- Se mostrarán los archivos del servidor Samba.
Conéctese a un recurso compartido de Samba desde Windows
Los usuarios de Windows también tienen la opción de conectarse al recurso compartido de Samba desde la línea de comandos y la GUI. Los siguientes pasos muestran cómo acceder al recurso compartido utilizando el Explorador de archivos de Windows.
- Abra el Explorador de archivos y, en el panel izquierdo, haga clic con el botón derecho en " Esta PC ".
- Seleccione " Elegir una ubicación de red personalizada ", luego haga clic en "Siguiente".
- En " Internet o dirección de red ", ingrese la dirección del recurso compartido de Samba en el siguiente formato
\\samba_hostname_or_server_ip\sharename
. - Haga clic en " Siguiente " y se le pedirá que ingrese sus credenciales de inicio de sesión como se muestra a continuación:
- En la siguiente ventana, puede escribir un nombre personalizado para la ruta de la red. El predeterminado se tomará del servidor Samba.
- Haga clic en " Siguiente " para pasar a la última pantalla del asistente de configuración de la conexión.
- Haga clic en " Finalizar " para ver los archivos en el servidor Samba.
Conclusión
En este tutorial, aprendió cómo instalar un servidor Samba en CentOS 7 y cómo crear diferentes tipos de usuarios y recursos compartidos. También le mostramos cómo conectarse al servidor Samba desde dispositivos Linux, macOS y Windows.