Configuración de
SAMBA en modo Comando desde
el
Terminal:
El archivo de configuración de Samba puede ser
encontrado en /etc/samba/smb.conf
Vamos a editar
este archivo, para lo cual, primero realizamos una copia de respaldo:
$
sudo cp -p /etc/samba/smb.conf /etc/samba/smb_copia.conf
Siempre es bueno realizar una copia de los archivos de configuración
que modifiquemos para que en caso de que cometamos algún error podamos volver a la
configuración inicial.
Luego procedemos a modificar el archivo:
$ sudo nano /etc/samba/smb.conf
En el archivo de configuración cambiaremos donde dice workgroup = MSHOME a:
workgroup = CLARETDB
Donde CLARETDB es 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 y seguridad>Mostrar el nombre de este equipoNombre de Equipo>Configuración avanzada del sistema>Nombre de equipo>Cambiar.
O bien, los últimos pasos se ejecutarían desde la opción de Equipo>Propiedades (esto para Windows 7, aunque en el resto de sistemas Windows es similar)
Si quieres también puedes cambiar la línea donde
dice server string. Esto es
simplemente la descripción 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.
Guardamos los cambios y seguimos.
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 tendrán acceso al servidor samba:
Para agregar un usuario a linux podemos utilizar el comando:
$ sudo adduser nombre_usuario
Nos pedirá la clave que queremos utilizar para ese usuario y algunos datos que son opcionales, luego podemos cambiar sus privilegios.
Supongamos que tenemos
un
usuario
ya creado
llamado
par y que
lo queremos agregar a los usuarios de Samba, para
esto ejecutamos el siguiente comando:
$ sudo smbpasswd
-a par
Nos aparecerá algo como:
smbpasswd -a par
New SMB password:
Retype new SMB
password: Added user par
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 estarán todos los usuarios autorizados para
conectarse al Servidor de Samba, para
esto ejecutamos:
$ sudo nano /etc/samba/smbusers
En el nuevo archivo copiamos la siguiente línea:
nombre_enlinux =
"Nombre en
Windows"
Donde nombre_enlinux es el nombre del usuario que tenemos en Linux en este caso
par
y Nombre en Windows es el nombre del usuario de red en Windows. Tenemos que agregar una nueva línea por cada usuario que creemos para Samba.
Para poder modificar la contraseña de un usuario ejecutamos:
$ sudo smbpasswd
-a nombre_usuario
Para borrar un usuario ejecutamos:
$ sudo smbpasswd
-x nombre_usuario
Ahora que ya tenemos a los usuarios
creados procedamos
a ver como se comparten
archivos y directorios.
Compartiendo Archivos con Samba:
Vamos a modificar el archivo de configuración de Samba:
$ sudo nano /etc/samba/smb.conf
Busca la línea que dice:
# security = user
Y la modificamos por:
security = user
username map =
/etc/samba/smbusers
Con esto lo que estamos haciendo es diciéndole a Samba que vamos a autenticar por usuario y dónde está la lista de los usuarios permitidos que fue la que
creamos anteriormente.
Para darles acceso a los usuarios a sus respectivos directorios home o personales, hacemos lo siguiente:
Buscamos las líneas donde dice
#[homes]
#comment = Home Directories;
Y le quitamos el “#” para descomentarlos, y añadimos las siguientes
líneas para que el usuario pueda escribir en el
directorio.
[homes]
comment = Home Directories;
browseable =
no valid users = %S writable = yes
Siempre que cambiemos la configuración del archivo smb.conf debemos ejecutar el
siguiente comando:
$ sudo testparm
Lo que hace este parámetro es verificar que los parámetros del archivo smb.conf estén correctos, luego, cuando nos diga que todo está bien, ejecutamos:
$ sudo /etc/init.d/smbd restart
para aplicar los cambios.
Un daemon
o demonio (nomenclatura usada
en sistemas
UNIX
y
Linux), servicio
(nomenclatura usada en Windows) o programa residente (nomenclatura usada en Ms-
Dos) es un tipo especial de proceso
informático no interactivo, es decir, que se ejecuta en segundo
plano en
vez
de
ser controlado directamente
por
el usuario. Este
tipo de programas continua en el sistema,
es
decir, que puede ser
ejecutado en forma persistente o reiniciado si se intenta matar el proceso dependiendo
de configuración del demonio y políticas del sistema. La palabra daemon viene de las siglas en ingles D.A.E.M.O.N (Disk
And Execution Monitor).
Demonios en Samba y Servicios relacionados:
Lo siguientes es una breve introducción a los demonios individuales y servicios de
Samba, así como también detalles sobre como arrancarlos y detenerlos.
Descripción general de los demonios.
Samba está compuesto por dos demonios (smbd y nmbd)
que pueden ser detenidos,
arrancados y otras funcionalidades relacionadas a servicios.
El
demonio de servidor smbd
suministra servicios
para compartir
archivos e impresión
a clientes Windows. Además, es responsable
por la autenticación de usuarios, el bloqueo de recursos y compartir datos a través del protocolo SMB. Los puertos predeterminados
en
los cuales el
servidor escucha por tráfico SMB, son los puertos TCP 139 y 445.
El
demonio del servidor nmbd entiende y
responde a las peticiones de servicio de
nombres NetBIOS tales como aquellas producidas
por SMB/CIFS en sistemas basados en Windows. Estos sistemas incluyen clientes 95/98/ME,
Windows NT, Windows 2000,
Windows XP y LanManager. También participa en los protocolos de navegación que forman
la vista Entorno de red de Windows. El
puerto predeterminado en el que el servidor escucha
por tráfico NMB es el
puerto UDP 137.
Arrancar, detener y reiniciar el
Servidor Samba:
Muchas veces nos surge
la necesidad de instalar algún tipo de servicio en nuestra máquina Linux. El inconveniente
aparece cuando vemos que una vez instalado y configurado siempre se inicia en el arranque y no queremos eso, bueno, si lo que se quiere es instalar un
servicio, pero iniciarlo sólo cuando nosotros queramos
o nos
haga falta, podemos utilizar las siguientes instrucciones en la consola.
Para arrancar el servidor Samba, escriba el comando siguiente en un intérprete de comandos validándote como root:
$ sudo /etc/init.d/smbd start
O bien:
$ sudo service smbd start
Para detener el servidor Samba, escriba el comando siguiente en un intérprete de
comandos validándote como root:
$ sudo /etc/init.d/smbd stop
O bien:
$ sudo service smbd stop
Para reinicar el servidor Samba, escriba el comando siguiente en un intérprete de
comandos validándote como root:
$ sudo /etc/init.d/smbd restart
O bien:
$ sudo service smbd restart
Gestionar los Servicios en
Linux para el arranque del sistema:
A la mayoría de los administradores de
Linux nos gusta la optimización, que el
sistema funcione lo mejor posible consumiendo
solo lo justo y necesario. Pero Linux no hará todo el trabajo solo, nosotros debemos ayudar. Esta vez vamos a ayudar habilitando o deshabilitando servicios innecesarios.
Por
ejemplo: el bluethoot, mysql, hplip, ssh, son servicios que no siempre usamos,
por lo tanto sería mejor tenerlos desactivados, usarlas solo cuando las necesitemos.
Bueno, una forma de habilitar o deshabilitar estos servicios al arranque del equipo seria cambiando los permisos de los archivos en /etc/init.d.
También existen herramientas graficas que nos ayudan a hacer lo mismo.
La herramienta
que
vamos
a
utilizar se llama sysv-rc-conf y muestra todos
los servicios que arrancan junto con Linux.
Para instalar sysv-rc-conf
simplemente
desde la
línea
de
comando tecleamos
lo siguiente:
$ sudo apt-get install sysv-rc-conf
Y lo ejecutan
con:
$ sudo sysv-rc-conf
El programa se ve así:
Desde esta ventana podremos seleccionar todos aquellos servicios o demonios que
queremos que se inicien
para cada nivel de ejecución de Linux.
El término runlevel o nivel de ejecución se refiere al modo de operación
en
los sistemas
operativos que implementan el estilo de sistema de arranque
de iniciación tipo UNIX System V como es el caso de Linux.
En términos prácticos, cuando
el
computador entra al runlevel 0, está apagado, y cuando entra al runlevel 6, se reinicia. Los runlevels intermedios (1 a 5) difieren en relación a qué unidades de disco se montan, y
qué servicios de red son iniciados. Los niveles más
bajos se utilizan para el mantenimiento o la recuperación de emergencia, ya que por lo
general no ofrecen ningún servicio de red. Los detalles particulares de configuración del runlevel varían bastante entre sistemas operativos, y ligeramente entre los
administradores de sistema.
El sistema de runlevel reemplazó al
script tradicional /etc/rc en UNIX, versión 7.
La mayor parte de usuarios de sistemas puede comprobar el nivel de ejecución actual con cualquiera de los comandos siguientes:
$ sudo runlevel
# como usuario root
$ who -r
# como cualquier usuario
Utilidad práctica para el usuario medio:
Normalmente nunca tocaremos nada concerniente a los Runlevels, pero sí lo haremos
en
el caso de que un usuario tenga una máquina con diferentes usos (y más si la máquina está escasa de recursos), existen diversas configuraciones. Ejemplos prácticos:
PC de
escritorio: Dejaríamos el runlevel 5 intacto (con el
servidor gráfico, etc.) Servidor
de
Red:
Dejaríamos el
runlevel
3
intacto
o
retirando servicios
que
no
interesen.
Nos
interesa que se cargue el mínimo de servicios
posibles para optimizar el
rendimiento al
máximo:
Modificaríamos el runlevel
4
para
que
no
cargara los
servicios que no queramos.
Hecho esto, si durante una época determinada nos interesase
que la máquina
sólo funcionase como servidor, la configuraríamos
para usar el runlevel 3, y así lo mismo con las
otras opciones.
Configuración de los niveles de ejecución:
Los modos específicos para una distribución particular se encuentran en el archivo
/etc/inittab, aunque para otras distribuciones esto ha cambiado, como vamos a comentar ahora.
id:5:initdefault:
Ésto quiere decir que cuando el sistema arranca, lo hace en el modo 5, que, como
hemos visto, indica multiusuario completo (con red y modo gráfico). Observe que en los comentarios de los modos 0 y
6 aparece un par de recomendaciones importantes: NO
establezca
el valor
default
de
init
en este
número. ¿Por
qué
no? Un
administrador
(root) puede editar el archivo /etc/inittab como mejor convenga al usuario, sin embargo también tiene el poder de establecerlo en 0 ó en 6. Si se establece en 6, la
próxima vez que la máquina se encienda, se leerá el modo 6, shutdown
y reboot, y se hará exactamente eso. De hecho se crea un ciclo infinito
de reinicios
que
puede ser desconcertante
para el usuario.
Algo similar pasa al establecer el modo de ejecución en 0, cada vez que se enciende la computadora, inmediatamente se apaga. La manera de cambiar esto es entrar en modo recover y
editar de nuevo el archivo
/etc/inittab.
Pero si no deben establecerse, ¿Por qué están ahí? La razón es que otros usuarios
pueden requerirlos realmente.
EL COMANDO init:
Puedes cambiar en cualquier momento el valor del nivel de ejecución con el comando
init. Una instrucción como la siguiente:
$ sudo init 3
cambia a nivel de ejecución 3. Si hace esto dejará de tener una pantalla gráfica y aparecerá
una terminal y es probable
que pierda la información que no tenga guardada.
Para regresar al modo gráfico es necesario establecer de nuevo a 5 (o 2 si se usa Ubuntu, ver más abajo). El comando init no altera el contenido del archivo /etc/inittab.
Y la instrucción:
$ sudo init 0
apaga la computadora inmediatamente. Los comandos halt y
shutdown llaman a init para apagar el
sistema.
Para no variar, Ubuntu es distinto. El archivo /etc/inittab fue sustituído
a partir de la versión 6.10 por /etc/upstart, el cual ahora también ha cambiado. Y los niveles de ejecución
son los siguientes:
Es probable que si
has estado investigando este tema, encuentres
mucha documentación al respecto hablando de los modos de ejecución (runlevels), y del
famoso /etc/inittab. Puede ser que entonces te hayas vuelto loco buscándolo por tu Ubuntu
para poder modificarlo, y que no aparezca. La pregunta
es:
¿Dónde se encuentra este fichero o qué otra utilidad lo sustituye?
Bueno, lo primero que hay que decir al respecto es que en Ubuntu 6.10 se reemplazó el sistema de inicio SysV, sustituyendo al proceso init (el cual manejaba los cambios
de runlevel)
por un sistema nuevo capaz de controlar
eventos y
que
deja a un lado los
tradicionales niveles de ejecución llamado
upstart, que es capaz de supervisar tareas y
servicios mientras el sistema corre. Esto implica, entre otras cosas, que el fichero inittab desaparece, dando paso
al directorio
/etc/init, que contiene
una serie de archivos .conf que nos servirán para definir lo que los desarrolladores de upstart han
denominado jobs (trabajos). Es importante señalar que están basados en la configuración
de sysvinit, incluyendo la ejecución del antiguo script /etc/init.d/rc, el cual es invocado desde /etc/init/rc.conf, para mantener la compatibilidad.
Los jobs que trae instalados
por defecto son editables (están en formato texto), y evidentemente podemos crear los nuestros propios. El aspecto que presentan es el siguiente:
Por defecto, el nivel de ejecución predeterminado de Ubuntu lo define la variable
DEFAULT_RUNLEVEL en /etc/init/rc-sysinit.conf que tiene el
valor por defecto de 2.
Vamos a ver cómo el sistema está configurado, y
en particular en el directorio /etc.
Aquí encontrarás una serie de directorios llamado rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d
y rcS.d. El sistema utiliza estos directorios
para el control de los servicios que se inician, de manera que en el contenido
de cada uno de ellos aparecen enlaces a la ejecución de los servicios configurados en el sistema para cada nivel de ejecución (runlevel) comentado antes,
coincidiendo el
número que contiene el
directorio con el nivel de ejecución que se ejecuta.
Ahora
si queremos compartir un directorio que llamaremos samba hacemos lo
siguiente.
Primero creamos la carpeta que queremos compartir, si ya no la habíamos creado:
$ sudo mkdir /home/grupo
$ sudo chmod 777 /home/grupo
Lo puedes crear donde quieras. Ahora vamos a modificar el archivo de smb.conf
Se supone que ya modificaste la parte de security y agregaste /etc/samba/smbusers
a este archivo y que ya sabes cómo abrirlo para editarlo de ahora en adelante. Agregamos
la siguientes líneas al
final del archivo:
[samba]
comment = Archivos Compartidos
path = /home/samba
public = yes
writable =
yes create mask =
0700
directory mask =
0700 force user = nobody
force group =
nogroup
valid users = nombre_usuario1 nombre_usuario2
donde puedes agregar los usuarios que quieras que
tengan acceso.
Posteriormente, podremos delimitar más los permisos a nivel de directorios, con el comando chown de Linux.
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:
$ sudo testparm
$ sudo service smbd restart
Indicar que para realizar conexiones definitivas, incluso para las situaciones en las que
arranquen los sistemas operativos
de Windows o
también con scripts de inicio, podemos
conectar dichos recursos de carpetas de los servidores samba de Linux a unidades lógicas de
Windows,
Finalmente, a través de la conexión establecida o a través de alguna ventana de Windows o de la opción de Ejecutar del botón
de Inicio, también de Windows, al intentar
acceder al recurso configurado en el servidor Samba, se nos solicitará la introducción de un usuario y contraseña para el
acceso, en el caso de que
así lo hubiésemos configurado.
Otra forma de poder configurar el servidor Samba, es con una utilidad de Linux que debemos instalar denominada system-config-samba.
Para su instalación se realizará utilizando alguno de los procedimientos que ya hemos visto para agregar paquetes en Linux
El
proceso inverso,
es
decir, acceder desde una máquina Linux hasta un servidor de ficheros o disco de Windows, incluso para acceder desde una máquina Linux hasta otra, también
Linux, donde
tengamos implantado
el servidor
Samba, se realiza
de
la misma manera, utilizando el protocolo
smb desde cualquier ventana de Linux, por ejemplo Nautilus
en
Ubuntu (si lo hacemos desde la ventana de cualquier navegador, este debe poder soportar el
protocolo smb).
Para
poder mostrar la barra de direcciones en la ventana de Nautilus, una
vez
mostrado su contenido hay que pulsar la combinación de teclas <Ctrl> + L, puesto que por defecto no
la
muestra.
La compartición de carpetas y la gestión de sus permisos, tanto para Windows
como
para Linux, se realizará
mediante el
procedimiento ya
explicado para ambos tipos de servicios: Compartir archivos e impresoras (Windows) y Samba (Linux).
La sintaxis para poder acceder desde Linux a un servidor de disco Windows o Linux
es:
smb://dir_ip o nombre de maquina/nombre recurso
A continuación nos pedirá validarnos para acceder al recurso compartido, con un usuario y contraseña de Windows o Linux, según donde resida el servidor de ficheros:
Validado el usuario y su contraseña, nos aparecerá el contenido del recurso solicitado, sobre el
que podremos realizar aquellas operaciones para las que tengamos permiso:
El
acceso desde una máquina Linux a un servidor
de ficheros Windows o Linux es
posible gracias a la instalación del paquete
smbclient, el cual se instala por defecto al instalar
el
paquete correspondiente al servidor samba.
En el caso de que la máquina cliente no vaya a realizar la función e servidor samba, para acceder a otro servidor de ficheros, ya sea Windows o
Linux, debe tener instalado este paquete..
Por estos motivos, optaremos por una placa de nivel intermedio, no es necesario lanzarnos a por una de las últimas arquitecturas,
ya que la tarjeta de
vídeo
es algo
totalmente accesorio,
solo necesitaremos conectar a un monitor para instalar el sistema operativo
por primera
vez,
ya que,
a
partir de
este
momento,
toda la
configuración la realizaremos a través de su interfaz web o la aplicación necesaria
para ello. Por esta razón, la gráfica integrada nos resultará más que suficiente para este proceso.
La elección del chasis es algo muy subjetivo,
podemos optar por el modelo que nos resulte más atractivo, pero debemos
tener en cuenta dos factores: la fuente de alimentación,
en
caso de venir integrada en la caja, nos puede ahorrar
unos euros; de no ser así deberemos adquirirla
por separado con
el número de bahías aptas
para instalar
nuestros
discos. Tratándose de un servidor
orientado al almacenamiento, sería un grave error de planificación
No hay comentarios:
Publicar un comentario