Samba: primeros pasos. Creación de una red doméstica utilizando Samba para dispositivos que ejecutan Windows, Linux y Android OS Samba Service

El archivo de configuración principal de Samba es /etc/samba/smb.conf. El archivo de configuración inicial tiene una cantidad significativa de comentarios para documentar las diversas directivas de configuración.

No todas las opciones posibles están incluidas en el archivo de configuración predeterminado. ver manual hombre smb.conf o Preguntas frecuentes sobre Samba para obtener más detalles.

1. Primero cambie los siguientes pares clave/valor en la sección archivo /etc/samba/smb.conf:

Grupo de trabajo = EJEMPLO... seguridad = usuario

Parámetro seguridad se encuentra mucho más abajo en la sección y está comentado de forma predeterminada. Reemplazar también EJEMPLO a algo más apropiado a su entorno.

2. Cree una nueva sección al final del archivo o descomente uno de los ejemplos para el directorio que desea compartir:

Comentario = Ubuntu File Server Compartir ruta = /srv/samba/share navegable = sí invitado ok = sí solo lectura = no crear máscara = 0755

    comentario: una breve descripción del recurso compartido. Usado para su conveniencia.

    camino: ruta al directorio compartido.

    Este ejemplo utiliza /srv/samba/sharename porque, según el Estándar de jerarquía del sistema de archivos (FHS), el directorio /srv es donde deben residir todos los datos relacionados con un sitio determinado. Técnicamente, un recurso compartido Samba se puede colocar en cualquier lugar del sistema de archivos donde las restricciones de acceso a archivos lo permitan, pero se recomienda seguir los estándares.

    navegable: permite a los clientes de Windows ver el contenido de un directorio compartido usando Explorador de Windows.

    invitado ok: permite a los clientes conectarse al recurso compartido sin proporcionar una contraseña.

    solo lectura: Determina si se puede acceder al recurso con privilegios de solo lectura o de escritura. Los privilegios de escritura solo están disponibles cuando usted especifica No, como se muestra en este ejemplo. si el valor , entonces el acceso al recurso será de solo lectura.

    crear mascara: Define qué derechos de acceso se establecerán para los nuevos archivos creados.

3. Ahora que Samba está configurado, necesita crear un directorio y establecer permisos en él. Ingrese en la terminal:

Sudo mkdir -p /srv/samba/share sudo chown nadie.nogroup /srv/samba/share/

parámetro -pag le dice a mkdir que cree un árbol de directorios completo si no existe.

4. Finalmente, reinicie los servicios de samba para aplicar la nueva configuración:

Sudo reiniciar smbd sudo reiniciar nmbd

Ahora puede buscar en el servidor de archivos de Ubuntu utilizando el cliente de Windows y explorar sus directorios compartidos. Si su cliente no muestra sus recursos compartidos automáticamente, intente acceder a su servidor mediante su dirección IP, por ejemplo, \\192.168.1.1, desde una ventana del Explorador de Windows. Para comprobar que todo funciona, intente crear un directorio dentro de su recurso compartido desde Windows.

Para crear recursos compartidos adicionales, cree una nueva sección en /etc/samba/smb.conf y reinicie Samba. Solo asegúrese de que el directorio compartido esté creado y tenga los permisos correctos.

recurso compartido "" y el camino /srv/samba/compartir- estos son sólo ejemplos. Establezca el nombre del recurso y el nombre del directorio según su entorno. Es una buena idea utilizar el nombre del directorio del recurso en el sistema de archivos como nombre del recurso. En otras palabras, el recurso se puede especificar para el directorio /srv/samba/qa.

Implementación protocolos de red Bloque de mensajes del servidor (SMB) Y Sistema de archivos común de Internet (CIFS). El objetivo principal es compartir archivos e impresoras entre sistemas Linux y Windows.

Samba consta de varios demonios que trabajan en fondo y proporcionar servicios y una serie de herramientas de línea de comandos para interactuar con los servicios de Windows:

  • smbd- un demonio que es un servidor SMB para servicios de archivos y servicios de impresión;
  • nmbd- un demonio que proporciona servicios de nombres NetBIOS;
  • smbliente- la utilidad proporciona acceso a la línea de comandos a los recursos de SMB. También te permite obtener listas. recursos compartidos en servidores remotos y ver el entorno de red;
  • smb.conf- un archivo de configuración que contiene ajustes para todas las herramientas Samba;

Lista de puertos utilizados por Samba

  • compartir- este modo de seguridad emula el método de autenticación utilizado por los sistemas operativos sistemas windows 9x/Windows Me. En este modo, se ignoran los nombres de usuario y se asignan contraseñas a los recursos compartidos. En este modo, Samba intenta utilizar una contraseña proporcionada por el cliente que pueden utilizar diferentes usuarios.
  • usuario* - Este modo de seguridad está configurado de forma predeterminada y utiliza un nombre de usuario y una contraseña para la autenticación, como se suele hacer en Linux. En la mayoría de los casos, en los sistemas operativos modernos, las contraseñas se almacenan en una base de datos cifrada que sólo utiliza Samba.
  • servidor- este modo de seguridad se utiliza cuando es necesario que Samba realice la autenticación al acceder a otro servidor. Para los clientes, este modo tiene el mismo aspecto que la autenticación a nivel de usuario (modo de usuario), pero Samba en realidad contacta al servidor especificado en el parámetro del servidor de contraseñas para realizar la autenticación.
  • dominio- utilizando este modo de seguridad, puede unirse completamente a un dominio de Windows; Para los clientes, esto tiene el mismo aspecto que la autenticación a nivel de usuario. A diferencia de la autenticación a nivel de servidor, la autenticación de dominio utiliza un intercambio de contraseñas más seguro a nivel de dominio. Para unirse completamente a un dominio, necesita ejecutar comandos adicionales en el sistema Samba y posiblemente en el controlador de dominio.
  • anuncios- este modo de seguridad es similar al método de autenticación de dominio, pero requiere un controlador de dominio Directorio Activo Servicios de dominio.

Lista completa de parámetros Samba está en las páginas de manual.

Arriba había un ejemplo con acceso a un directorio con acceso compartido. Consideremos otro ejemplo con un directorio privado, al que solo se puede acceder mediante nombre de usuario y contraseña.

Creemos un grupo y agreguemos un usuario.

Sudo groupadd smbgrp sudo usermod -a -G smbgrp beneficio

Creemos un directorio para el usuario y establezcamos derechos.

Sudo mkdir -p /srv/samba/proft sudo chown -R proft:smbgrp /srv/samba/proft sudo chmod -R 0770 /srv/samba/proft

Creemos un usuario de samba.

Sudo smbpasswd -a beneficio

Agregue un nuevo recurso a /etc/samba/smb.conf

Ruta = /srv/samba/proft usuarios válidos = @smbgrp invitado ok = no escribible = sí navegable = sí

Reiniciemos el servidor.

Sudo systemctl reiniciar smbd

Un ejemplo de configuración de un recurso que contiene enlace simbólico a la carpeta del usuario ( /srv/samba/media/vídeo » /inicio/proft/video)

Ruta = /srv/samba/media guest ok = sí solo lectura = sí navegable = sí forzar usuario = beneficio

Configuración del cliente

Ver los recursos compartidos de su computadora

Smbcliente -L 192.168.24.101 -U%

Otro método de conexión para un usuario anónimo con línea de comando

Smbclient -U nadie //192.168.24.101/public ls

Si el servidor está configurado con un nivel de seguridad más alto, es posible que deba pasar el nombre de usuario o el nombre de dominio usando las opciones -W y -U, respectivamente.

Smbclient -L 192.168.24.101 -U beneficio -W GRUPO DE TRABAJO

Montando un recurso de samba

