Instalación y configuración de Samba con autorización y autenticación de dominio (servidor de archivos)

El artículo tiene como finalidad que los colegas jóvenes que se enfrentan a una tarea similar puedan afrontarla más rápidamente. Tomé casi toda la información sobre el despliegue.
desde la oficina Documentación de Samba, porque los artículos en ruso son escasos y poco informativos.

Todo lo que se describe a continuación puede incluso denominarse listado de configuración. Se ha creado un artículo para proporcionar la secuencia de acciones para la configuración básica en ruso, porque no todo el mundo puede entender inmediatamente la documentación en inglés (por supuesto, puedes ir inmediatamente a la documentación oficial de Samba y buscar allí)

Banco: Debian 12, 1 CPU, 1 GB de RAM (máquina limpia, recién creada)

  • Instalar el programa sudo

    apt install sudo

  • Agregue el usuario creado durante el proceso de instalación al grupo sudo

    usermod -aG sudo имя_вашего_пользователя

  • Instalamos todos los servicios necesarios para que samba funcione como miembro de un dominio.

    sudo apt-get install acl attr samba winbind libpam-winbind libnss-winbind krb5-config krb5-user dnsutils python3-setproctitle

  • Además, todos los comandos se ejecutan usando sudo o en modo privilegiado sudo – i

  • Especifique el servidor NTP

    1. nano /etc/systemd/timesyncd.conf

      (Time)

      NTP=ваш_NTP_сервер

      FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

    2. systemctl habilita systemd-timesyncd

    3. systemctl inicia systemd-timesyncd

    4. estado systemctl systemd-timesyncd

  • Especificación de configuraciones para Kerberos

    1. nano /etc/krb5.conf

      (libdefaults)

      default_realm = полное_название_вашего_домена

                      dns_lookup_realm = false

                      dns_lookup_kdc = true

  • Comando para ver dónde está el archivo de configuración principal de samba:

    smbd  -b | grep CONFIGFILE

  • Edite el archivo de configuración, agregando las líneas necesarias.

    1. nano /etc/samba/smb.conf

      min domain uid = 0

      security = ADS

      workgroup = краткое_имя_домена

      realm = полное_название_вашего_домена

       

      log file = /var/log/samba/%m.log

      log level = 1

       

      # Default ID mapping configuration for local BUILTIN accounts

      # and groups on a domain member. The default (*) domain:

      # - must not overlap with any domain ID mapping configuration!

      # - must use a read-write-enabled back end, such as tdb.

      idmap config * : backend = tdb

      idmap config * : range = 3000-7999

      # - You must set a DOMAIN backend configuration

      # idmap config for the краткое_имя_домена domain

      idmap config краткое_имя_домена : backend = rid

      idmap config краткое_имя_домена : range = 10000-999999

      # Template settings for login shell and home directory

      template shell = /bin/bash

      template homedir = /home/%U

  • Releer los archivos de configuración

    smbcontrol all reload-config

  • Crear una carpeta

    mkdir -p /usr/local/samba/etc/

  • Agregar líneas a smb.conf

    username map = /etc/samba/user.map

    username map = /usr/local/samba/etc/user.map

  • Crear un archivo de asignación de usuario raíz a dominio

    nano /usr/local/samba/etc/user.map

    !root = краткое_имя_домена\логин_пользователя

  • El comando para verificar la sintaxis del archivo de configuración principal es testparm

  • En el archivo de hosts ingresamos la correspondencia entre la dirección IP y el nombre de dominio

    1. nano /etc/hosts

      X.X.X.X      share-test.полное_название_вашего_домена  share-test

  • Unir la máquina al dominio

    net ads join -U логин_пользователя (должен иметь права для присоединения к домену)

  • En nsswitch.conf traemos las dos primeras líneas al siguiente formulario para que los usuarios del dominio puedan ver el sistema local

    1. nano /etc/nsswitch.conf

      passwd:         files winbind

      group:          files winbind

  • Servicios de inicio

    1. systemctl iniciar smbd

    2. systemctl iniciar nmbd

    3. systemctl iniciar winbind

  • Reiniciar

    poweroff –reboot

  • Comprobamos que podemos conectarnos al controlador de dominio.

    wbinfo --ping-dc

  • Comprobando si nuestra samba admite ACL extendidas

    smbd -b | grep HAVE_LIBACL

    Если вывод HAVE_LIBACL, то всё ок

  • Agregue un par de líneas más al archivo de configuración.

    1. nano /etc/samba/smb.conf

      vfs objects = acl_xattr

      map acl inherit = yes

  • Agregar usuario de dominio a la asignación raíz a otro archivo

    1. nano /etc/samba/usuario.map

      !root = Домен\логин_пользователя

  • Asignamos derechos para cambiar derechos para carpetas públicas a administradores de dominio u otro grupo (también puede asignar un usuario)

    net rpc rights grant "Домен\Domain Admins" SeDiskOperatorPrivilege -U "Домен\логин_пользователя"

  • Consultando la lista de quienes pueden cambiar derechos

    net rpc rights list privileges SeDiskOperatorPrivilege -U "Домен\логин_пользователя"

  • Crear una carpeta para uso general

    mkdir -p /srv/samba/Demo/

  • Cambiar el propietario y grupo de la carpeta

    chown root:"Домен\Domain Admins" /srv/samba/Demo/

  • Establecer permisos en la carpeta

    chmod 0770 /srv/samba/Demo/

  • Ingresamos información sobre nuestra carpeta en el archivo de configuración de samba.

    1. nano /etc/samba/smb.conf

    (Demo)

            path = /srv/samba/Demo/

            read only = no

  • Releyendo la conf. Archivo

    smbcontrol all reload-config

  • Configurar derechos para una carpeta compartida a través de Windows

    1. Presione Win+X -> Administración de computadoras

    2. En la pestaña Acción y “Conectar a otra computadora”, ingresamos el nombre de nuestra máquina, por ejemplo, compartir-prueba

    3. En Herramientas del sistema, abra Carpetas públicas y haga clic derecho en nuestra carpeta -> Propiedades -> Seguridad, configure los derechos

  • Agregue la línea al archivo smb.conf en la sección de nuestra carpeta

    acl_xattr:ignore system acls = yes

  • Comprobando permisos de carpeta

    getfacl /srv/samba/Demo/

  • Publicaciones Similares

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *