Instalación y configuración de Samba en Ubuntu 18.04 #Parte2 #NivelMedio
Tabla de contenido:
- Prerrequisitos
- Instalando Samba en Ubuntu
- Configurar firewall
- Configuración de opciones globales de samba
- Creación de usuarios de Samba y estructura de directorios
- Crear usuarios de samba
- Configurar acciones de Samba
- Conexión a un recurso compartido Samba desde Linux
- Usando el cliente smbclient
- Montaje de la parte de Samba
- Usando GUI
- Conclusió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.
Este tutorial explica cómo instalar Samba en Ubuntu 18.04 y configurarlo como un servidor independiente para proporcionar el intercambio de archivos en diferentes sistemas operativos a través de una red.
Crearemos los siguientes recursos compartidos y usuarios de Samba.
Usuarios:
- sadmin: usuario administrativo con acceso de lectura y escritura a todos los recursos compartidos. josh: un usuario normal con su propio recurso compartido de archivos privado.
Comparte:
- Usuarios: todos los usuarios podrán acceder a este recurso compartido con permisos de lectura / escritura. josh: este recurso será accesible con permisos de lectura / escritura solo para los usuarios josh y sadmin.
Se podrá acceder a los archivos compartidos desde todos los dispositivos en su red. Más adelante en este tutorial, también proporcionaremos instrucciones detalladas sobre cómo conectarse al servidor Samba desde clientes Linux, Windows y macOS.
Prerrequisitos
Antes de continuar, asegúrese de haber iniciado sesión en su sistema Ubuntu 18.04 como un usuario con privilegios de sudo.
Instalando Samba en Ubuntu
Samba está disponible en los repositorios oficiales de Ubuntu. Para instalarlo en su sistema Ubuntu, siga los pasos a continuación:
-
Comience actualizando el índice de paquetes apt:
sudo apt update
Instale el paquete Samba con el siguiente comando:
sudo apt install samba
Una vez que se completa la instalación, el servicio Samba se iniciará automáticamente. Para verificar si el servidor Samba se está ejecutando, escriba:
sudo systemctl status smbd
El resultado debería verse como a continuación, lo que indica que el servicio Samba está activo y ejecutándose:
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…
En este punto, Samba se ha instalado y está listo para ser configurado.
Configurar firewall
Suponiendo que está utilizando
UFW
para administrar su firewall, puede abrir los puertos habilitando el perfil 'Samba':
Configuración de opciones globales de samba
Antes de realizar cambios en el archivo de configuración de Samba, cree una copia de seguridad para futuros propósitos de referencia:
sudo cp /etc/samba/smb.conf{,.backup}
El archivo de configuración predeterminado que se incluye con el paquete Samba está configurado para el servidor Samba independiente. Abra el archivo y asegúrese de que
server role
esté configurada como
standalone server
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…
Por defecto, Samba escucha en todas las interfaces. Si desea restringir el acceso al servidor Samba solo desde su red interna, elimine el comentario de las dos líneas siguientes y especifique las interfaces a las que se unirá:
/etc/samba/smb.conf
… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…
Una vez hecho esto, ejecute la utilidad
testparm
para verificar si hay errores en el archivo de configuración de Samba. Si no hay errores de sintaxis, verá
Loaded services file OK.
Finalmente, reinicie los servicios de Samba con:
sudo systemctl restart smbd
sudo systemctl restart nmbd
Creación de usuarios de Samba y estructura de directorios
Para facilitar el mantenimiento y la flexibilidad en lugar de utilizar los directorios de inicio estándar (
/home/user
), todos los directorios y datos de Samba se ubicarán en el directorio
/samba
.
Para crear el tipo de directorio
/samba
:
sudo mkdir /samba
Establezca la propiedad del grupo en
sambashare
. Este grupo se crea durante la instalación de Samba, luego agregaremos todos los usuarios de Samba a este grupo.
sudo chgrp sambashare /samba
Samba utiliza usuarios de Linux y un sistema de permisos de grupo, pero tiene su propio mecanismo de autenticación separado de la autenticación estándar de Linux. Crearemos los usuarios utilizando la herramienta estándar
useradd
Linux y luego configuraremos la contraseña de usuario con la utilidad
smbpasswd
.
Como mencionamos en la introducción, crearemos un usuario regular que tendrá acceso a su recurso compartido de archivos privado y una cuenta administrativa con acceso de lectura y escritura a todos los recursos compartidos en el servidor Samba.
Crear usuarios de samba
Para crear un nuevo usuario llamado
josh
use el siguiente comando:
sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh
Las opciones de
useradd
tienen los siguientes significados:
-
-M
-no cree el directorio de inicio del usuario. Crearemos manualmente este directorio.-d /samba/josh
: establece el directorio de inicio del usuario en/samba/josh
.-s /usr/sbin/nologin
: deshabilita el acceso de shell para este usuario.-G sambashare
: agrega el usuario al gruposambashare
.
Cree el directorio de inicio del usuario y establezca la propiedad del directorio en usuario
josh
y group
sambashare
:
sudo mkdir /samba/josh
sudo chown josh:sambashare /samba/josh
El siguiente comando agregará el bit setgid al directorio
/samba/josh
para que los archivos recién creados en este directorio hereden el grupo del directorio principal. De esta manera, no importa qué usuario cree un nuevo archivo, el archivo tendrá el propietario del grupo de
sambashare
. Por ejemplo, si no establece los permisos del directorio en
2770
y el usuario
sadmin
crea un nuevo archivo, el usuario
josh
no podrá leer / escribir en este archivo.
sudo chmod 2770 /samba/josh
Agregue la cuenta de usuario
josh
a la base de datos de Samba configurando la contraseña de usuario:
sudo smbpasswd -a josh
Se le pedirá que ingrese y confirme la contraseña del usuario.
New SMB password: Retype new SMB password: Added user josh.
Una vez que la contraseña está configurada para habilitar la ejecución de la cuenta Samba:
sudo smbpasswd -e josh
Enabled user josh.
Para crear otro usuario, repita el mismo proceso que al crear el usuario
josh
.
A continuación,
sadmin
un usuario y grupo
sadmin
. Todos los miembros de este grupo tendrán permisos administrativos. Más adelante, 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 grupo
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
A continuación, cree el directorio compartido de
Users
:
sudo mkdir /samba/users
Establezca la propiedad del directorio para el usuario
sadmin
y group
sambashare
:
sudo chown sadmin:sambashare /samba/users
Este directorio será accesible para todos los usuarios autenticados. El siguiente comando
chmod
proporciona acceso de escritura / lectura a los miembros del grupo
sambashare
en el directorio
/samba/users
:
Configurar acciones de Samba
Abra el archivo de configuración de Samba y agregue las secciones:
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin
Las opciones tienen los siguientes significados:
-
path
- La ruta al recurso compartido.browseable
: si elbrowseable
compartido debe figurar en la lista de recursos compartidos disponibles. Al configurarlo,no
otro usuario no podrá ver el recurso compartido.read only
: si los usuarios especificados en la lista devalid users
pueden escribir en este recurso compartido.force create mode
: establece los 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 a los que se les permite acceder al recurso compartido. Los grupos tienen el prefijo@
.
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 smbd
sudo systemctl restart nmbd
En las siguientes secciones, le mostraremos cómo conectarse a un recurso compartido Samba desde clientes Linux, macOS y Windows.
Conexión a un recurso compartido Samba desde Linux
Los usuarios de Linux pueden acceder al recurso compartido samba desde la línea de comandos, utilizando el administrador de archivos o montar el recurso compartido Samba.
Usando el cliente smbclient
smbclient
es una herramienta que le permite acceder a Samba desde la línea de comandos. El paquete
smbclient
no está preinstalado en la mayoría de las distribuciones de Linux, por lo que deberá instalarlo con su 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
josh
compartido llamado
josh
en un servidor Samba con la dirección IP
192.168.121.118
como usuario
josh
, ejecutaría:
smbclient //192.168.121.118/josh -U josh
Se le pedirá que ingrese la contraseña de usuario.
Enter WORKGROUP\josh's password:
Una vez que ingrese la contraseña, iniciará sesión en la interfaz de línea de comandos de Samba.
Try "help" to get a list of possible commands. smb: \>
Montaje de la parte de Samba
Para montar un recurso compartido Samba en Linux primero debe instalar el paquete
cifs-utils
.
En Ubuntu y Debian ejecute:
sudo apt install cifs-utils
En CentOS y Fedora ejecute:
sudo yum install cifs-utils
A continuación, cree un punto de montaje:
sudo mkdir /mnt/smbmount
Monta el recurso compartido usando el siguiente comando:
sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount
Por ejemplo, para montar un
josh
compartido llamado
josh
en un servidor Samba con la dirección IP
192.168.121.118
como usuario
josh
en el punto de montaje
/mnt/smbmount
que ejecutaría:
sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount
Se le pedirá que ingrese la contraseña de usuario.
Password for josh@//192.168.121.118/josh: ********
Usando GUI
Archivos, el administrador de archivos predeterminado en Gnome tiene una opción integrada para acceder a los recursos compartidos de Samba.
- Abra Archivos y haga clic en "Otras ubicaciones" en la barra lateral. En "Conectarse al servidor", ingrese la dirección del recurso compartido Samba en el siguiente formato
smb://samba_hostname_or_server_ip/sharename
Haga clic en "Conectar" y aparecerá la siguiente pantalla:
Conclusión
En este tutorial, ha aprendido cómo instalar el servidor Samba en Ubuntu 18.04 y crear diferentes tipos de usuarios compartidos. También le hemos mostrado cómo conectarse al servidor Samba desde dispositivos Linux, macOS y Windows.
samba ubuntuCómo instalar y configurar un servidor nfs en ubuntu 18.04

Network File System (NFS) es un protocolo de sistema de archivos distribuido que le permite compartir directorios remotos a través de una red. En este tutorial, veremos cómo configurar un servidor NFSv4 en Ubuntu 18.04.
Cómo instalar y configurar redis en ubuntu 18.04

Redis es un almacén de estructura de datos en memoria de código abierto. Se puede usar como intermediario de base de datos, caché y mensajes y admite varias estructuras de datos como cadenas, hashes, listas, conjuntos, etc. Este tutorial describe cómo instalar y configurar Redis en un servidor Ubuntu 18.04.
Cómo instalar y configurar samba en centos 7

En este tutorial mostraremos cómo instalar Samba en CentOS 7 y configurarlo como un servidor independiente para proporcionar el intercambio de archivos en diferentes sistemas operativos a través de una red.