# crear un punto de montaje mkdir -p ~/shares/public # montar un recurso # para usuario anónimo nadie montar -t cifs //192.168.24.101/public /home/proft/shares/public -o usuario=nobody,contraseña=, grupo de trabajo= GRUPO DE TRABAJO,ip=192.168.24.101,utf8 # para usuario beneficio montaje -t cifs //192.168.24.101/public /home/proft/shares/public -o usuario=proft,contraseña=1,grupo de trabajo=GRUPO DE TRABAJO,ip= 192.168.24.101,utf8

Más mejores contraseñas almacenar en un archivo separado

# sudo vim /etc/samba/sambacreds nombre de usuario=proft contraseña=1 nombre de usuario=noboy contraseña=

Establezca los derechos de acceso a 0600

Sudo chmod 0600 /etc/samba/sambacreds

Nueva línea de montaje

Monte -t ​​cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Y un ejemplo para /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Puede abrir el recurso en el administrador de archivos Nautilus/Nemo/etc usando esta ruta alguien: //192.268.24.101.

Si Nemo escribe Nemo no puede manejar ubicaciones "pequeñas". significa que falta el paquete gvfs-smb.

Acceso al servidor con cliente Windows y Android

En Windows, puede encontrar el grupo de trabajo desde la consola usando

Estación de trabajo de configuración de red

Puede abrir recursos en una máquina remota escribiendo en la línea del Explorador o en Ejecutar (Inicio - Ejecutar) la dirección UNC: \192.168.24.101 .

En Android puedes conectarte al servidor usando Explorador de archivos ES, en la pestaña Red, agrega un servidor, simplemente por IP (sin especificar el esquema, smb). Después de lo cual puede abrir los recursos compartidos. Para estadísticas: una película HDRIP se ejecuta sin ninguna desaceleración.

Lectura adicional

Hoy en día es bastante común encontrar ordenadores ejecutando Linux y Windows en la misma red local. Las razones de esta simbiosis pueden ser diferentes: por ejemplo, los propietarios de un cibercafé no tenían fondos suficientes para comprar un sistema operativo con licencia para todas las computadoras, o simplemente contrataron a un administrador del sistema. lados positivos Linux. La popularidad de los sistemas operativos de Microsoft está determinada en gran medida por el software cliente para Windows. No es ningún secreto que este sector software muy desarrollado. Muchas empresas se han esforzado seriamente en lograrlo y han creado programas realmente buenos y, lo más importante, fáciles de usar que incluso un usuario normal puede dominar fácilmente. Pero como servidor, la posición de Windows ya no es tan clara. Un servidor que ejecuta Unix se caracteriza tradicionalmente por su confiabilidad, funcionamiento estable, seguridad y, a menudo, menores requisitos de recursos del sistema. Pero en cualquier caso, simplemente conectar a la red computadoras con diferentes plataformas de software no obtendrá el resultado esperado. El problema es que estos dos sistemas utilizan principios diferentes para organizar los recursos de la red que son incompatibles entre sí.
Dado que no hay necesidad de esperar la misericordia de Microsoft y es poco probable que Windows aprenda a trabajar con el sistema de archivos de red (NFS) Unix utilizando medios estándar y, para ser honesto, no conozco programas de terceros, la mayoría La forma más popular es intentar enseñarle a Unix a "pretender" que si fuera Windows NT.

La interacción en una red de computadoras que ejecutan Windows se basa en el uso del protocolo. SMB (Bloque de mensajes del servidor)- bloques de mensajes del servidor. Garantiza que se realicen todas las tareas necesarias en estos casos: abrir y cerrar, leer y escribir, buscar archivos, crear y eliminar directorios, configurar un trabajo de impresión y eliminarlo de allí. Todas las acciones necesarias para esto se implementan en sistemas operativos tipo Unix utilizando el paquete SAMBA. Sus capacidades se pueden dividir en dos categorías: provisión de recursos (con lo que nos referimos al acceso al sistema de impresora y a los archivos) para clientes de Windows y acceso a los recursos del cliente. Es decir, una computadora que ejecuta Linux puede actuar como servidor y cliente. Primero, consideremos la opción del servidor SAMBA.

¿Qué debería proporcionar SAMBA? operación normal en una red de máquinas con Windows? En primer lugar, el control de acceso, que se puede implementar a nivel de recursos (nivel compartido), cuando se asigna una contraseña y las reglas de uso correspondientes a cualquier recurso en la red (por ejemplo, "solo lectura"), mientras que el nombre de usuario tiene absolutamente no, no hay significado; o una organización más avanzada y flexible a nivel de usuario, cuando se crea una cuenta para cada usuario, que, además del nombre y contraseña, contiene toda la información necesaria sobre los derechos de acceso al recurso. Antes de obtener acceso al recurso requerido, cada usuario es autenticado, después de lo cual se le otorgan derechos según sus cuentas. En segundo lugar, es necesaria la emulación de los derechos de acceso determinados por el sistema de archivos. El caso es que los sistemas en cuestión tienen derechos de acceso a los archivos y directorios del disco de forma diferente. En Unix, tradicionalmente existen tres categorías de usuarios de archivos: dueño, grupo Y el resto (otros). Cada una de estas entidades puede ser proporcionada permisos de lectura, escribir Y ejecución. En Windows NT, el sistema de acceso es algo más flexible: el acceso se concede a varios grupos o usuarios y los derechos de acceso correspondientes se determinan por separado para cada sujeto. Por lo tanto, es imposible emular completamente los derechos de acceso inherentes a NTFS utilizando SAMBA.

Con clientes corriendo ventanas 9x, la situación es diferente. Desde la época del abuelo de DOS, debido a que el sistema es de un solo usuario y no se podía hablar de ningún usuario, y mucho menos de grupos, solo se han definido cuatro atributos para el sistema de archivos FAT: solo lectura, sistema, archivo y oculto. Además, en Windows, a diferencia de Unix, la extensión del archivo tiene un significado especial: aquellos que están destinados a ejecutarse tienen las extensiones .exe, .com o .bat. Al copiar archivos de máquinas Unix a computadoras que ejecutan control de ventanas Los atributos se establecen así:

solo para leer- leer, escribir para el propietario;

archivo- ejecución para el propietario;

sistémico- ejecución para el grupo;

oculto: ejecución para el grupo.

Una red de máquinas Windows se puede organizar como un grupo de trabajo, cuando las computadoras son independientes entre sí y cada una tiene su propia base de datos de contraseñas e inicios de sesión con su propia política de seguridad, y también como un dominio NT. Se gestiona toda la base para la autenticación de usuarios y computadoras. controlador de dominio primario (PDC, controlador de dominio primario), es decir. centralizado. Samba le permite restringir el acceso en todos estos niveles y actúa como un "navegador maestro" en el contexto de un grupo de trabajo o controlador de dominio.

Hemos solucionado los problemas organizativos generales. Veamos ahora específicamente la implementación y configuración de un servidor SAMBA en Linux. Para que el servidor Samba funcione, deben estar ejecutándose dos demonios: smbd, que proporciona un servicio de impresión y uso compartido de archivos para clientes Samba (como Windows de todos los tipos), y nmbd, que impulsa el servicio de nombres NetBIOS (también se puede utilizar para consultar otros demonios del servicio de nombres). El protocolo se utiliza para acceder a los clientes. TCP/IP. Normalmente, Samba se instala con una distribución de Linux. ¿Como revisar? Sólo da el comando:

y deberías obtener algo como esto:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Si no está incluido en la distribución estándar, bienvenido a ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz o a casi cualquier servidor con programas para Linux. El paquete es fácil de instalar, por lo que para no ocupar espacio daremos por hecho que lo tienes instalado. Ahora verifiquemos si el demonio se está ejecutando:

$ps-aux | grep smbd raíz 1122 0,0 0,6 4440 380? T 16:36 0:00 ag -D

