ASIGNACIÓN DE ID
La función asignación de ID permite a SSSD actuar como un cliente de Active
Directory sin requerir de administradores para extender los atributos de
usuario para soportar atributos POSIX para los identificadores de usuario y
grupo.
NOTA: Cuando asignación de ID está habilitado, los atributos uidNumber y
gidNumber son ignorados. Esto es para evitar la posibilidad de conflictos
entre los valores automáticamente asignados y los asignados manualmente. Si
usted necesita usar los valore asignados manualmente, TODOS los valores
deben ser asignados manualmente.
Please note that changing the ID mapping related configuration options will
cause user and group IDs to change. At the moment, SSSD does not support
changing IDs, so the SSSD database must be removed. Because cached passwords
are also stored in the database, removing the database should only be
performed while the authentication servers are reachable, otherwise users
might get locked out. In order to cache the password, an authentication must
be performed. It is not sufficient to use
sss_cache 8
to remove the database, rather the process consists of:
Making sure the remote servers are reachable
Stopping the SSSD service
Removing the database
Starting the SSSD service
Moreover, as the change of IDs might necessitate the adjustment of other
system properties such as file and directory ownership, it's advisable to
plan ahead and test the ID mapping configuration thoroughly.
Algoritmo de asignación
Active Directory suministra un objectSID para cada objeto usuario y grupo en
el directorio. El objectSID puede ser dividido en componente que representan
la identidad del dominio Active Directory y le identificador relativo (RID)
del objeto usuario y grupo.
El algoritmo de asignación de ID de SSSD tiene un rango de UIDs disponibles
y lo divide en secciones componente de igual tamaño – llamadas “rebanadas”
-. Cada rebanada representa el espacio disponible para un dominio Active
Directory.
Cuando se encuentra por primera vez una entrada de usuario o grupo para un
dominio concreto, SSSD asigna una de las rebanadas disponibles para ese
dominio. Con el objetivo de hacer esta asignación de rebanadas repetible
sobre diferentes máquinas clientes, seleccionamos la rebanada en base al
siguiente algoritmo:
La cadena SID pasada a través del algoritmo murmurhash3 para convertirlo en
un valor picado de 32 bit. Después tomamos los módulos de este valor con el
número total de rebanadas disponibles para recoger la rebanada.
NOTA: Es posible encontrar colisiones en el picadillo y los módulos
subsiguientes. En estas situaciones, seleccionaremos la siguiente rebanada
disponible, pero puede no ser posible reproducir los mismos conjuntos
exactos de rebanadas sobre otras máquinas (puesto que el orden en que se
encuentren desterminará sus rebanadas). En esta situación, se recomienda o
bien conmutar para usar los atributos explícitos POSIX en Active Directory
(deshabilitando la asignación de ID) o configurar un dominio por defecto
para garantizar que al menos uno sea siempre consistente. Vea
Configuración
para detalles.
Configuración
Configuración mínima (en la sección [domain/DOMAINNAME]
):
ldap_id_mapping = True ldap_schema = ad
The default configuration results in configuring 10,000 slices, each capable
of holding up to 200,000 IDs, starting from 200,000 and going up to
2,000,200,000. This should be sufficient for most deployments.
Configuración Avanzada
ldap_idmap_range_min (entero)
Specifies the lower (inclusive) bound of the range of POSIX IDs to use for
mapping Active Directory user and group SIDs. It is the first POSIX ID which
can be used for the mapping.
NOTA: Esta opción es diferente de min_id
en esta
min_id
actúa para filtrar la salida de las peticiones a este
dominio, mientras esta opción controla el rango de la asignación de ID. Esto
es una sutil diferencia, pero el buen consejo general sería que
min_id
fuera menor o igual que
ldap_idmap_range_min
Por defecto: 200000
ldap_idmap_range_max (entero)
Specifies the upper (exclusive) bound of the range of POSIX IDs to use for
mapping Active Directory user and group SIDs. It is the first POSIX ID which
cannot be used for the mapping anymore, i.e. one larger than the last one
which can be used for the mapping.
NOTA: Esta opción es diferente de max_id
en esta
max_id
actúa para filtrar la salida de las peticiones a este
dominio, mientras esta opción controla el rango de la asignación de ID. Esto
es una sutil diferencia, pero el buen consejo general sería que
max_id
fuera menor o igual que
ldap_idmap_range_max
Por defecto: 2000200000
ldap_idmap_range_size (entero)
Especifica el número de IDs disponibles para cada rebanada. Si el rango no
se divide de forma igual entre los valores mínimo y máximo, creará tantas
rebanadas completas como sea posible.
NOTE: The value of this option must be at least as large as the highest user
RID planned for use on the Active Directory server. User lookups and login
will fail for any user whose RID is greater than this value.
For example, if your most recently-added Active Directory user has
objectSid=S-1-5-21-2153326666-2176343378-3404031434-1107,
ldap_idmap_range_size
must be at least 1108 as range size is
equal to maximal SID minus minimal SID plus one (e.g. 1108 = 1107 - 0 + 1).
It is important to plan ahead for future expansion, as changing this value
will result in changing all of the ID mappings on the system, leading to
users with different local IDs than they previously had.
Por defecto: 200000
ldap_idmap_default_domain_sid (cadena)
Especifica el SID de dominio del dominio por defecto. Esto garantizará que
este dominio será asignado siempre a la rebanada cero en el mapa de ID,
sobrepasando el algoritmo murmurhash descrito arriba.
Predeterminado: no definido
ldap_idmap_default_domain (cadena)
Especifica el nombre del dominio por defecto.
Predeterminado: no definido
ldap_idmap_autorid_compat (booleano)
Cambia el comportamiento del algoritmo de asignación de id para que se
comporte de un modo más similar al algoritmo idmap_autorid
de
winbind.
When this option is configured, domains will be allocated starting with
slice zero and increasing monotonically with each additional domain.
NOTA: Este algoritmo no es determinista (depende del orden en que usuario y
grupos son pedidos). Si se requiere este modo para compatibilidad con
máquinas que ejecutan winbind, se recomienda que también use la opción
ldap_idmap_default_domain_sid
para garantizar que al menos un
dominio está asignado consistentemente a la rebanada cero.
Por defecto: False
ldap_idmap_helper_table_size (integer)
Maximal number of secondary slices that is tried when performing mapping
from UNIX id to SID.
Note: Additional secondary slices might be generated when SID is being
mapped to UNIX id and RID part of SID is out of range for secondary slices
generated so far. If value of ldap_idmap_helper_table_size is equal to 0
then no additional secondary slices are generated.
Predeterminado: 10
Well-Known SIDs
SSSD supports to look up the names of Well-Known SIDs, i.e. SIDs with a
special hardcoded meaning. Since the generic users and groups related to
those Well-Known SIDs have no equivalent in a Linux/UNIX environment no
POSIX IDs are available for those objects.
The SID name space is organized in authorities which can be seen as
different domains. The authorities for the Well-Known SIDs are
Null Authority
World Authority
Local Authority
Creator Authority
Mandatory Label Authority
Authentication Authority
NT Authority
Built-in
The capitalized version of these names are used as domain names when
returning the fully qualified name of a Well-Known SID.
Since some utilities allow to modify SID based access control information
with the help of a name instead of using the SID directly SSSD supports to
look up the SID by the name as well. To avoid collisions only the fully
qualified names can be used to look up Well-Known SIDs. As a result the
domain names NULL AUTHORITY
, WORLD AUTHORITY
,
LOCAL AUTHORITY
, CREATOR AUTHORITY
,
MANDATORY LABEL AUTHORITY
, AUTHENTICATION
AUTHORITY
, NT AUTHORITY
and BUILTIN
should not be used as domain names in sssd.conf.