Este tutorial explica la instalación de un servidor de archivos Samba en Debian 9 (Stretch) y cómo configurarlo para compartir archivos a través del protocolo SMB y cómo agregar usuarios. Samba está configurado como un servidor independiente, no como un controlador de dominio. En la configuración resultante, cada usuario tiene su propio directorio de inicio accesible a través del protocolo SMB y todos los usuarios tienen un directorio compartido con acceso de lectura/escritura.
1 nota preliminar
Aquí estoy usando un sistema Debian 9 con el nombre de host debian.example.com y la dirección IP 192.168.1.100. Usaré este sistema Debian mínimo como base para este tutorial:https://www.howtoforge.com/tutorial/debian-minimal-server/
Usaré el editor nano en este tutorial para editar archivos de configuración en el shell. Nano se puede instalar con el comando:
apt-get install nano
Si tiene un editor de shell favorito diferente, como joe o vi, utilícelo en su lugar.
Para que el servidor Linux sea accesible por nombre desde mi estación de trabajo de Windows, agregaré una línea al archivo de hosts en Windows. Ejecute este comando como usuario administrador en Windows para editar el archivo de hosts:
notepad C:\Windows\System32\drivers\etc\hosts
y agregue una línea como esta:
192.168.1.100 debian.example.com debian
al final del archivo. Reemplace la dirección IP con la IP del servidor y el nombre de host con el nombre de host que ha elegido para su servidor.
Renombrar usuario 'administrador', si existe
Mi servidor Debian 9 tiene un usuario llamado "administrador", este nombre de usuario puede causar problemas con Samba, así que lo renombraré como 'howtoforge' aquí. Siéntase libre de usar un nombre diferente para su usuario, el nombre no importa siempre y cuando no sea 'administrador'. Omita este paso cuando su sistema no tenga un usuario con el nombre 'administrador'.
usermod -l howtoforge -m -d /home/howtoforge administrator
groupmod -n howtoforge administrator
2 Instalando Samba
Conéctese a su servidor en el shell como usuario root e instale los paquetes de Samba:
apt-get -y install libcups2 samba samba-common cups
Mueva el archivo smb.conf actual a smb.conf.bak:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Y luego crea un nuevo archivo smb.conf:
nano /etc/samba/smb.conf
Con el siguiente contenido:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = debian
security = user
map to guest = bad user
dns proxy = no
Reemplazar GRUPO DE TRABAJO con el nombre del grupo de trabajo que se utiliza en sus clientes de Windows. Si no sabe el nombre del grupo de trabajo, ejecute este comando en el cliente de Windows para obtener el nombre del grupo de trabajo:
net config workstation
Luego cierre el archivo de configuración de Samba en el servidor y reinicie Samba:
systemctl restart smbd.service
3 Agregar recursos compartidos de Samba
Ahora agregaré un recurso compartido al que puedan acceder todos los usuarios.
Cree el directorio para compartir los archivos y cambie el grupo al grupo de usuarios:
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
mkdir -p /home/shares/anonymous
chown -R root:users /home/shares/anonymous/
chmod -R ug+rwx,o+rx-w /home/shares/anonymous/
Al final del archivo /etc/samba/smb.conf agregue las siguientes líneas:
nano /etc/samba/smb.conf
3.1 Compartir en grupo
Este es un recurso compartido al que pueden acceder y escribir todos los miembros de nuestro grupo de "usuarios". Agregue la siguiente configuración al final del archivo smb.conf.
[allusers] comment = All Users path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes
3.2 Directorios de inicio
Si desea que todos los usuarios puedan leer y escribir en sus directorios de inicio a través de Samba, agregue las siguientes líneas a /etc/samba/smb.conf (asegúrese de comentar o eliminar la sección [homes] existente):
[homes] comment = Home Directories browseable = no valid users = %S writable = yes create mask = 0700 directory mask = 0700
3.3 Compartir de forma anónima
¿Le gustaría tener un recurso compartido donde todos los usuarios de su red puedan escribir? Tenga cuidado, este recurso compartido está abierto a cualquier persona en la red, así que utilícelo solo en redes locales. Agregue un recurso compartido anónimo como este:
[anonymous] path = /home/shares/anonymous force group = users
create mask = 0660
directory mask = 0771
browsable =yes writable = yes guest ok = yes
Ahora reiniciamos Samba:
systemctl restart smbd.service
4 Agregar y administrar usuarios
En este ejemplo, agregaré un usuario llamado tom. Puede agregar tantos usuarios como necesite, de la misma manera, simplemente reemplace el nombre de usuario tom con el nombre de usuario deseado en los comandos.
useradd tom -m -G users
Establezca una contraseña para tom en la base de datos de usuarios del sistema Linux. Si el usuario tom no debe poder iniciar sesión en el sistema Linux, omita este paso.
passwd tom
-> Introduzca la contraseña del nuevo usuario.
Ahora agregue el usuario a la base de datos de usuarios de Samba:
smbpasswd -a tom
-> Introduzca la contraseña del nuevo usuario.
Ahora debería poder iniciar sesión desde su estación de trabajo de Windows con el explorador de archivos (la dirección es \\192.168.1.100 o \\192.168.1.100\tom para el directorio de inicio de tom) usando el nombre de usuario tom y la contraseña elegida y almacenar archivos en el Servidor Linux en el directorio de inicio de tom o en el directorio público compartido.
5 Accediendo a Samba desde Windows
Ahora puede acceder a los recursos compartidos de samba desde su escritorio de Windows. Abra el símbolo del sistema e ingrese "\\debian" para abrir un explorador de archivos:
Eso muestra los recursos compartidos de nuestro servidor samba.
6 Descarga de imagen de máquina virtual de este tutorial
Este tutorial está disponible como una imagen de máquina virtual lista para usar en formato ovf/ova que es compatible con VMWare y Virtualbox. La imagen de la máquina virtual utiliza los siguientes detalles de inicio de sesión:
Inicio de sesión SSH/Shell
Nombre de usuario: howtoforge
Contraseña:howtoforge
Nombre de usuario: root
Contraseña:howtoforge
Inicio de sesión de usuario de ejemplo de Samba
Nombre de usuario: tom
Contraseña:howtoforge
La IP de la VM es 192.168.1.100, se puede cambiar en el archivo /etc/network/interfaces. Cambie todas las contraseñas anteriores para proteger la máquina virtual.
7 Enlaces
- Samba:http://www.samba.org/
- Debian:http://www.debian.org/