Erro de sintaxe do arquivo sudoers ao executar comandos sudo

Summary: Depois de configurar uma função, você não consegue executar comandos sudo e é apresentado um erro de sintaxe no arquivo sudoers.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Ao executar um "sudo", ele pode falhar em um ou vários nós, por exemplo:

cluster-1# isi_for_array -s sudo date
cluster-1: Fri Sep 12 16:58:29 CDT 2014
cluster-2: Fri Sep 12 16:58:30 CDT 2014
cluster-3: sudo: >>> /usr/local/etc/sudoers: syntax error near line 124 <<<
cluster-3: sudo: parse error in /usr/local/etc/sudoers near line 124
cluster-3: sudo: no valid sudoers sources found, quitting
cluster-3: sudo: unable to initialize policy plugin

Cause

Isso pode ocorrer por vários motivos:
 

1. O usuário ou grupo adicionado a uma função não pode ser resolvido nos nós afetados:

Nos nós que exibem o problema, você pode ver que o usuário ou grupo que foi adicionado não pode ser resolvido:

cluster-1# isi_for_array -n3 'isi auth users view domain\\group'
cluster-3: Failed to find group for 'GROUP:domain\group': No such group

Como o usuário ou o grupo não pode ser resolvido, o nó não consegue localizar um GID/UID para o sudoers e olhando para o /usr/local/etc/sudoers :

cluster-1# isi_for_array -s "egrep -i 'user_alias.*newrole' /usr/local/etc/sudoers"
cluster-1: User_Alias NEWROLE = %#1000010
cluster-2: User_Alias NEWROLE = %#1000010
cluster-3: User_Alias NEWROLE =

Observe que o UID/GID não foi preenchido, o que resulta em um erro sintático.
 

2. A função criada contém um hífen no nome:

cluster-1# isi auth roles view test-role                                                               
       Name: test-role
Description: -
    Members: DOMAIN\user
 Privileges
             ID : ISI_PRIV_LOGIN_SSH
      Read Only : True

             ID : ISI_PRIV_AUTH
      Read Only : False

cluster-1% sudo date
sudo: >>> /usr/local/etc/sudoers: syntax error near line 124 <<<
sudo: parse error in /usr/local/etc/sudoers near line 124
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Por exemplo, este erro existe na linha 124:

cluster-1# grep -n '' /usr/local/etc/sudoers | grep ^124
124:User_Alias TEST-ROLE = #1000003

 3. O usuário ou grupo não tem um UID ou GID associado.

Resolution

1. Se os nós não conseguirem converter um nome de usuário ou grupo em um UID/GID, devemos adicionar o usuário/grupo conforme especificado pelo UID/GID.


Remova o nome de usuário ou grupo da configuração da função:

cluster-1# isi auth roles modify --role=newrole --remove-group=domain\\group
cluster-1# isi auth roles view newrole                                                          
       Name: newrole
Description: -
    Members: -
 Privileges
             ID : ISI_PRIV_LOGIN_SSH
      Read Only : True

             ID : ISI_PRIV_SMB
      Read Only : False


Obtenha o UID/GID adequado para o usuário de um nó que possa executar a operação:

cluster-1# isi auth groups view domain\\group
            Name: DOMAIN\group
              DN: CN=group,CN=Users,DC=domain,DC=com
             SID: S-1-5-21-463481935-3723234361-2963677383-1144
             GID: 1000010
          Domain: DOMAIN
Sam Account Name: group
        Provider: lsa-activedirectory-provider:DOMAIN.COM
   Generated GID: Yes
Nota: O mesmo pode ser feito para um usuário, substituindo "grupos" por "usuários" em vez de GID, UID.

Aplique o UID/GID em vez do nome do grupo:

cluster-1# isi auth roles modify --role=newrole --add-gid=1000010
cluster-1# isi auth roles view newrole                                                          
       Name: newrole
Description: -
    Members: DOMAIN\group
 Privileges
             ID : ISI_PRIV_LOGIN_SSH
      Read Only : True

             ID : ISI_PRIV_SMB
      Read Only : False

 Nota: O mesmo pode ser feito para um usuário, substituindo "add-gid" por "add-uid".

A configuração do arquivo sudoers agora deve refletir corretamente o UID/GID:

cluster-1# isi_for_array -s "egrep -i 'alias.*newrole' /usr/local/etc/sudoers"
cluster-1: User_Alias NEWROLE = %#1000010
cluster-2: User_Alias NEWROLE = %#1000010
cluster-3: User_Alias NEWROLE = %#1000010

Além disso, os comandos sudo devem funcionar corretamente:

cluster-1# isi_for_array -s sudo date                                                      
cluster-1: Fri Sep 12 17:20:14 CDT 2014
cluster-2: Fri Sep 12 17:20:14 CDT 2014
cluster-3: Fri Sep 12 17:20:14 CDT 2014

 

2. Renomeie a função para que ela não contenha um '-'.
 

Renomeie a função para que ela não contenha um hífen:

cluster-1# isi auth roles modify --role=test-role --name=test_role

 

Observe que não há mais um erro de sintaxe:

cluster-1% % sudo date
Password:

 

3. O arquivo sudoers requer um UID ou GID para identificar usuários e grupos, garantindo que todos os usuários e grupos tenham um UID ou GID associado.

Affected Products

PowerScale OneFS
Article Properties
Article Number: 000102433
Article Type: Solution
Last Modified: 22 Dec 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.