PowerScale OneFS: os GIDs não são atribuídos corretamente aos tokens de mapeamento após um upgrade do OneFS
Сводка: Depois de fazer upgrade do OneFS para 9.5.1.5, 9.7.1.10, 9.10.1.3 ou 9.12+, os usuários podem não receber o GID correto de um provedor que não seja do AD.
Симптомы
Após os upgrades para o OneFS, o GID mapeado de um usuário pode não ser atribuído corretamente, resultando em problemas de acesso para os usuários afetados. Nesse cenário, espera-se que o GID seja extraído de um provedor que não seja AD, como LDAP, por meio de uma regra de mapeamento. A regra afetada está usando o operador "insert" para extrair a identidade do grupo primário para o token do usuário do AD.
Por exemplo, uma regra de mapeamento como a abaixo inseriria um grupo na identidade do usuário do AD no token de mapeamento.
ninetenonethree-1# isi zone zones list -v
Name: System
Path: /ifs
Groupnet: groupnet0
Map Untrusted:
Auth Providers: lsa-ldap-provider:TESTLDAP, lsa-activedirectory-provider:TESTDOMAIN.LOCAL, lsa-local-provider:System, lsa-file-provider:System
NetBIOS Name:
User Mapping Rules: TESTDOMAIN\* &= * [], TESTDOMAIN\* += * [group,break]
Home Directory Umask: 0077
Skeleton Directory: /usr/share/skel
Cache Entry Expiry: 4H
Negative Cache Entry Expiry: 1m
Zone ID: 1
Os administradores observam que o GID do grupo LDAP agora está listado como suplementar no token de mapeamento. De acordo com a regra de mapeamento, espera-se que ele seja o grupo principal do usuário.
ninetenonethree-1# isi auth mapping token testdomain\\testuser
User
Name: testuser
UID: 10000
SID: S-1-5-21-2828724323-430878434-1842076698-53601
On Disk: 10000
ZID: 1
Zone: System
Privileges: -
Primary Group
Name: TESTDOMAIN\domain users <<<<<<<<< Primary group is pulled from AD, which is not expected in this scenario
GID: 1000002
SID: S-1-5-21-2828724323-430878434-1842076698-513
On Disk: 1000002
Supplemental Identities
Name: testgroup <<<<<<<<< Per the mapping rules this should be the primary
GID: 3500
SID: S-1-22-2-3500
Name: Users
GID: 1545
SID: S-1-5-32-545
Name: Authenticated Users
SID: S-1-5-11
O provedor do AD está configurado com assume-default-domain ativado:
ninetenonethree-1# isi auth ads view TESTDOMAIN.LOCAL -v | grep -i assume Assume Default Domain: Yes
Причина
Aprimoramentos de código para um problema de armazenamento em cache com nomes de alias enquanto assume-default-domain está habilitado foram corrigidos no código afetado. Devido ao LSASS Arquitetura de cache, a correção resultou em mapeamentos de grupo de contas que não são do domínio não funcionando como esperado.
Os níveis de código afetados são os seguintes e incluem todos os patches subsequentes após os especificados abaixo para essa versão:
- OneFS 9.5.1.5
- OneFS 9.7.1.10
- OneFS 9.10.1.3
- OneFS 12.0.0.0 e todas as versões acima
Para encontrar esse problema, o seguinte deve ser verdadeiro:
- Um provedor do Active Directory (AD) é configurado no cluster, com '
assume-default-domain' ativado. - Uma regra de mapeamento de usuário na zona de acesso com o provedor do AD é definida com o mapeamento de grupo "insert" fazendo referência a um grupo que não é do AD.
Se ambos não forem verdadeiros, um problema diferente está sendo enfrentado e o Suporte Dell deverá ser envolvido para investigar.
Разрешение
Os administradores podem desabilitar assume-default-domainou ajuste as regras de mapeamento para ter o prefixo de domínio apropriado se assume-default-domain Deve permanecer habilitado.
Para ajustes nas regras de mapeamento, o mapeamento 'inserir grupo' deve ser modificado.
O prefixo de domínio para os provedores secundários é o seguinte, com o nome do provedor local de uma zona mostrado abaixo:
LDAP: LDAP_USERS\ NIS: NIS_USERS\ File: UNIX_USERS\ Local: <local domain>\
Para o exemplo de antes, modifique a regra de mapeamento para chamar explicitamente o domínio do provedor de LDAP. É recomendável excluir as regras de mapeamento antigas antes de adicionar as novas.
ninetenonethree-1# isi zone zones modify system --user-mapping-rules="TESTDOMAIN\* &= LDAP_USERS\* []"; isi zone zones modify system --add-user-mapping-rules="TESTDOMAIN\* += LDAP_USERS\* [group]"
Valide as alterações aplicadas:
ninetenonethree-1# isi zone zones list -v
Name: System
Path: /ifs
Groupnet: groupnet0
Map Untrusted:
Auth Providers: lsa-ldap-provider:TESTLDAP, lsa-activedirectory-provider:TESTDOMAIN.LOCAL, lsa-local-provider:System, lsa-file-provider:System
NetBIOS Name:
User Mapping Rules: TESTDOMAIN\* &= LDAP_USERS\* [], TESTDOMAIN\* += LDAP_USERS\* [group,break]
Home Directory Umask: 0077
Skeleton Directory: /usr/share/skel
Cache Entry Expiry: 4H
Negative Cache Entry Expiry: 1m
Zone ID: 1
Limpe o cache de mapeamento:
ninetenonethree-1# isi auth mapping flush
Você pode verificar o token de mapeamento para o usuário para confirmar se o grupo está mapeado corretamente. O grupo LDAP agora está listado como o grupo principal do usuário, mostrando que as regras de mapeamento estão funcionando.
ninetenonethree-1# isi auth mapping token testdomain\\testuser
User
Name: testuser
UID: 10000
SID: S-1-5-21-2828724323-430878434-1842076698-53601
On Disk: 10000
ZID: 1
Zone: System
Privileges: -
Primary Group
Name: testgroup <<<<<<<<< The LDAP group is now properly showing up as the primary group
GID: 3500
SID: S-1-22-2-3500
On Disk: 3500
Supplemental Identities
Name: TESTDOMAIN\domain users <<<<<<<<< No longer listed as primary
GID: 1000002
SID: S-1-5-21-2828724323-430878434-1842076698-513
Name: Users
GID: 1545
SID: S-1-5-32-545
Name: Authenticated Users
SID: S-1-5-11
Дополнительная информация
Para obter mais informações sobre como mapear operadores de regras, consulte: User mapping identities across authentication provider operators