24 Exportación de datos de Ceph a través de Samba #
En este capítulo se describe cómo exportar datos almacenados en un clúster de Ceph a través de un recurso compartido Samba/CIFS, de forma que se pueda acceder fácilmente a ellos desde equipos cliente Windows.* También incluye información que le ayudará a configurar una pasarela Samba de Ceph para unirse a Active Directory en el dominio de Windows* para autenticar y autorizar a los usuarios.
Debido al aumento de la sobrecarga de protocolo y a la latencia adicional causados por saltos de red adicionales entre el cliente y el almacenamiento, el acceso a CephFS a través de una pasarela Samba puede reducir de forma significativa el rendimiento de la aplicación en comparación con los clientes de Ceph nativos.
24.1 Exportación de CephFS mediante un recurso compartido Samba #
Los clientes nativos de CephFS y NFS no están restringidos por los bloqueos de archivos obtenidos a través de Samba, y viceversa. Las aplicaciones que se basan en el bloqueo de archivos con varios protocolos pueden sufrir daños en los datos si se accede a las vías compartidas de Samba respaldadas por CephFS a través de otros medios.
24.1.1 Configuración y exportación de paquetes de Samba #
Para configurar y exportar un recurso compartido Samba, es necesario instalar los paquetes siguientes: samba-ceph y samba-winbind. Instale estos paquetes si no lo están:
cephuser@smb >
zypper install samba-ceph samba-winbind
24.1.2 Ejemplo de pasarela única #
Para preparar la exportación de un recurso compartido Samba, elija un nodo adecuado para que actúe como pasarela Samba. El nodo debe tener acceso a la red del cliente de Ceph, así como suficientes recursos de CPU, memoria y redes.
Es posible proporcionar funcionalidad de failover con CTDB y SUSE Linux Enterprise High Availability Extension. Consulte la Sección 24.1.3, “Configuración de alta disponibilidad” para obtener más información sobre la configuración de alta disponibilidad.
Asegúrese de que ya existe una instancia de CephFS en funcionamiento en el clúster.
Cree un anillo de claves específico para la pasarela Samba en nodo de administración de Ceph y cópielo en ambos nodos de pasarela Samba:
cephuser@adm >
ceph
auth get-or-create client.samba.gw mon 'allow r' \ osd 'allow *' mds 'allow *' -o ceph.client.samba.gw.keyringcephuser@adm >
scp
ceph.client.samba.gw.keyring SAMBA_NODE:/etc/ceph/Sustituya SAMBA_NODE con el nombre del nodo de pasarela de Samba.
Los pasos siguientes se ejecutan en el nodo de pasarela Samba. Instale Samba junto con el paquete de integración de Ceph:
cephuser@smb >
sudo zypper in samba samba-cephSustituya el contenido por defecto del archivo
/etc/samba/smb.conf
por lo siguiente:[global] netbios name = SAMBA-GW clustering = no idmap config * : backend = tdb2 passdb backend = tdbsam # disable print server load printers = no smbd: backgroundqueue = no [SHARE_NAME] path = CEPHFS_MOUNT read only = no oplocks = no kernel share modes = no
La vía CEPHFS_MOUNT anterior debe montarse antes de iniciar Samba con una configuración de recurso compartido CephFS del kernel. Consulte la Sección 23.3, “Montaje de CephFS en
/etc/fstab
”.La configuración de recursos compartidos anterior utiliza el cliente CephFS del kernel de Linux, lo que se recomienda por motivos de rendimiento. Como alternativa, el módulo Samba
vfs_ceph
también se puede utilizar para comunicarse con el clúster de Ceph. Las instrucciones se muestran a continuación para sistemas heredados, pero no se recomiendan para distribuciones nuevas de Samba:[SHARE_NAME] path = / vfs objects = ceph ceph: config_file = /etc/ceph/ceph.conf ceph: user_id = samba.gw read only = no oplocks = no kernel share modes = no
Sugerencia: Oplocks y modos compartidosLos
oplocks
(también conocidos como arrendamientos SMB2+) mejoran el rendimiento gracias al almacenamiento en caché agresivo del cliente, pero actualmente no son seguros si Samba se distribuye junto con otros clientes de CephFS, como el kernelmount.ceph
, FUSE o NFS Ganesha.Si Samba controla en exclusiva todo el acceso a la vía del sistema de archivos CephFS, el parámetro
oplocks
se puede habilitar de forma segura.Actualmente,
kernel share modes
debe estar inhabilitado en un recurso compartido que se ejecute con el módulo CephFS vfs para que la provisión de archivos funcione correctamente.Importante: permitir el accesoSamba asigna usuarios y grupos de SMB a cuentas locales. A los usuarios locales se les puede asignar una contraseña para el acceso compartido de Samba mediante:
#
smbpasswd -a USERNAMEPara que la E/S se realice correctamente, la lista de control de acceso (ACL) de la vía compartida debe permitir el acceso al usuario conectado a través de Samba. Puede modificar la ACL montándola temporalmente a través del cliente del kernel de CephFS y utilizando las utilidades
chmod
,chown
osetfacl
en la vía del recurso compartido. Por ejemplo, para permitir el acceso a todos los usuarios, ejecute:#
chmod 777 MOUNTED_SHARE_PATH
24.1.2.1 Inicio de los servicios de Samba #
Inicie o reinicie los servicios Samba independientes mediante los comandos siguientes:
#
systemctl restart smb.service#
systemctl restart nmb.service#
systemctl restart winbind.service
Para garantizar que los servicios de Samba se inician al arrancar, habilítelos mediante:
#
systemctl enable smb.service#
systemctl enable nmb.service#
systemctl enable winbind.service
nmb
y winbind
opcionales
Si no necesita examinar el recurso compartido de red, no es necesario que habilite e inicie el servicio nmb
.
El servicio winbind
solo es necesario cuando se configura como miembro del dominio de Active Directory. Consulte la Sección 24.2, “Unión de pasarela Samba y Active Directory”.
24.1.3 Configuración de alta disponibilidad #
Aunque una distribución de varios nodos de Samba + CTDB tiene mayor disponibilidades que un nodo único (consulte el Capítulo 24, Exportación de datos de Ceph a través de Samba), no se admite el failover transparente en el cliente. Es probable que las aplicaciones experimenten una breve interrupción por el error del nodo de pasarela Samba.
En esta sección se proporciona un ejemplo de cómo establecer una configuración de dos nodos de alta disponibilidad de los servidores de Samba. La configuración requiere SUSE Linux Enterprise High Availability Extension. Los dos nodos se llaman earth
(192.168.1.1
) y mars
(192.168.1.2
).
Para obtener información sobre SUSE Linux Enterprise High Availability Extension, consulte https://documentation.suse.com/sle-ha/15-SP1/.
Asimismo, dos direcciones IP virtuales flotantes permiten a los clientes conectarse al servicio independientemente del nodo físico en el que se estén ejecutando. 192.168.1.10
se usa para la administración del clúster con Hawk2 y 192.168.2.1
se usa exclusivamente para las exportaciones CIFS. De esta forma es más fácil aplicar más tarde restricciones de seguridad.
El procedimiento siguiente describe la instalación de ejemplo. Encontrará más información en https://documentation.suse.com/sle-ha/15-SP1/single-html/SLE-HA-install-quick/.
Cree un anillo de claves específico de la pasarela Samba en el nodo de administración y cópielo en ambos nodos:
cephuser@adm >
ceph
auth get-or-create client.samba.gw mon 'allow r' \ osd 'allow *' mds 'allow *' -o ceph.client.samba.gw.keyringcephuser@adm >
scp
ceph.client.samba.gw.keyringearth
:/etc/ceph/cephuser@adm >
scp
ceph.client.samba.gw.keyringmars
:/etc/ceph/La configuración de SLE-HA requiere un dispositivo de aislamiento para evitar una situación de clúster con nodos malinformados cuando los nodos de clúster activos dejen de estar sincronizados. Para ello, puede utilizar una imagen Ceph RBD con un dispositivo de bloques Stonith (SBD). Consulte https://documentation.suse.com/sle-ha/15-SP1/single-html/SLE-HA-guide/#sec-ha-storage-protect-fencing-setup para obtener más información.
Si aún no existe, cree un repositorio RBD denominado
rbd
(consulte la Sección 18.1, “Creación de un repositorio”) y asócielo conrbd
(consulte la Sección 18.5.1, “Asociación de repositorios a una aplicación”). A continuación, cree una imagen RBD relacionada llamadasbd01
:cephuser@adm >
ceph osd pool create rbdcephuser@adm >
ceph osd pool application enable rbd rbdcephuser@adm >
rbd -p rbd create sbd01 --size 64M --image-sharedPrepare
earth
ymars
para que alojen el servicio de Samba:Asegúrese de que los paquetes siguientes están instalados antes de continuar: ctdb, tdb-tools y samba.
#
zypper
in ctdb tdb-tools samba samba-cephAsegúrese de que los servicios Samba y CTDB están detenidos e inhabilitados:
#
systemctl disable ctdb#
systemctl disable smb#
systemctl disable nmb#
systemctl disable winbind#
systemctl stop ctdb#
systemctl stop smb#
systemctl stop nmb#
systemctl stop winbindAbra el puerto
4379
del cortafuegos en todos los nodos. Esto es necesario para que CTDB pueda comunicarse con los demás nodos del clúster.
En
earth
, cree los archivos de configuración de Samba. Más adelante, se sincronizarán automáticamente conmars
.Inserte una lista de direcciones IP privadas de los nodos de pasarela Samba en el archivo
/etc/ctdb/node
. Encontrará más información en la página de manual de ctdb (man 7 ctdb
).192.168.1.1 192.168.1.2
Configure Samba. Añada las líneas siguientes en la sección
[global]
de/etc/samba/smb.conf
. Utilice el nombre de host que desee en lugar de CTDB-SERVER (en realidad, todos los nodos del clúster aparecerán como un nodo extenso con este nombre): Añada también una definición de recurso compartido, como ejemplo, puede usar SHARE_NAME:[global] netbios name = SAMBA-HA-GW clustering = yes idmap config * : backend = tdb2 passdb backend = tdbsam ctdbd socket = /var/lib/ctdb/ctdb.socket # disable print server load printers = no smbd: backgroundqueue = no [SHARE_NAME] path = / vfs objects = ceph ceph: config_file = /etc/ceph/ceph.conf ceph: user_id = samba.gw read only = no oplocks = no kernel share modes = no
Tenga en cuenta que los archivos
/etc/ctdb/nodes
y/etc/samba/smb.conf
deben coincidir en todos los nodos de pasarela Samba.
Instale y cargue el clúster de SUSE Linux Enterprise High Availability.
Registre SUSE Linux Enterprise High Availability Extension en
earth
ymars
:root@earth #
SUSEConnect
-r ACTIVATION_CODE -e E_MAILroot@mars #
SUSEConnect
-r ACTIVATION_CODE -e E_MAILInstale ha-cluster-bootstrap en ambos nodos:
root@earth #
zypper
in ha-cluster-bootstraproot@mars #
zypper
in ha-cluster-bootstrapAsigne la imagen RBD
sbd01
en ambas pasarelas Samba medianterbdmap.service
.Edite
/etc/ceph/rbdmap
y añada una entrada para la imagen SBD:rbd/sbd01 id=samba.gw,keyring=/etc/ceph/ceph.client.samba.gw.keyring
Habilite e inicie
rbdmap.service
:root@earth #
systemctl enable rbdmap.service && systemctl start rbdmap.serviceroot@mars #
systemctl enable rbdmap.service && systemctl start rbdmap.serviceEl dispositivo
/dev/rbd/rbd/sbd01
debe estar disponible en ambas pasarelas Samba.Inicialice el clúster en
earth
y deje quemars
se una a él.root@earth #
ha-cluster-init
root@mars #
ha-cluster-join
-c earthImportanteDurante el proceso de inicialización y unión al clúster, se le preguntará de forma interactiva si desea utilizar SBD. Confirme con
y
y, a continuación, especifique/dev/rbd/rbd/sbd01
como vía al dispositivo de almacenamiento.
Compruebe el estado del clúster. Debería observar que se han añadido dos nodos al clúster:
root@earth #
crm
status 2 nodes configured 1 resource configured Online: [ earth mars ] Full list of resources: admin-ip (ocf::heartbeat:IPaddr2): Started earthEjecute los comandos siguientes en
earth
para configurar el recurso CTDB:root@earth #
crm
configurecrm(live)configure#
primitive
ctdb ocf:heartbeat:CTDB params \ ctdb_manages_winbind="false" \ ctdb_manages_samba="false" \ ctdb_recovery_lock="!/usr/lib64/ctdb/ctdb_mutex_ceph_rados_helper ceph client.samba.gw cephfs_metadata ctdb-mutex" ctdb_socket="/var/lib/ctdb/ctdb.socket" \ op monitor interval="10" timeout="20" \ op start interval="0" timeout="200" \ op stop interval="0" timeout="100"crm(live)configure#
primitive
smb systemd:smb \ op start timeout="100" interval="0" \ op stop timeout="100" interval="0" \ op monitor interval="60" timeout="100"crm(live)configure#
primitive
nmb systemd:nmb \ op start timeout="100" interval="0" \ op stop timeout="100" interval="0" \ op monitor interval="60" timeout="100"crm(live)configure#
primitive
winbind systemd:winbind \ op start timeout="100" interval="0" \ op stop timeout="100" interval="0" \ op monitor interval="60" timeout="100"crm(live)configure#
group
g-ctdb ctdb winbind nmb smbcrm(live)configure#
clone
cl-ctdb g-ctdb meta interleave="true"crm(live)configure#
commit
Sugerencia: primitivosnmb
ywinbind
opcionalesSi no necesita examinar el recurso compartido de red, no es necesario añadir el primitivo
nmb
.El primitivo
winbind
solo es necesario si se configura como miembro del dominio de Active Directory. Consulte la Sección 24.2, “Unión de pasarela Samba y Active Directory”.El archivo binario
/usr/lib64/ctdb/ctdb_mutex_ceph_rados_helper
de la opción de configuraciónctdb_recovery_lock
tiene los parámetros CLUSTER_NAME CEPHX_USER RADOS_POOL y RADOS_OBJECT, en este orden.Es posible anexar un parámetro de tiempo de espera de bloqueo adicional para sustituir el valor por defecto utilizado (10 segundos). Un valor más alto aumentará el tiempo de failover del master de recuperación CTDB, mientras que un valor más bajo puede dar lugar a que se detecte incorrectamente que el master de recuperación está inactivo, lo que desencadenaría conmutaciones por error sucesivas.
Añada una dirección IP agrupada en clúster:
crm(live)configure#
primitive
ip ocf:heartbeat:IPaddr2 params ip=192.168.2.1 \ unique_clone_address="true" \ op monitor interval="60" \ meta resource-stickiness="0"crm(live)configure#
clone
cl-ip ip \ meta interleave="true" clone-node-max="2" globally-unique="true"crm(live)configure#
colocation
col-with-ctdb 0: cl-ip cl-ctdbcrm(live)configure#
order
o-with-ctdb 0: cl-ip cl-ctdbcrm(live)configure#
commit
Si
unique_clone_address
se define comotrue
(verdadero), el agente de recurso IPaddr2 añade un ID de clonación a la dirección especificada, lo que da como resultado que haya tres direcciones IP distintas. Normalmente, no son necesarias, pero ayudan a la hora de equilibrar la carga. Para obtener más información sobre este tema, consulte https://documentation.suse.com/sle-ha/15-SP1/single-html/SLE-HA-guide/#cha-ha-lb.Compruebe el resultado:
root@earth #
crm
status Clone Set: base-clone [dlm] Started: [ factory-1 ] Stopped: [ factory-0 ] Clone Set: cl-ctdb [g-ctdb] Started: [ factory-1 ] Started: [ factory-0 ] Clone Set: cl-ip [ip] (unique) ip:0 (ocf:heartbeat:IPaddr2): Started factory-0 ip:1 (ocf:heartbeat:IPaddr2): Started factory-1Realice una prueba desde un equipo cliente. En un cliente Linux, ejecute el comando siguiente para comprobar si puede copiar archivos desde el sistema y en el sistema:
#
smbclient
//192.168.2.1/myshare
24.1.3.1 Reinicio de recursos de Samba de alta disponibilidad #
Después de cualquier cambio en la configuración de Samba o CTDB, es posible que sea necesario reiniciar los recursos de alta disponibilidad para que los cambios surtan efecto. Esto puede hacerse así:
#
crm
resource restart cl-ctdb
24.2 Unión de pasarela Samba y Active Directory #
Puede configurar la pasarela Samba de Ceph para que se convierta en miembro del dominio de Samba compatible con Active Directory (AD). Como miembro del dominio de Samba, puede usar usuarios y grupos de dominio en listas de acceso local (ACL) en archivos y directorios del sistema CephFS exportado.
24.2.1 Preparación de la instalación de Samba #
En esta sección se presenta los pasos preparatorios que debe tener en cuenta antes de configurar Samba. Empezar con un entorno limpio ayuda a evitar confusiones y permite verificar que no se mezcla ningún archivo de la instalación anterior de Samba con la nueva instalación del miembro de dominio.
Todos los relojes de los nodos de la pasarela Samba deben sincronizarse con el controlador de dominio de Active Directory. La diferencia de hora puede provocar errores de autenticación.
Compruebe que no se esté ejecutando ningún proceso de Samba ni de almacenamiento en caché de nombres:
cephuser@smb >
ps ax | egrep "samba|smbd|nmbd|winbindd|nscd"
Si en el resultado aparece algún proceso samba
, smbd
, nmbd
, winbindd
o nscd
, deténgalos.
Si ha ejecutado previamente una instalación de Samba en este host, elimine el archivo /etc/samba/smb.conf
. Elimine también todos los archivos de base de datos de Samba, como los archivos *.tdb
y *.ldb
. Para mostrar directorios que contienen bases de datos Samba, ejecute:
cephuser@smb >
smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"
24.2.2 Verificación de DNS #
Active Directory (AD) utiliza DNS para localizar otros controladores de dominio (CD) y servicios, como Kerberos. Por lo tanto, los miembros del dominio de AD y los servidores deben poder resolver las zonas DNS de AD.
Verifique que DNS esté configurado correctamente y que tanto la búsqueda directa como la inversa den resultados correctamente, por ejemplo:
cephuser@adm >
nslookup DC1.domain.example.com
Server: 10.99.0.1
Address: 10.99.0.1#53
Name: DC1.domain.example.com
Address: 10.99.0.1
cephuser@adm >
10.99.0.1
Server: 10.99.0.1
Address: 10.99.0.1#53
1.0.99.10.in-addr.arpa name = DC1.domain.example.com.
24.2.3 Resolución de registros SRV #
AD utiliza registros SRV para localizar servicios, como Kerberos y LDAP. Para comprobar si los registros SRV se resuelven correctamente, utilice la shell interactiva nslookup
, por ejemplo:
cephuser@adm >
nslookup
Default Server: 10.99.0.1
Address: 10.99.0.1
> set type=SRV
> _ldap._tcp.domain.example.com.
Server: UnKnown
Address: 10.99.0.1
_ldap._tcp.domain.example.com SRV service location:
priority = 0
weight = 100
port = 389
svr hostname = dc1.domain.example.com
domain.example.com nameserver = dc1.domain.example.com
dc1.domain.example.com internet address = 10.99.0.1
24.2.4 Configuración de Kerberos #
Samba admite los back-ends Kerberos Heimdal y MIT. Para configurar Kerberos en el miembro de dominio, defina lo siguiente en el archivo /etc/krb5.conf
:
[libdefaults] default_realm = DOMAIN.EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = true
En el ejemplo anterior, Kerberos se configura para el reino DOMAIN.EXAMPLE.COM. No se recomienda definir ningún parámetro adicional en el archivo /etc/krb5.conf
. Si /etc/krb5.conf
contiene una línea include
, no funcionará; debe eliminar esta línea.
24.2.5 Resolución del nombre del host local #
Cuando se une un host al dominio, Samba intenta registrar el nombre de host en la zona DNS de AD. Para ello, la utilidad net
debe ser capaz de resolver el nombre de host mediante DNS o con una entrada correcta en el archivo /etc/hosts
.
Para verificar que el nombre de host se resuelve correctamente, utilice el comando getent hosts
:
cephuser@adm >
getent hosts example-host
10.99.0.5 example-host.domain.example.com example-host
El nombre de host y el nombre completo no deben resolverse en la dirección IP 127.0.0.1 ni en ninguna dirección IP que no sea la utilizada en la interfaz LAN del miembro de dominio. Si no se muestra ningún resultado o el host se resuelve en la dirección IP incorrecta y no está utilizando DHCP, defina la entrada correcta en el archivo /etc/hosts
:
127.0.0.1 localhost 10.99.0.5 example-host.samdom.example.com example-host
/etc/hosts
Si utiliza DHCP, compruebe que /etc/hosts
solo contiene la línea "127.0.0.1". Si sigue teniendo problemas, póngase en contacto con el administrador del servidor DHCP.
Si necesita añadir alias al nombre de host del equipo, añádalos al final de la línea que comienza con la dirección IP del equipo, no a la línea "127.0.0.1".
24.2.6 Configuración de Samba #
En esta sección se presenta información sobre las opciones de configuración específicas que debe incluir en la configuración de Samba.
La pertenencia al dominio de Active Directory se configura principalmente con el ajuste security = ADS
junto con los parámetros de asignación de ID y del dominio de Kerberos adecuados en la sección [global]
de /etc/samba/smb.conf
.
[global] security = ADS workgroup = DOMAIN realm = DOMAIN.EXAMPLE.COM ...
24.2.6.1 Elección del procesador final para la asignación de ID en winbindd
#
Si necesita que los usuarios tengan diferentes shells de entrada a la sesión o vías de directorio de inicio de Unix, o si desea que tengan el mismo ID en todas partes, deberá usar el back-end winbind "ad" y añadir atributos RFC2307 a AD.
Los atributos RFC2307 no se añaden automáticamente cuando se crean usuarios o grupos.
Los números de ID presentes en un controlador de dominio (números en el rango 3000000) no son atributos RFC2307 y no se utilizarán en los miembros de dominio de Unix. Si necesita tener los mismos números de ID en todas partes, añada los atributos uidNumber
y gidNumber
a AD y utilice el back-end winbind "ad" en los miembros de dominio de Unix. Si decide añadir los atributos uidNumber
y gidNumber
a AD, no utilice números en el rango 3000000.
Si los usuarios solo usarán el controlador de dominio de AD de Samba para la autenticación y no almacenarán datos ni entrarán a la sesión en él, puede usar el back-end winbind "rid". Esto calcula los ID de usuario y grupo del RID de Windows*. Si utiliza la misma sección [global]
de smb.conf
en cada miembro de dominio de Unix, obtendrá los mismos ID. Si utiliza el back-end "rid", no es necesario añadir nada a AD y los atributos RFC2307 se omitirán. Cuando utilice el back-end "rid", defina los parámetros template shell
y template homedir
en smb.conf
. Este valor es global y todos los usuarios obtienen la misma shell de entrada a la sesión y la misma vía del directorio de inicio de Unix (a diferencia de los atributos RFC2307, donde es posible definir shells y vías del directorio de inicio de Unix individuales).
Hay otra forma de configurar Samba: si necesita que los usuarios y grupos tengan el mismo ID en todas partes, pero solo necesitan que los usuarios tengan la mismo shell de entrada a la sesión y usen la misma vía de directorio de inicio de Unix. Puede hacerlo utilizando el back-end winbind "ad" y las líneas de plantilla en smb.conf
. De esta forma solo necesita añadir los atributos uidNumber
y gidNumber
a AD.
Encontrará información detallada sobre los back-end de asignación de ID disponibles en las páginas man relacionadas: man 8 idmap_ad
, man 8 idmap_rid
y man 8 idmap_autorid
.
24.2.6.2 Configuración de rangos de ID de usuario y grupo #
Después de decidir qué back-end winbind se va a utilizar, debe especificar los rangos que se deben usar con la opción idmap config
en smb.conf
. Por defecto, hay varios bloques de ID de usuarios y grupos en un miembro de dominio de Unix:
ID | Rango |
---|---|
0-999 | Usuarios y grupos del sistema local. |
A partir de 1000 | Usuarios y grupos de Unix local. |
A partir de 10000 | Usuarios y grupos del dominio |
Como puede ver en los rangos anteriores, no debe definir que los rangos "*" ni "DOMAIN" comiencen en 999 o un valor más bajo, ya que interferirían con los usuarios y grupos del sistema local. También debe dejar un espacio para cualquier usuario y grupo local de Unix, por lo que una buena opción podría ser iniciar los rangos de idmap config
en 3000.
Debe decidir cuánto podría crecer "DOMAIN" y si tiene previsto tener dominios de confianza. A continuación, puede definir los rangos de idmap config
de la siguiente manera:
Dominio | Rango |
---|---|
* | 3000-7999 |
DOMINIO | 10000-999999 |
DE CONFIANZA | 1000000-9999999 |
24.2.6.3 Asignación de la cuenta de administrador de dominio al usuario root
local #
Samba permite asignar cuentas de dominio a una cuenta local. Utilice esta función para ejecutar operaciones de archivo en el sistema de archivos del miembro del dominio como un usuario diferente que el de la cuenta que pidió la operación en el cliente.
La asignación del administrador de dominio a la cuenta root
local es opcional. Configure solo la asignación si el administrador de dominio necesita ser capaz de ejecutar operaciones de archivo en el miembro de dominio con permisos de usuario root
. Tenga en cuenta que asignar el administrador a la cuenta root
no permite entrar a la sesión en los miembros del dominio Unix como "Administrador".
Para asignar el administrador del dominio a la cuenta root
local, siga estos pasos:
Añada el siguiente parámetro a la sección
[global]
del archivosmb.conf
:username map = /etc/samba/user.map
Cree el archivo
/etc/samba/user.map
con el siguiente contenido:!root = DOMAIN\Administrator
Si utiliza el back-end de asignación de ID "ad", no defina el atributo uidNumber
para la cuenta de administrador de dominio. Si la cuenta tiene el atributo definido, el valor sustituye el UID local "0" del usuario root
y, por lo tanto, se produce un error en la asignación.
Para obtener más información, consulte el parámetro username map
en la página man de smb.conf
(man 5 smb.conf
).
24.2.7 Unión al dominio de Active Directory #
Para unir el host a Active Directory, ejecute:
cephuser@smb >
net ads join -U administrator
Enter administrator's password: PASSWORD
Using short domain name -- DOMAIN
Joined EXAMPLE-HOST to dns domain 'DOMAIN.example.com'
24.2.8 Configuración del conmutador de servicio de nombres #
Para hacer que los usuarios y grupos de dominio estén disponibles en el sistema local, debe habilitar la biblioteca del conmutador de servicio de nombres (NSS). Añada la entrada winbind
al final de las siguientes bases de datos en el archivo /etc/nsswitch.conf
:
passwd: files winbind group: files winbind
Conserve la entrada
files
como el primer origen para ambas bases de datos. Esto permite al NSS buscar usuarios y grupos de dominio desde los archivos/etc/passwd
y/etc/group
antes de consultar el serviciowinbind
.No añada la entrada
winbind
a la base de datosshadow
del NSS. Esto puede causar que la utilidadwbinfo
falle.No utilice los mismos nombres de usuario en el archivo
/etc/passwd
local que en el dominio.
24.2.9 Inicio de los servicios #
Tras los cambios de configuración, reinicie los servicios de Samba según se explica en la Sección 24.1.2.1, “Inicio de los servicios de Samba” o en la Sección 24.1.3.1, “Reinicio de recursos de Samba de alta disponibilidad”.
24.2.10 Prueba de la conectividad de winbindd
#
24.2.10.1 Envío de un ping de winbindd
#
Para verificar si el servicio winbindd
puede conectarse a los controladores de dominio de AD o a un controlador de dominio primario, escriba:
cephuser@smb >
wbinfo --ping-dc
checking the NETLOGON for domain[DOMAIN] dc connection to "DC.DOMAIN.EXAMPLE.COM" succeeded
Si se produce un error en el comando anterior, verifique que el servicio winbindd
se está ejecutando y que el archivo smb.conf
está configurado correctamente.
24.2.10.2 Búsqueda de usuarios y grupos de dominios #
La biblioteca libnss_winbind
permite buscar usuarios y grupos de dominio. Por ejemplo, para buscar el usuario de dominio "DOMAIN\demo01":
cephuser@smb >
getent passwd DOMAIN\\demo01
DOMAIN\demo01:*:10000:10000:demo01:/home/demo01:/bin/bash
Para buscar el grupo de dominio "Domain Users":
cephuser@smb >
getent group "DOMAIN\\Domain Users"
DOMAIN\domain users:x:10000:
24.2.10.3 Asignación de permisos de archivos a usuarios y grupos de dominio #
La biblioteca del conmutador del servicio de nombres (NSS) permite usar cuentas de usuario de dominio y grupos en los comandos. Por ejemplo, para definir como propietario de un archivo al usuario de dominio "demo01" y como grupo de dominio a "Domain Users", escriba:
cephuser@smb >
chown "DOMAIN\\demo01:DOMAIN\\domain users" file.txt