Como podéis ver ya lo tengo funcionando. Si no lo tiene y desea que se inicie cuando se inicia el sistema, en Linux Mandrake, por ejemplo, marque la casilla deseada en DrakConf- servicios de inicio o en Panel de control de Red Hat- Configuración del servicio, normalmente esto es suficiente. O inicie manualmente: ./etc/rc.d/init.d/smb start. El único archivo de configuración de Samba se llama smb.conf y normalmente se encuentra en el directorio /etc (aunque en AltLinux, por ejemplo, está en el directorio /etc/samba). El servicio SAMBA lo lee cada 60 segundos, por lo que los cambios realizados en la configuración surten efecto sin reiniciar, pero no se aplican a conexiones ya establecidas.

Por eso me encanta Linux, porque los archivos de configuración son texto plano (y están bien comentados en su interior), y para poder utilizar la mayoría de los parámetros, sólo necesitas descomentar la línea correspondiente. El archivo smb.conf no es una excepción. Consta de secciones con nombre que comienzan con el nombre de la sección encerrado entre corchetes. Dentro de cada sección hay una serie de parámetros en el formato clave=valor. El archivo de configuración contiene cuatro secciones especiales: y recursos individuales (acciones). Como sugiere el nombre, la sección contiene las características más generales que se aplicarán en todas partes, pero que, sin embargo, pueden anularse en secciones para recursos individuales. Algunos parámetros de esta sección también son relevantes para configurar la parte del cliente Samba.

Valores de parámetros de sección típicos. global:

Grupo de trabajo = nombre_grupo # nombre del grupo de trabajo en la red de Windows nombre netbios = nombre del servidor en la cadena del servidor de red = comentario que es visible en la ventana de propiedades de navegación de la red invitado ok = sí # permitir el inicio de sesión de invitado (invitado ok = no - invitado el inicio de sesión está prohibido) cuenta de invitado = nadie # nombre bajo el cual se permite el inicio de sesión de invitado seguridad = usuario # nivel de acceso. usuario - a nivel de usuario, seguridad = compartir - autenticación basada en nombre de usuario y contraseña. Al almacenar la base de datos de contraseñas en otro servidor SMB, se utilizan los valores seguridad = servidor y servidor de contraseñas = nombre_servidor_NT. Si el servidor es miembro de un dominio, se usa el valor seguridad = dominio, la contraseña de acceso se especifica en el archivo definido usando la opción smb passwd file = /path/to/file.

Además, durante el registro puedes utilizar contraseñas cifradas y no cifradas (texto sin formato). Estos últimos se utilizan en Windows más antiguo (Windows para trabajo en grupo, Windows 95 (OSR2), todas las versiones de Windows NT 3.x, Windows NT 4 (hasta Service Pack 3)). Para habilitar la opción de usar una contraseña cifrada, use la opción cifrar contraseña = sí. Preste especial atención a esta opción. En distribuciones de Linux más antiguas que se crearon durante la era de Windows 95 (y con una versión anterior de Samba), el cifrado de contraseña está deshabilitado de forma predeterminada y samba antes versión 2.0 no admite este modo en absoluto (por cierto, esta opción y otras similares, aquellas que no están relacionadas con el acceso a recursos específicos, también se utilizan en el cliente).

Para mostrar correctamente los nombres de archivos en ruso, se necesitan las siguientes opciones: página de códigos del cliente = 866 y juego de caracteres = koi8-r. En distribuciones con buena localización, por ejemplo, derivadas de Mandrake y rusas, esta línea ya está ahí; a veces basta con descomentarla, pero en la mayoría de las demás tienes que agregarla tú mismo.

La opción interfaces = 192.168.0.1/24 especifica en qué red (interfaz) debe ejecutarse el programa si el servidor está conectado a varias redes a la vez. Al configurar el parámetro bind interfaces only = yes, el servidor solo responderá a las solicitudes de estas redes.

los hosts permiten = 192.168.1. 192.168.2. 127. - define los clientes a quienes se les permite el acceso al servicio.

En la sección global, puede utilizar varias variables para una configuración más flexible del servidor. Una vez establecida la conexión, se sustituyen los valores reales. Por ejemplo, en la directiva log file = /var/log/samba/%m.log, el parámetro %m ayuda a definir un archivo de registro separado para cada máquina cliente. Estas son las variables más comunes utilizadas en la sección global:

%a: arquitectura del sistema operativo en la máquina cliente (valores posibles: Win95, Win NT, DESCONOCIDO, etc.);

%m: nombre NetBIOS de la computadora cliente;

%L: nombre NetBIOS del servidor SAMBA;

%v - versión SAMBA;

%I - dirección IP de la computadora cliente;

%T - fecha y hora;

%u - nombre del usuario que trabaja con el servicio;

%H es el directorio de inicio del usuario %u.

Además, para una configuración más flexible, se utiliza la directiva include, utilizando las variables anteriores. Por ejemplo: include = /etc/samba/smb.conf.%m - ahora cuando solicitas ventas desde una computadora y hay un archivo /etc/samba/smb.conf.sales, la configuración se tomará de este archivo. Si no hay un archivo separado para una máquina en particular, se utiliza un archivo común para trabajar con ella.

# sudo vim /etc/samba/sambacreds nombre de usuario=proft contraseña=1 nombre de usuario=noboy contraseña=

Establezca los derechos de acceso a 0600

Sudo chmod 0600 /etc/samba/sambacreds

Nueva línea de montaje

Monte -t ​​cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Y un ejemplo para /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Puede abrir el recurso en el administrador de archivos Nautilus/Nemo/etc usando esta ruta alguien: //192.268.24.101.

Si Nemo escribe Nemo no puede manejar ubicaciones "pequeñas". significa que falta el paquete gvfs-smb.

Acceso al servidor con cliente Windows y Android

En Windows, puede encontrar el grupo de trabajo desde la consola usando

Estación de trabajo de configuración de red

Puede abrir recursos en una máquina remota escribiendo en la línea del Explorador o en Ejecutar (Inicio - Ejecutar) la dirección UNC: \192.168.24.101 .

En Android puedes conectarte al servidor usando Explorador de archivos ES, en la pestaña Red, agrega un servidor, simplemente por IP (sin especificar el esquema, smb). Después de lo cual puede abrir los recursos compartidos. Para estadísticas: una película HDRIP se ejecuta sin ninguna desaceleración.

Lectura adicional

O tal vez sea simplemente el interés y la curiosidad lo que empuja a los usuarios a buscar diversos programas adecuados. Samba es uno de esos programas. Necesita saber cómo configurar Samba en Ubuntu Server si desea convertir su computadora en una base de datos o almacenamiento de archivos.

Instalar Samba en Ubuntu Server le permite crear una base de datos.

Si pensabas que la página estaba dedicada a aprender danza, estabas un poco equivocado. Samba es un software libre. Proporciona acceso a impresoras y archivos. Y lo hace en varios sistemas operativos.

¿Para qué sirve?

En comparación con otros paquetes de software para fines similares, Samba tiene varias ventajas y características.

  • Le permite conectar un sistema tipo Unix, es decir, cualquier sistema Linux y Windows, entre sí. Y no sólo Windows. El programa es muy "omnívoro": MacOS, Solaris y otros sistemas operativos de diversos grados de popularidad.
  • Samba permite a los usuarios de Windows utilizar computadoras Ubuntu como servidor. Es decir, utilizar los archivos a los que se ha establecido acceso, así como algunos de los dispositivos conectados.
  • Admite la estructura de dominio NT Domain, administra usuarios de NT, admite funciones de miembro y controlador principal.

Probablemente, para muchos, lo principal de esto sea la comunicación con las máquinas con Windows. En este caso, actúan como cliente y la computadora Ubuntu actúa como servidor. Por otro lado, un usuario de Ubuntu también puede acceder a las carpetas de red de Windows.


Samba se produce desde 1992. Y, lo más importante, todavía se están lanzando nuevas versiones. Este último fue lanzado el 7 de marzo de 2017. Cada año, los desarrolladores intentan establecer la compatibilidad con una gran cantidad de versiones diferentes de sistemas operativos, pero la característica principal sigue siendo la conexión de los sistemas Linux con Microsoft. En comparación con Windows Server, Samba puede ser inferior debido a la falta de soporte para algunos protocolos e infraestructura de host. Sin embargo, muchos argumentan que la velocidad de Samba es mucho mayor.

Configurando Samba

Antes de configurar, se debe instalar el programa. La instalación de Samba se realiza de la misma manera que con otros programas: ingresando el comando en la terminal:

sudo apt-get instalar samba


Tenga en cuenta de inmediato: todos los pasos que se describirán, incluida la instalación del programa, se pueden realizar tanto en Ubuntu simple como en Ubuntu Server. Sólo este último tiene disponible una interfaz exclusivamente de texto.

Después de la instalación, debes hacer una copia de seguridad del archivo de configuración:

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

$ sudo vi /etc/samba/smb.conf

O editamos uno existente. Este archivo contiene la configuración básica del servidor Samba. Para saber qué haremos a continuación, debemos comprender qué significan las diferentes líneas.

  • Grupo de trabajo - grupo de trabajo. El valor de este parámetro también suele ser Grupo de trabajo, ya que en Windows el dominio del grupo de trabajo predeterminado tiene este aspecto.
  • El nombre Netbios es el nombre de la computadora Ubuntu tal como lo ven los usuarios de Windows. Aquí puede ingresar el valor a su discreción.
  • Seguridad: modo de autorización de usuario. El valor predeterminado es Usuario, es decir, autenticación a nivel de usuario. Por ahora, lo mejor es dejarlo así.
  • Nivel del sistema operativo: indica la prioridad que tiene Samba sobre otros clientes (PC) en la red local o de Internet.
  • Orden de resolución de nombres: orden de resolución de direcciones IP por nombre NetBIOS.
  • Sólo lectura: privilegio para leer o escribir en un directorio. El valor puede ser "sí" - solo lectura, "no" - escritura.

Crear un usuario

Esta es la acción más sencilla con la que puedes empezar a trabajar con Samba.


Agregue un usuario en el propio sistema operativo:

$ useradd -M -l -s /sbin/nologin nombre de usuario

Creemos una contraseña para ello:

Agreguemos nuestro usuario a la base de datos Samba:

$ smbpasswd -un nombre de usuario


Puede realizar otras acciones utilizando el comando $ smbpasswd:

  • $ smbpasswd nombre de usuario - cambiar contraseña
  • $ smbpasswd -x nombre de usuario - eliminar un usuario
  • $ smbpasswd -d nombre de usuario - banear usuario

El servidor debe reiniciarse si realiza cambios en el archivo de configuración. Esto se hace usando el comando:

$ systemctl reiniciar smb

Estas son las configuraciones básicas de Samba. Ahora puedes intentar poner el programa en práctica.

Acceso a carpetas

Primero, intentemos crear una carpeta a la que puedan acceder todos los usuarios, incluso aquellos que no están autorizados en Samba.

Creamos una carpeta con la que luego trabajaremos en dos ordenadores:

$ sudo mkdir -p /samba/acceso

Ahora estamos ampliando el acceso a esta carpeta para que cualquier cliente nuestro pueda abrirla. red local:

$cd/samba
$ sudo chmod -R 0755 acceso
$ sudo chown -R nadie: sin acceso al grupo/

El propietario según el código no es nadie.


Ahora en el archivo de configuración del servidor necesitas hacer dos secciones: la primera contiene información básica:

Grupo de trabajo = GRUPO DE TRABAJO
cadena del servidor = Servidor Samba %v
nombre netbios = srvr1
seguridad = usuario
mapa al invitado = mal usuario
orden de resolución de nombre = host bcast
proxy dns = no
#==============
Y el segundo, que contiene datos sobre la carpeta de acceso:

Ruta = /samba/acceso
navegable = si
grabable = si
invitado ok = sí
solo lectura = no

Las secciones se suceden una tras otra en el mismo orden.

Actualizar cambios en el servidor:

$ sudo servicio smbd reiniciar

Acciones con una computadora con Windows

En Windows, también debe realizar algunos pasos para poder abrir fácilmente una nueva carpeta compartida y editarla.

  1. Abra la línea de comando. Es recomendable hacerlo con derechos ampliados, es decir, como administrador.
  2. Ejecutamos el comando:
  3. bloc de notas C:\Windows\System32\drivers\etc\hosts
  4. Se abre un archivo en el que ingresamos la siguiente línea:
  5. 168.0.1 srvr1.dominio.com srvr1
    Gracias a ello, la carpeta será accesible.
  6. Puede abrirlo usando la línea "Ejecutar". Presione Win + R, ingrese: Después de esto, se nos abrirá una carpeta.


carpeta cerrada

También se puede utilizar un servidor Samba configurado para crear carpetas de red con acceso limitado. Dicha carpeta también debe crearse primero y luego agregarse a la configuración de Samba.

Hagamos una carpeta llamada "Cerrada":

$ sudo mkdir -p /samba/allaccess/cerrado

Creemos un grupo especial que pueda tener acceso a esta carpeta:

$ sudo addgroup grupo seguro

Creamos derechos especiales para diferentes grupos:

$ cd /samba/acceso
$ sudo chown -R richard: grupo seguro cerrado
$ sudo chmod -R 0770 cerrado/

Al igual que en el caso de una carpeta abierta, agregamos información a la configuración:

Ruta = /samba/acceso/cerrado
usuarios válidos = @securegroup
invitado ok = no
grabable = si
navegable = si

Reiniciamos el servidor.

Como puede comprender, creamos una carpeta cerrada dentro de Access. Por lo tanto, todos los usuarios de la red local pueden abrir Acceso, pero para ver y editar Cerrado, es necesario tener derechos especiales.

Para asegurarse de que todo funcione exactamente como especificamos en el archivo por lotes, puede realizar unos sencillos pasos.

Hoy en día es bastante común encontrar ordenadores ejecutando Linux y Windows en la misma red local. Las razones de esta simbiosis pueden ser diferentes: por ejemplo, los propietarios de un cibercafé no tenían fondos suficientes para comprar un sistema operativo con licencia para todas las computadoras, o administrador de sistema Simplemente me atrajeron los aspectos positivos de Linux. La popularidad de los sistemas operativos de Microsoft está determinada en gran medida por el software cliente para Windows. No es ningún secreto que este sector del software está muy desarrollado. Muchas empresas se han esforzado seriamente en lograrlo y han creado programas realmente buenos y, lo más importante, fáciles de usar que incluso un usuario normal puede dominar fácilmente. Pero como servidor, la posición de Windows ya no es tan clara. Un servidor que ejecuta Unix se caracteriza tradicionalmente por su confiabilidad, funcionamiento estable, seguridad y, a menudo, menores requisitos de recursos del sistema. Pero en cualquier caso, simplemente conectar a la red computadoras con diferentes plataformas de software no obtendrá el resultado esperado. El problema es que estos dos sistemas utilizan principios diferentes para organizar los recursos de la red que son incompatibles entre sí.
Dado que no es necesario esperar la misericordia de Microsoft y es poco probable que Windows aprenda a trabajar con el sistema de archivos de red (NFS) de Unix. medios estándar Y, para ser honesto, no conozco ningún programa de terceros, la forma más popular es intentar enseñarle a Unix a "fingir" que es Windows NT.

