Configurar Un Servidor Samba en Debian
Configurar Un Servidor Samba en Debian
Configurar Un Servidor Samba en Debian
el update y el dist-upgrade es para asegurarnos de tener el sistema actualizado al da de hoy, lo que es muy importante ya que constantemente hay correcciones de bugs y parches de seguridad para mantener nuestro debian seguro y lo mas estable posible. Por ltimo, al haber realizado las dos operaciones anteriores, la orden install del aptitude nos instalar las ltimas versiones estables y seguras de samba y sus utilidades. Configuracin del entorno: Ahora debemos crear el usuario que podr compartir archivos en la red windows, nuevamente como usuario root digitamos en una consola:
adduser enenias passwd enenias smbpasswd -a enenias mkdir /home/enenias/samba chown enenias /home/enenias/samba
la orden adduser crea un usuario llamado enenias en nuestro sistema, la orden passwd enenias le asigna una contrasea de acceso al sistema a dicho usuario, smbpasswd le asignar una contrasea para acceder a la red de samba , mkdir crear la carpeta que queremos compartir y por ltimo chown cambiar el propietario de sta carpeta al susuario enenias.
Editando archivo de configuracin del samba Ahora debemos editar con tu editor de texto favorito el archivo de configuracin ubicado en /etc/samba/smb.conf
vim /etc/samba/smb.conf
workgroup: en esta opcin ponemos el nombre del grupo de trabajo de la red windows. dns proxy: es para evitar que el nmbd busque nombres netbios a travs del dns. log file: para que se cree un log independiente por cada usuario samba que tengamos. syslog: con la opcin cero sirve para que los logs del samba slo los administre samba.
Ejecutando el servidor samba Por ltimo debemos reiniciar el servidor samba, ya que al instalarlo ste comenz su ejecucin pero con la configuracin por defecto y para que trabaje con la que acabamos de efectuar necesitamos ejecutar lo siguiente en consola como root nuevamente:
cd /etc/init.d/ ./samba restart
con el primer comando nos ubicamos en el directorio donde se encuentra el script de ejecucin del samba, y con el segundo reiniciamos el servidor.
//////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////
INSTALANDO SAMBA EN SISTEMAS DEBIAN Los paquetes que necesitamos son para instalar el servidor de samba en un sistema Debian son: # apt-get install samba samba-common El sistema ingresar a un men que nos pedir el nombre del grupo de trabajo o dominio, si queremos correr samba como demonio o como servicio inetd, (siendo
samba un programa muy utilizado lo mejor es correrlo como demonio) y si deseamos utilizar contraseas cifradas (Se responde afirmativamente a esta pregunta, de esta forma se har uso de cifrado para el intercambio/almacn de contraseas). Luego nos pregunta "Utilizar la informacin del DHCP para configurar WINS" le decimos NO (si no vamos a usar) Si queremos recorrer nuevamente las opciones: # /usr/sbin/dpkg-reconfigure --priority=low samba Vamos ahora a instalar las funciones de cliente de samba: # apt-get install smbclient smbfs Una vez se ha completado el proceso de instalacin, el sistema tendr disponibles las siguientes herramientas (para saber que hace cada una, se pueden consultar las pginas del manual que traen adjuntas): # /usr/bin/dpkg -L smbclient | /bin/grep bin /usr/bin /usr/bin/smbclient /usr/bin/smbtar /usr/bin/rpcclient /usr/bin/smbspool /usr/bin/smbtree /usr/bin/smbcacls /usr/bin/smbcquotas # /usr/bin/dpkg -L smbfs | /bin/grep bin /sbin /usr/bin /usr/bin/smbmount /usr/bin/smbumount /usr/bin/smbmnt /sbin/mount.smbfs /sbin/mount.smb Estructura del archivo smb.conf La configuracin de Samba se almacena en el archivo smb.conf, que en el sistema Debian GNU/Linux se encuentra en el directorio /etc/samba/. La edicin de este archivo se puede hacer utilizando un editor de textos o haciendo uso de herramientas grficas, como la que provee Samba: SWAT
Ejemplo 1. Un archivo smb.conf mnimo [global] workgroup = GRUPODETRABAJO netbios name = MINOMBRE [recurso-compartido1] path = /tmp [recurso-compartido2] path = /otro_directorio_compartido comment = Algunos archivos aleatorios Ejemplo 2. Comprobando el archivo por defecto smb.conf con testparm # /usr/bin/testparm Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [ENTER] # Global parameters [global] workgroup = GSRDOMAIN server string = %h server (Samba %v) obey pam restrictions = Yes passdb backend = tdbsam, guest passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n . syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No panic action = /usr/share/samba/panic-action %d invalid users = root [homes] comment = Home Directories create mask = 0700 directory mask = 0700 browseable = No
[printers] comment = All Printers path = /tmp create mask = 0700 printable = Yes browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/printers INSTALACION Y CONFIGURACION DE SWAT
Swat es una herramienta de administracin de Samba en formato web bastante prctica, pero que en realidad agrega y quita lneas en el archivo de configuracin de samba (/etc/samba/smb.conf). Comenzamos por instalar swat al modo Debian: #/usr/bin/apt-get install swat Tras la instalacin de SWAT, se ha de activar en el archivo de configuracin de inetd: Activacin de SWAT en inetd: # /usr/sbin/update-inetd --verbose --enable swat Processing /etc/inetd.conf Processing service `swat' ... enabled En realidad, lo que hace es descomentar la lnea que corresponde en /etc/inetd.conf Ahora se hace que el superservidor inetd relea su configuracin, quedando el servicio SWAT disponible en el sistema: Hacemos que el superservidor inetd relea su configuracin # /usr/bin/killall --verbose -HUP inetd Killed inetd(3005) with signal 1 Mostramos las conexiones de SWAT # /bin/netstat -puta | /bin/grep swat Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:swat *:* LISTEN 1265/inetd Gestin de SWAT desde xinetd Para ejecutar SWAT desde el superservidor xinetd se ha de crear la configuracin para este servicio en dicho superservidor. Esto se realiza creando un nuevo archivo denominado swat bajo el directorio /etc/xinetd.d, cuyo contenido sea: Contenido del archivo /etc/xinetd.d/swat service swat { disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/swat # server_args = -a } No olvidarse de agregar en el archivo hosts.allow la lnea: swat : 192.168.95.0/24 que es la red local a la que permitimos acceder a la herramienta swat Releyendo la configuracin de xinetd # /etc/init.d/xinetd reload Reloading internet superserver configuration: xinetd. Para ejecutar SWAT, teclee en su navegador favorito la siguiente direccin: http://localhost:901/ y ver un propmt de ingreso de nombre de usuario y contrasea, para acceder a los mens de la herramienta. Muy fcil y prctico. No olvidarse de colocar las reglas en el firewall para que permita ingresar paquetes desde la red local contra el puerto 901 del servidor y salientes desde el mismo puerto. Informe basado en el siguiente documento: http://es.tldp.org/Tutoriales/doc-openldap-samba-cups-python/htmls/index.html
Instalando Samba en Ubuntu / Debian para compartir archivos e impresoras en redes Windows
Visto 69.495 veces | 272 Comentarios | Imprimir Samba es un programa Open Source que nos permite compartir archivos e impresoras desde una computadora Linux a PC con MS Windows como si fuera una mas de ella, lo cual es muy util ya que podemos tener un servidor de archivos y de impresin basado en Linux colocado en una red donde se conectan PC con Windows. La pgina oficial de Samba la puedes encontrar aqu En este tutorial veremos como instalar Samba en un PC con Ubuntu o Debian instalado. Lo primero es instalar Samba (como siempre les recuerdo que para instalar cualquier cosa en Linux necesitan tener privilegios de administrador o ser root, en el caso de utilizar Ubuntu colocando sudo antes de los comandos permite adquirir privilegios de root), ejecutamos el siguiente comando:
apt-get install samba smbfs
El archivo de configuracin de Samba puede ser encontrado en /etc/samba/smb.conf vamos a editar este archivo, primero realizamos una copia de respaldo:
cp -p /etc/samba/smb.conf /etc/samba/smb_18032007_copia.conf
Siempre es bueno realizar una copia de los archivos de configuracin que modifiquemos en caso de que cometamos algun error podamos volver a la configuracin inicial, adems a mi me gusta agregarle la fecha en que realice la copia para tener un registro. Luego procedemos a modificar el archivo: En Debian:
nano /etc/samba/smb.conf
En Ubuntu:
sudo gedit /etc/samba/smb.conf
En el archivo de configuracin cambia donde dice workgroup = MSHOME (puede ser distinto en tu caso) a:
workgroup = MIGRUPO
Donde MIGRUPO es el nombre del grupo de trabajo de MS Windows o el nombre de dominio, de donde ser parte el servidor Samba. Tienes que configurar el mismo grupo de trabajo en tus computadoras Windows, esto lo puedes hacer en Panel de control>Sistema>Nombre de Equipo>Cambiar Nombre. Si quieres tambien puedes cambiar la linea donde dice server string esto es simplemente la descripcin que ver tu grupo del servidor puedes colocar algo como:
server string = %h Servidor de archivos
%h lo que hace es imprimir el nombre de host de tu servidor. Guarda los cambios y sigamos. Como crear, editar o eliminar usuarios en Samba Los usuarios que queremos que tengan acceso al servidor Samba deben estar creados como usuarios en nuestro servidor linux, podemos crear un grupo samba y agregar a ese grupo todos los usuarios que tendrn acceso al servidor samba: Para agregar un usuario a linux podemos utilizar el comando:
adduser nombre_usuario
Nos pedira la clave que queremos utilizar para ese usuario y algunos datos que son opcionales, luego podemos cambiar sus privilegios. Supongamos que tenemos un usuarios ya creado llamado jose y que lo queremos agregar a los usuarios de Samba, para esto ejecutamos el siguiente comando:
sudo smbpasswd -a jose
Colocamos la clave que queremos que tenga ese usuario para ingresar al servidor Samba, la clave puede ser distinta a la clave que tiene el usuario para ingresar a Linux. Vamos a crear un nuevo archivo donde estarn todos los usuarios autorizados para conectarse al Servidor de Samba, para esto ejecutamos: En Debian:
nano /etc/samba/smbusers
En Ubuntu:
sudo gedit /etc/samba/smbusers
Donde nombre_enlinux es el nombre del usuario que tenemos en linux en este caso jose y Nombre en Windows es el nombre del usuario de red en Windows. Tenemos que agregar una nueva lnea por cada usuario que creemos para Samba. Para editar un usuario ejecutamos:
smbpasswd -a nombre_usuario
Ahora que ya tenemos a los usuarios creados procedamos a ver como se compaten archivos y directorios. Compartiendo Archivos con Samba Vamos a modificar el archivo de configuracin de Samba: En Debian:
nano /etc/samba/smb.conf
En Ubuntu:
sudo gedit /etc/samba/smb.conf
Y la modificamos por:
security = user username map = /etc/samba/smbusers
Con esto lo que estamos haciendo es diciendole a Samba que vamos a autenticar por usuario y donde est la lista de los usuarios permitidos que fue la que creamos anteriormente. Para darle acceso a los usuario a sus respectivos directorios home o personales, hacemos lo siguiente: Buscamos las lnea donde dice
;[homes] ; comment = Home Directories; ;browseable = no ;valid users = %S ;writable = no
Y le quitamos el ; para descomentarlos, y en writable le cambiamos no por yes para que el usuario pueda escribir en el directorio. Siempre que cambiemos la configuracin del archivo smb.conf debemos ejecutar el siguiente comando:
testparm
lo que hace este parmetro es verificar que los parmetros del archivo smb.conf estn correctos, luego que nos diga que todo esta bien ejecutamos:
/etc/init.d/samba restart
para aplicar los cambios. Ahora si quieremos compartir un directorio que llamaremos grupo hacemos lo siguiente, primero creamos la carpeta que queremos compartir si ya no la habamos creado:
mkdir /home/grupo chmod 777 /home/grupo
La puedes crear donde quieras. Ahora vamos a modificar el archivo de smb.conf, voy a suponer que ya modificaste la parte de security y agregaste /etc/samba/smbusers a este archivo y que ya sabes como abrirlo para editarlo de ahora en adelante. Agregamos la siguientes lineas al final del archivo:
[Grupo] comment = Archivos Compartidos path = /home/grupo public = yes writable = yes create mask = 0700 directory mask = 0700 force user = nobody force group = nogroup
Analicemos esta estructura, comment simplemente es un comentario de lo que es la carpeta puedes colocar lo que quieras, path por supuesto es donde esta la carpeta que queremos compartir, public es si quieres hacer esta carpeta disponible publicamente o no, para cambiarlo simplemente coloca no, writable permite definir si se puede escribir en la carpeta o no, create mask y directory mask es la mascara con la que se crearan los archivos (es decir que privilegios tendrn los archivos y directorios creados) si quieras que puedan hacer cualquier accin en la carpeta coloca 0777 en ambas, force group y force user es para forzar que solo un grupo especfico o usuario se pueda conectar a esta carpeta. Si adems queremos que solo un grupo de usuarios pueda accesar a la carpeta agregamos esta lnea despus de writable:
valid users = nombre_usuario1 nombre_usuario2
Donde puedes agregar los usuarios que quieras que tengan acceso. Luego de que termines de agregar las carpetas que quieras compartir Guarda el archivo y probamos el archivo smb.conf y reiniciamos el servidor de Samba:
testparm /etc/init.d/samba restart
Compartiendo Impresoras Voy a suponer que ya tienes una impresora conectada y funcionado en tu PC Linux. Compartir impresoras en Samba es muy sencillo simplemente busca estas dos lneas en el archivo /etc/samba/smb.conf (Recuerda hacer una copia de respaldo) :
... # printing = cups # printcap name = cups ...
Y descomentalas:
... printing = cups printcap name = cups ...
Guarda el archivo cimprueba los parmetros de smb.conf y reinicia el servidor de Samba ejecutando:
testparm /etc/init.d/samba restart
Y eso es todo, ya puedes ir a tu PC Windows y buscar en tu grupo de trabajo las carpetas compartidas de Linux en Samba y adems agregar la impresora. Espero que les haya servido este tutorial, ms adelante publicar un tutorial acerca de como configurar un servidor WINS con
Samba. El manual oficial de Samba lo pueden conseguir aqu. Como siempre sus comentarios sern bienvenidos.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
2- Install Samba
open terminal and install samba package and dependencies
$sudo apt-get install libcupsys2 samba samba-common
You will see the following questions: Workgroup/Domain Name: < WORKGROUP Enter a workgroup name
Now activate the line security = user [...] # security = user is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # in the samba-doc package for details. security = user [...] This enables Linux system users to log in to the Samba server.
At the end of the file /etc/samba/smb.conf add the following lines: First open the smb.conf file using the command:
vi /etc/samba/smb.conf
and add: [allusers] comment = All Users path = /home/samba-share/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes
If you want all users to be able to read and write to their home directories via Samba, add the following lines to /etc/samba/smb.conf:
[...] [homes]
comment = Home Directories browseable = no valid users = @users writable = yes create mask = 0700 directory mask = 0700 save and restart Samba:
/etc/init.d/samba restart
Set a password for samba-user in the Linux system . -> Enter the password for the new user.
root@unixmen-debian6:~# passwd samba-userOutputEnter new UNIX password: Retype new UNIX password:
Now you should be able to log in from your Windows workstation with the file explorer (address is \192.168.58.142 or \192.168.58.142samba-user for samba-user home directory) login to the samba server
ShareThis
//////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////
Samba /etc/samba/smb.conf
Samba-Swat /etc/xinetd.d/swat
No importa la ubicacin donde estemos, realizaremos el siguiente comando para la modificacin: vi /etc/samba/smb.conf
No importa la ubicacin donde estemos, realizaremos el siguiente comando para la modificacin: vi /etc/xinetd.d/swat
Verificamos que en port este el puerto 901 y disabled tiene el valor (yes) lo cambiamos a (no) para habilitar la administracin de samba por web.
Ejecutas tu explorador, en este caso Internet Explorer o Mozilla y en la barra de direcciones escribimos lo siguiente: Localhost:901
Los usuarios que se creen en Linux deben ser iguales a los usuarios que se creen en Windows
WINDOWS Clic derecho MI PC, Seleccionamos Administrar(Nos mostrara la ventana Administrador de Equipos) Expandimos Herramientas Administrativas, vamos a Usuarios Locales Usuarios en la parte derecha clic derecho usuario nuevo.
Crear carpetas
[publico] Comment= Carpeta compartida para usuarios en general Path=/tmp/publico valid users= root guest ok=yes gues only=yes browseable=yes directory mode= 0777 Se guarda los cambios
12.- Activar Samba Verificar que este activado en servicio Confiables: Samba y WWW (http) Vamos a Sistema-Administracin-Nivel de Seguridad y Cortafuegos, activamos los dos servicios y aceptamos.
Despus de realizar algn cambio, necesario reiniciar los servicios de samba y swat.
Reiniciar Samba
Crear una o varias carpetas para compartir el recurso en la ruta que desee.
15.- Accediendo a directorios compartidos de Windows modo consola En este caso se utilizara el comando smbclient.
Despus de acceder puede utilizar comandos en el directorio compartido de Windows, dependiendo los permisos.
Abrimos el navegador Internet Explorer, Mozilla, etc. Y en la barra de direccin escribir \\192.168.1.3\publico \\inforysol\publico