Error de sintaxis del archivo sudoers cuando se ejecutan comandos sudo

Summary: Después de configurar una función, no puede ejecutar comandos sudo y aparece un error de sintaxis en el archivo 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

Cuando se ejecuta un "sudo", puede fallar en uno o varios nodos, por ejemplo:

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

Esto puede ocurrir por varias razones:
 

1. El usuario o grupo agregado a una función no se puede resolver en los nodos afectados:

En los nodos que presentan el problema, es posible que vea que el usuario o el grupo que se agregó no se puede resolver:

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

Dado que el usuario o el grupo no se pueden resolver, el nodo no puede localizar un GID/UID para el sudoers archivo, y mirando el archivo /usr/local/etc/sudoers archivo:

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 el UID/GID no se completó, lo que genera un error sintáctico.
 

2. La función que se creó contiene un guion en el nombre:

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 ejemplo, este error existe en la línea 124:

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

 3. El usuario o grupo no tiene un UID o GID asociado.

Resolution

1. Si los nodos no pueden traducir un nombre de usuario o grupo a un UID/GID, debemos agregar el usuario o el grupo según lo especificado por el UID/GID en su lugar.


Elimine el nombre de usuario o grupo de la configuración de funciones:

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


Obtenga el UID/GID adecuado para el usuario desde un nodo que pueda realizar la operación:

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: Lo mismo se puede hacer para un usuario, reemplazando "grupos" por "usuarios" en lugar de GID, UID.

Aplique el UID/GID en lugar del nombre de 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: Lo mismo se puede hacer para un usuario, reemplazando "add-gid" por "add-uid".

La configuración del archivo sudoers ahora debería reflejar correctamente el 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

Además, los comandos sudo deben funcionar correctamente:

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. Cambie el nombre de la función para que no contenga un "-".
 

Cambie el nombre de la función para que no contenga guión:

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

 

Tenga en cuenta que ya no hay un error de sintaxis:

cluster-1% % sudo date
Password:

 

3. El archivo sudoers requiere un UID o GID para identificar usuarios y grupos, y asegúrese de que todos los usuarios y grupos tengan un UID o GID asociado.

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.