La interacción en una red de computadoras que ejecutan Windows se basa en el uso del protocolo. SMB (Bloque de mensajes del servidor)— bloques de mensajes del servidor. Garantiza que se realicen todas las tareas necesarias en estos casos: abrir y cerrar, leer y escribir, buscar archivos, crear y eliminar directorios, configurar un trabajo de impresión y eliminarlo de allí. Todas las acciones necesarias para esto se implementan en sistemas operativos tipo Unix utilizando el paquete SAMBA. Sus capacidades se pueden dividir en dos categorías: provisión de recursos (con lo que nos referimos al acceso al sistema de impresora y a los archivos) para clientes de Windows y acceso a los recursos del cliente. Es decir, una computadora que ejecuta Linux puede actuar como servidor y cliente. Primero, consideremos la opción del servidor SAMBA.

¿Qué debería proporcionar SAMBA para el funcionamiento normal de las máquinas Windows en una red? En primer lugar, el control de acceso, que se puede implementar a nivel de recursos (nivel compartido), cuando se asigna una contraseña y las reglas de uso correspondientes a cualquier recurso en la red (por ejemplo, "solo lectura"), mientras que el nombre de usuario tiene absolutamente no, no hay significado; o una organización más avanzada y flexible a nivel de usuario, cuando se crea una cuenta para cada usuario, que, además del nombre y contraseña, contiene toda la información necesaria sobre los derechos de acceso al recurso. Antes de obtener acceso al recurso requerido, cada usuario es autenticado, después de lo cual se le otorgan derechos según sus cuentas. En segundo lugar, es necesaria la emulación de los derechos de acceso determinados por el sistema de archivos. El caso es que los sistemas en cuestión tienen derechos de acceso a los archivos y directorios del disco de forma diferente. En Unix, tradicionalmente existen tres categorías de usuarios de archivos: dueño, grupo Y el resto (otros). Cada una de estas entidades puede ser proporcionada permisos de lectura, escribir Y ejecución. En Windows NT, el sistema de acceso es algo más flexible: el acceso se concede a varios grupos o usuarios y los derechos de acceso correspondientes se determinan por separado para cada sujeto. Por lo tanto, es imposible emular completamente los derechos de acceso inherentes a NTFS utilizando SAMBA.

Con clientes corriendo ventanas 9x, la situación es diferente. Desde la época del abuelo de DOS, debido a que el sistema es monousuario y no se podía hablar de ningún usuario, y mucho menos de grupos, para el archivo sistemas FAT Solo se definen cuatro atributos: solo lectura, sistema, archivo y oculto. Además, en Windows, a diferencia de Unix, la extensión del archivo tiene un significado especial: aquellos que están destinados a ejecutarse tienen las extensiones .exe, .com o .bat. Al copiar archivos de máquinas Unix a computadoras con Windows, los atributos se configuran así:

solo para leer— leer, escribir para el propietario;

archivo— ejecución para el propietario;

sistémico— ejecución para el grupo;

oculto: ejecución para el grupo.

Una red de máquinas Windows se puede organizar como un grupo de trabajo, cuando las computadoras son independientes entre sí y cada una tiene su propia base de datos de contraseñas e inicios de sesión con su propia política de seguridad, y también como un dominio NT. Se gestiona toda la base para la autenticación de usuarios y computadoras. controlador de dominio primario (PDC, controlador de dominio primario), es decir. centralizado. Samba le permite restringir el acceso en todos estos niveles y actúa como un "navegador maestro" en el contexto de un grupo de trabajo o controlador de dominio.

Hemos solucionado los problemas organizativos generales. Veamos ahora específicamente la implementación y configuración de un servidor SAMBA en Linux. Para que el servidor Samba funcione, deben estar ejecutándose dos demonios: smbd, que proporciona un servicio de impresión y uso compartido de archivos para clientes Samba (como Windows de todos los tipos), y nmbd, que impulsa el servicio de nombres NetBIOS (también se puede utilizar para consultar otros demonios del servicio de nombres). El protocolo se utiliza para acceder a los clientes. TCP/IP. Normalmente, Samba se instala con una distribución de Linux. ¿Como revisar? Sólo da el comando:

$dónde está samba

y deberías obtener algo como esto:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Si no está incluido en la distribución estándar, bienvenido a ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz o a casi cualquier servidor con programas para Linux. El paquete es fácil de instalar, por lo que para no ocupar espacio daremos por hecho que lo tienes instalado. Ahora verifiquemos si el demonio se está ejecutando:

$ps-aux | grep smbd raíz 1122 0,0 0,6 4440 380? T 16:36 0:00 ag -D

Como podéis ver ya lo tengo funcionando. Si no lo tiene y desea que se inicie cuando se inicia el sistema, en Linux Mandrake, por ejemplo, marque la casilla deseada en DrakConfservicios de inicio o en Panel de control de Red HatConfiguración del servicio, normalmente esto es suficiente. O inicie manualmente: ./etc/rc.d/init.d/smb start. El único archivo de configuración de Samba se llama smb.conf y normalmente se encuentra en el directorio /etc (aunque en AltLinux, por ejemplo, está en el directorio /etc/samba). El servicio SAMBA lo lee cada 60 segundos, por lo que los cambios realizados en la configuración surten efecto sin reiniciar, pero no se aplican a conexiones ya establecidas.

Por eso me encanta Linux, porque los archivos de configuración son texto plano (y están bien comentados en su interior), y para poder utilizar la mayoría de los parámetros, sólo necesitas descomentar la línea correspondiente. El archivo smb.conf no es una excepción. Consta de secciones con nombre que comienzan con el nombre de la sección entre corchetes. Dentro de cada sección hay una serie de parámetros en el formato clave=valor. El archivo de configuración contiene cuatro secciones especiales: , y recursos individuales (compartidos). Como sugiere el nombre, la sección contiene las características más generales que se aplicarán en todas partes, pero que, sin embargo, pueden anularse en secciones para recursos individuales. Algunos parámetros de esta sección también son relevantes para configurar la parte del cliente Samba.

Valores de parámetros de sección típicos. global:

Grupo de trabajo = nombre_grupo # nombre del grupo de trabajo en la red de Windows nombre netbios = nombre del servidor en la cadena del servidor de red = comentario que es visible en la ventana de propiedades de navegación de la red invitado ok = sí # permitir el inicio de sesión de invitado (invitado ok = no - invitado el inicio de sesión está prohibido) cuenta de invitado = nadie # nombre bajo el cual se permite el inicio de sesión de invitado seguridad = usuario # nivel de acceso. usuario - a nivel de usuario, seguridad = compartir - autenticación basada en nombre de usuario y contraseña. Al almacenar la base de datos de contraseñas en otro servidor SMB, se utilizan los valores seguridad = servidor y servidor de contraseñas = nombre_servidor_NT. Si el servidor es miembro de un dominio, se usa el valor seguridad = dominio, la contraseña de acceso se especifica en el archivo definido usando la opción smb passwd file = /path/to/file.

Además, durante el registro puedes utilizar contraseñas cifradas y no cifradas (texto sin formato). Estos últimos se utilizan en Windows más antiguo (Windows para trabajo en grupo, Windows 95 (OSR2), todas las versiones de Windows NT 3.x, Windows NT 4 (hasta Service Pack 3)). Para habilitar la opción de usar una contraseña cifrada, use la opción cifrar contraseña = sí. Preste especial atención a esta opción. En distribuciones de Linux más antiguas que se crearon durante la era de Windows 95 (y más allá), versión antigua Samba) el cifrado de contraseña está deshabilitado de forma predeterminada y samba está hasta versión 2.0 no admite este modo en absoluto (por cierto, esta opción y otras similares, aquellas que no están relacionadas con el acceso a recursos específicos, también se utilizan en el cliente).

Para mostrar correctamente los nombres de archivos en ruso, se necesitan las siguientes opciones: página de códigos del cliente = 866 y juego de caracteres = koi8-r. En distribuciones con buena localización, por ejemplo, derivadas de Mandrake y rusas, esta línea ya está ahí; a veces basta con descomentarla, pero en la mayoría de las demás tienes que agregarla tú mismo.

La opción interfaces = 192.168.0.1/24 especifica en qué red (interfaz) debe ejecutarse el programa si el servidor está conectado a varias redes a la vez. Al configurar el parámetro bind interfaces only = yes, el servidor solo responderá a las solicitudes de estas redes.

los hosts permiten = 192.168.1. 192.168.2. 127. — define los clientes a quienes se les permite el acceso al servicio.

En la sección global, puede utilizar varias variables para una configuración más flexible del servidor. Una vez establecida la conexión, se sustituyen los valores reales. Por ejemplo, en la directiva log file = /var/log/samba/%m.log, el parámetro %m ayuda a definir un archivo de registro separado para cada máquina cliente. Estas son las variables más comunes utilizadas en la sección global:

%a: arquitectura del sistema operativo en la máquina cliente (valores posibles: Win95, Win NT, DESCONOCIDO, etc.);

%m: nombre NetBIOS de la computadora cliente;

%L: nombre NetBIOS del servidor SAMBA;

%v — versión SAMBA;

%I — dirección IP de la computadora cliente;

%T — fecha y hora;

%u es el nombre del usuario que trabaja con el servicio;

%H es el directorio de inicio del usuario %u.

Además, para una configuración más flexible, se utiliza la directiva include, utilizando las variables anteriores. Por ejemplo: include = /etc/samba/smb.conf.%m - ahora cuando solicitas ventas desde una computadora y hay un archivo /etc/samba/smb.conf.sales, la configuración se tomará de este archivo. Si no hay un archivo separado para una máquina en particular, se utiliza un archivo común para trabajar con ella.

También existe una posibilidad interesante. creación servidor virtual . Para hacer esto, use el parámetro de alias de netbios:

Alias ​​de Netbios = administrador de contabilidad de ventas

Ahora le decimos a Samba que use su propio archivo de configuración para cada servidor virtual:

Incluir = /etc/samba/smb.conf.%L

Tres servidores serán visibles en la ventana del navegador de red: ventas, contabilidad, administración.

Habilitar las opciones de conservar mayúsculas y minúsculas y conservar mayúsculas y minúsculas hace que el servidor guarde todas las entradas distinguiendo entre mayúsculas y minúsculas (en Windows, las mayúsculas y minúsculas no distinguen entre mayúsculas y minúsculas, en todos los sistemas Unix es al revés).

La sección permite a los usuarios conectarse a sus directorios de trabajo sin describirlos explícitamente. Cuando un cliente solicita su directorio //sambaserver/sergej, la máquina busca la descripción correspondiente en el archivo y, si no la encuentra, busca la presencia de esta sección. Si la partición existe, busca en el archivo de contraseñas el directorio de trabajo del usuario que realiza la solicitud y, si lo encuentra, lo pone a disposición del usuario.

Una descripción típica de esta sección se ve así:

Comentario = Directorios de inicio # comentario que es visible en la ventana de propiedades de red navegable = no # determina si se muestra el recurso en la lista de exploración. writable = sí # permite (no - niega) escribir en el directorio de inicio modo de creación = 0750 # derechos de acceso para archivos recién creados modo de directorio = 0775 # también, pero solo para directorios

Después de configurar los ajustes predeterminados, puede crear recursos de red a los que puede acceder un usuario o grupo de usuarios específico. Dicho recurso se crea a partir de un directorio ya existente, para ello escribimos en el archivo:

Comentario = Ruta de material público = /home/samba público = sí escribible = no imprimible = no lista de escritura = administrador, @sales

El parámetro de ruta apunta al directorio donde se encuentra el recurso; el parámetro público especifica si el recurso puede ser utilizado por un invitado y el parámetro imprimible especifica si el recurso se puede utilizar para imprimir. El parámetro de lista de escritura le permite definir usuarios que pueden escribir en un recurso independientemente del valor de escritura (en este ejemplo, estos son el usuario administrador y el grupo de ventas). También es posible utilizar la lista opuesta: lista de lectura. Si es necesario ocultar algunos archivos, en Unix/Linux el nombre del archivo debe comenzar con un punto (el parámetro ocultar archivos con puntos, que controla la visualización). archivos ocultos, por defecto es ). Además, es posible especificar plantillas para los nombres de archivos ocultos, para lo cual se utiliza el parámetro ocultar archivos. Cada patrón comienza y termina con una barra diagonal (/) y puede contener caracteres utilizados en expresiones regulares. Por ejemplo: ocultar archivos = /*.log/??.tmp/. Estos trucos cuestan a los usuarios de Windows simplemente configurando el modo "Mostrar archivos ocultos y de sistema" en el Explorador. Para limitar con seguridad la disponibilidad (la capacidad de eliminar) un archivo (directorio), utilice los archivos de veto y elimine los parámetros de archivos de veto.

Con las unidades de CD la situación es algo más complicada. El caso es que en los sistemas tipo Unix no existe el concepto de disco como tal, y para poder acceder al dispositivo deseado, primero se debe montar en un árbol de directorios (# mount -t iso9660 /dev/cdrom / mnt/cdrom) y después de su uso, para no destruir sistema de archivos, debe desmontarse (# umount /dev/cdrom); de lo contrario, el dispositivo simplemente no entregará el disco. Si tiene un demonio ejecutándose en su servidor autofs, entonces el problema se resuelve fácilmente. Para desmontar automáticamente un dispositivo que no se ha utilizado durante algún tiempo, establezca el parámetro de tiempo de espera en el archivo /etc/auto.master en el valor deseado. Por ejemplo:

/mnt/auto/etc/ --timeout=5

(Ya existe una línea similar, solo necesitas descomentarla). Luego configure las opciones para el dispositivo apropiado en el archivo /etc/auto.tab:

Cdrom -fstype=auto,ro:/dev/cdrom

Después de todo esto, escribimos las siguientes líneas en /etc/smb.conf para que este recurso esté disponible:

Ruta = /mnt/cdrom escribible = no

La segunda opción es utilizar las directivas preexec y postexec, que indican qué comandos se deben ejecutar al acceder a un recurso y después de desconectarse de él (estos parámetros se pueden especificar para cualquier recurso e incluso en la sección global, lo que abre grandes posibilidades) .

Ruta = /mnt/cdrom solo lectura = sí root preexec = mount /mnt/cdrom # Sólo el root tiene derecho a montar un recurso root postexec = umount /mnt/cdrom # Naturalmente, estos puntos de montaje deben describirse en el archivo /etc/ fstab; de lo contrario, también deberá proporcionar otra información.

Ahora, al acceder a un recurso, el CD-ROM se monta automáticamente y, a veces, se desmonta. Todo el problema es que la decisión de cerrar un recurso debe tomarla el servidor; los clientes, por regla general, no notifican sobre esto. Pero normalmente esto sucede porque el recurso lo utilizan varios usuarios al mismo tiempo o se deja en una computadora. abrir documento en este recurso (Dispositivo ocupado). Por lo tanto, el CD-ROM no se desmonta automáticamente; la única forma aceptable de liberar el recurso es buscar usando la utilidad estadosmb número del proceso que utiliza este recurso y elimínelo con el comando # kill pid_number (o kill -s HUP pid_number).

Una vez establecida la configuración necesaria, ahora crearemos cuentas de usuario (a excepción del inicio de sesión de invitado con derechos mínimos, nadie). Para identificar a los usuarios de SAMBA se utiliza el archivo /etc/samba/smbpasswd, que contiene nombres de usuario y contraseñas cifradas. Dado que el mecanismo de cifrado en las redes de máquinas con Windows no es compatible con los mecanismos estándar de Unix, se utiliza una utilidad separada para completar el archivo de contraseña: smbcontraseña.

# useradd -s /bin/false -d /home/samba/sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -e sergej

Este ejemplo agrega un nuevo usuario. sergej perteneciente al grupo ventas, con un shell ficticio (las opciones posibles son /sbin/nologin, /dev/null) y un directorio de inicio /home/samba/sergej. Luego creamos una contraseña para el usuario sergej y el último paso es habilitar el acceso para el usuario, porque está deshabilitado de forma predeterminada. Un punto interesante que a veces puede resultar confuso. El hecho es que cuando se conecta a un servidor SAMBA en una computadora con Windows NT/2000, se solicita al usuario que ingrese, como se esperaba, un nombre de usuario y contraseña, y si se usa una computadora con Windows 9x/Me para acceder, entonces el Se solicita al usuario que ingrese solo la contraseña y el inicio de sesión se genera automáticamente según el nombre de registro.

También puede asignar varios usuarios de Windows a un usuario de Linux/Unix. Para hacer esto, se crea un archivo de mapeo /etc/smbusers.map, en el que cada mapeo se especifica como una línea separada:

Usuario_Linux = usuario_win1 usuario_win2 usuario_winN

En la sección, agregue la línea nombre de usuario map = /etc/smbusers.map. En este caso, el usuario de Windows deberá registrarse con la contraseña del usuario al que está asociado.

Con SAMBA, puede organizar la impresión en red desde computadoras con Windows (si planea un servidor de impresión separado, entonces una máquina basada en un procesador 486 es suficiente para esto).

Para hacer esto, debe escribir las siguientes líneas en la sección:

Nombre de Printcap = /etc/printcap # archivo que describe las impresoras conectadas al sistema cargar impresoras = sí # indica la necesidad de inclusión automática en la lista de recursos de red impresión = lprng # sistema de impresión (para Linux también se puede usar bsd).

Ruta = /var/spool/samba # apunta al directorio donde se colocan los trabajos de impresión navegable = sí imprimible = sí sólo lectura = sí

Después de crear el archivo, pruébelo usando la utilidad parm de prueba. Desafortunadamente, al utilizar este programa solo se pueden detectar errores de sintaxis, no lógicos, por lo que no hay garantía de que los servicios descritos en el archivo funcionen correctamente (durante la prueba, se mostrarán todas las configuraciones, incluso las instaladas de forma predeterminada; así que revíselas detenidamente). resultado). Pero si el programa no falla, puede esperar que el archivo se descargue sin problemas cuando se inicie. Exactitud operación de la impresora listado en el archivo /etc/printcap contra el servidor SAMBA se puede verificar usando la utilidad pruebas. Además, no te olvides de los archivos .log: si surgen problemas, a veces puedes encontrar allí una solución.

Ahora un poco sobre las cosas buenas. Configurar Samba es bastante complejo, pero la distribución viene con una herramienta de administración basada en web llamada aplastar(Herramienta de administración web Samba). Swat se lanza como un servicio o usando servidor apache y está diseñado para editar el archivo smb.conf, así como para verificar el estado, iniciar y detener demonios Samba y cambiar las contraseñas de los usuarios. Para que funcione como un servicio, el archivo /etc/services debe contener la línea swat 901/tcp, y el archivo /etc/inetd.conf debe contener swat stream tcp nowait.400 root /usr/local/samba/bin/ swat swat (esto es si se usa el demonio de red inetd, normalmente en distribuciones más antiguas; Las distribuciones modernas utilizan una opción más segura. xinetd). Para utilizar swat en el directorio /etc/xinet.d, cree un archivo swat con el siguiente contenido:

Servicio swat (deshabilitar = sin puerto = 901 socket_type = flujo de espera = no only_from = 127.0.0.1 # esta es una línea para ejecutar solo desde máquina local usuario = servidor raíz = /usr/sbin/swat log_on_failure += USERID)

Ahora, para iniciar Swat en la ventana de su navegador, ingrese:

Http://localhost:901

Pero antes de eso, asegúrese de crear un usuario. administración de la manera descrita anteriormente. Y nunca ejecute el servicio SAMBA en nombre de raíz.

Después de todos los cambios en el archivo smb.conf, en ocasiones necesitarás reiniciar el demonio:

Smb: /etc/rc.d/init.d/smb reiniciar

Si después de todos los pasos anteriores aún no fue posible organizar el acceso a los recursos de SAMBA, entonces utilidades como silbido(para comprobar la disponibilidad de un nodo en la red), búsquedanmb(para consultar nombres NetBIOS), o como último recurso tcpdump. Y no te olvides de los derechos de acceso, porque al asignar el directorio /gde/to/w/glubine al usuario, le darás la posibilidad de leer (ejecutar correctamente) los directorios anteriores.

Ahora hablemos sobre el uso del cliente Samba, porque nosotros ( Usuarios de Linux) También quiero trabajar con recursos de red de Windows. Para saber qué recursos están disponibles, debe ingresar el comando /usr/bin/smbclient -L nombre_host. El programa le pedirá una contraseña, en respuesta a la cual, en la mayoría de los casos, simplemente presione Enter. Ahora, para conectarse al recurso requerido, ingrese el nombre de la computadora y el recurso requerido. Por ejemplo:

# /usr/bin/smbclient \\Alex\Sonido

(aquí estamos intentando conectarnos a la carpeta Sonido en la computadora de Alex). Como resultado, si el comando se ingresó correctamente y el recurso de red existe, se le debería solicitar que ingrese una contraseña. Ingréselo o presione Enter si no se requiere una contraseña para acceder. En respuesta, recibirá un mensaje del cliente samba: smb: >. El trabajo adicional se realiza a través de un conjunto de comandos con los que puede realizar todas las operaciones necesarias para trabajar con archivos (copiar, crear, mover, etc.). Para obtener ayuda, ingrese smb: > ayuda. Este modo es algo inconveniente, por lo que en la mayoría de los casos se utiliza el módulo. smbfs, parte de samba; pero en distribuciones más antiguas el kernel puede compilarse sin soporte para smbfs y luego habrá que reconstruirlo. Para montar el recurso requerido, escriba algo como esto:

Mount -t smbfs -o nombre de usuario=usuario,contraseña=123456,iocharset=koi8-r,codepage=866 //alex/sound /mnt/sound.

Si no especifica nombre de usuario y contraseña, el sistema se lo solicitará. No olvide que al mirar el archivo ~HOME/.bash_history, puede encontrar la contraseña según los comandos que escribió. Otra sutileza: si el programa smbclient muestra correctamente los archivos con nombres rusos, entonces el módulo smbfs a veces no presta atención a otras codificaciones, incluso si las especifica explícitamente. Dicen que esto se puede solucionar con un parche, pero todavía no he encontrado uno para mi Red Hat.

Si desea que el recurso compartido SMB se monte automáticamente al iniciar el sistema, agregue una línea como esta a su archivo /etc/fstab:

//guest@alex/sound /mnt/alex/sound smbfs rw, noauto 0 0.

En este ejemplo, en nombre del usuario invitado(si el recurso admite este usuario y si este usuario tiene acceso solo con una contraseña, entonces no se preocupe: seguramente se le solicitará) el recurso de red de sonido en la computadora alex está montado en la carpeta /mnt/alex/sound con la capacidad de escribir en este directorio. Por cierto, el cliente Samba ve perfectamente los recursos de red ocultos, es decir. aquellos cuyo nombre de red termina con el signo $.

Como puede ver, tiene que trabajar con la línea de comando, lo que causa un horror silencioso al usuario moderno. Y aquí el mundo OpenSource lo encontró a medio camino: se han creado muchas utilidades que le permiten trabajar con recursos Samba de una manera más familiar, presionando botones en shells gráficos. El programa más popular incluido en la distribución Mandrake y sus derivados, así como en Debian: gnomba. En cualquier caso, se puede encontrar en la mayoría de los servidores con software Linux (seguro que lo vi en ftp://ftp.altlinux.ru/). Esta utilidad le permite ver los recursos de red disponibles () y, si es necesario, montarlos en el directorio deseado, mientras que es posible una opción de montaje especificando el nombre de usuario y la contraseña de aquellos recursos que lo requieran. Posible lanzamiento administrador de archivos cuando está montado (predeterminado gmc), creando directorios para recursos montados, configurando la opción de escaneo automático al iniciar el programa (posible usando el protocolo SMB de forma predeterminada) y escaneo por direcciones IP (planificado usando el protocolo WINS). Por razones que desconozco, en algunas distribuciones, al escanear utilizando el protocolo SMB, no se mostraban los recursos de red, por lo que siempre uso el segundo método, ya que funciona a la perfección, solo necesita configurar el rango de direcciones IP para escanear (si sabes). Para que los nombres de los archivos rusos se muestren correctamente, no olvide instalar las fuentes koi8-r en la pestaña Opciones > Selección de fuente y también verifique las líneas que indican la codificación cirílica en el archivo smb.conf (ver arriba).

Si gnomba sólo puede montar y desmontar recursos, entonces el programa navegadorxs También le permite ingresarlos como carpetas en la computadora local (). Es cierto que todavía no he logrado que este programa comprenda archivos con nombres rusos, pero también hay aspectos positivos: cuando se ejecuta este programa, todos los comandos de montaje y varias solicitudes de red se envían a la consola, lo que le permite comprender ellos bien. Los desarrolladores de KDE también intentaron: a través de Preferencias > Información utilidad disponible Estado de samba, mostrando todas las conexiones hacia/desde computadora local, que también es una herramienta conveniente para ver archivos .log. La utilidad proporciona información similar. komba, que se puede encontrar en http://linux.tucows.com/().

Por mucho que me gustaría contarles más, una revista es una revista; no cabe todo. A continuación, el omnipresente hombre y la información acudirán en su ayuda. Además, toda la información de referencia necesaria se puede obtener de la utilidad SWAT, y en Red Hat 7.3 había un libro Usando Samba. Robert"a Eckstein"a(Idioma inglés - malo, completamente gratis - bueno: /usr/share/swat/using_samba), también disponible en SWAT (). Puede encontrar documentación adicional, preguntas frecuentes y archivos de configuración de ejemplo en el directorio /usr/share/doc/samba. En varios foros se pueden encontrar opiniones bastante contradictorias sobre el trabajo de Samba, desde extremadamente negativas hasta completo deleite. Personalmente estoy del lado de quienes apoyan esto. emulador de windows NT, además, según los resultados de las pruebas con el mismo equipo, el servidor Samba muestra un rendimiento aproximadamente entre un 25 y un 30% mayor que el de una computadora que ejecuta el sistema Microsoft. Buena suerte.

A veces es necesario configurar muy rápidamente un recurso compartido de archivos en el servidor y abrir el acceso a él. En este caso, no es necesario delimitar configuraciones complejas, derechos de acceso ni nada más. Sólo necesitas un acceso rápido a la información sin preguntas innecesarias.

Por ejemplo, recientemente necesitaba algo como esto para abrir el acceso a copias de seguridad, que fueron almacenados en el servidor. No quería resolverlo y buscar información yo mismo; necesitaba darle rápidamente a la persona acceso de lectura para que pudiera encontrar todo lo que necesitaba.

No me ocuparé específicamente de las versiones del sistema operativo. Las configuraciones de Samba son las mismas en casi todos los lugares donde he trabajado con ellas, especialmente en las configuraciones más simples.

Entonces, instala samba con cualquier de manera adecuada para tu Sistema operativo. Las configuraciones son válidas para la versión 3 de samba. A continuación decidimos lo que necesitamos:

  • acceso por usuario y contraseña,
  • acceso por dirección IP,
  • acceso a todos sin restricciones.

Dependiendo de esto, la configuración será ligeramente diferente.

Para acceso con contraseña dibuja la siguiente configuración:

Seguridad = backend de passdb de usuario = grupo de trabajo tdbsam = cadena de servidor MYGROUP = ruta de Samba = /mnt/shara usuarios válidos = @users grupo de fuerza = usuarios crean máscara = 0660 máscara de directorio = 0771 escribible = sí navegable = sí

# usuarioadd compartir-usuario -M -G usuarios -s /sbin/nologin

Importamos este usuario a Samba y configuramos la contraseña:

# smbpasswd -un usuario compartido

E intentamos ir al baile a la dirección:

\\ip del servidor\compartir

Organizar acceso dependiendo de la dirección ip, realice las siguientes configuraciones en smb.conf:

Seguridad = compartir grupo de trabajo = cadena de servidor MIGRUPO = mapa de Samba al invitado = ruta de usuario incorrecta = /mnt/files navegable = sí escribible = sí invitado ok = sí solo lectura = no se permiten hosts = 192.168.0.171

En este caso Acceso completo estará en la dirección 192.168.0.171. Para agregar la subred completa, debe especificar lo siguiente:

Los hosts permiten = 192.168.0.

Puedes combinar diferentes subredes y direcciones, separándolas con espacios. Para deshabilitar el acceso a algunas direcciones individuales desde una subred permitida, puede hacer esto:

Los hosts permiten = 192.168.0. excepto 192.168.0.15

Se permitirá el acceso a toda la subred 192.168.0.0/24, excepto a la dirección 192.168.0.15.

Reiniciamos samba y comprobamos.

Si tienes instalado Samba 4, entonces esta configuración no funcionará y recibirás un error:

ADVERTENCIA: Ignorar valor no válido "share" for parameter "security" !}

Para que el acceso IP funcione correctamente, debe realizar los siguientes cambios en la configuración anterior:

Seguridad = mapa de usuario a invitado = Contraseña incorrecta

Deja el resto de parámetros igual. Después de esto, el acceso vía IP funcionará en la versión 4 de Samba.

Si el acceso se proporcionará a todos sin restricciones, entonces la configuración de samba más simple será así:

Seguridad = grupo de trabajo de usuario = cadena de servidor MIGRUPO = cuenta de invitado Samba = nadie asigna a invitado = ruta de usuario incorrecta = /mnt/files navegables = sí invitado ok = sí escribible = sí público = sí

No olvides otorgarles a todos derechos sobre la carpeta:

# chmod 0777 /mnt/archivos

Reinicie Samba e intente iniciar sesión. Deberían dejarte entrar sin hacer preguntas.

Así es como puedes organizar un servidor de archivos simple usando samba en literalmente 5 minutos. Y muchas veces es más difícil y no es necesario. Para algún tipo de volcado de archivos, la última opción es adecuada.

Para configuraciones más complejas tengo artículos separados:

Curso en línea sobre Linux

Si desea aprender a construir y mantener sistemas confiables y de alta disponibilidad, le recomiendo que se familiarice con curso online “Administrador Linux” en OTÚS. El curso no es para principiantes, para la admisión se necesitan conocimientos básicos de redes y instalación de linux a la máquina virtual. La formación tiene una duración de cinco meses, después de los cuales los alumnos que hayan superado el curso podrán realizar entrevistas con los socios. Qué te aportará este curso:
  • Conocimiento de la arquitectura Linux.
  • Desarrollo métodos modernos y herramientas de análisis y procesamiento de datos.
  • Capacidad para seleccionar una configuración para las tareas requeridas, gestionar procesos y garantizar la seguridad del sistema.
  • Dominio de las herramientas básicas de trabajo de un administrador de sistemas.
  • Comprensión de los detalles de la implementación, configuración y mantenimiento de redes construidas en Linux.
  • La capacidad de resolver rápidamente problemas emergentes y garantizar un funcionamiento estable e ininterrumpido del sistema.
Ponte a prueba en la prueba de acceso y consulta el programa para más detalles.


Arriba