Errore di sintassi del file Sudoers durante l'esecuzione di comandi sudo

Summary: Dopo aver configurato un ruolo, non è possibile eseguire i comandi sudo e viene visualizzato un errore di sintassi nel file 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

Quando si esegue un "sudo", potrebbe non riuscire su uno o più nodi, ad esempio:

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

Ciò può verificarsi per vari motivi:
 

1. L'utente o il gruppo aggiunto a un ruolo non è risolvibile sui nodi interessati:

Nei nodi che presentano il problema, è possibile che l'utente o il gruppo aggiunto non sia risolvibile:

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

Poiché l'utente o il gruppo non è risolvibile, il nodo non è in grado di individuare un GID/UID per sudoers e guardando il file /usr/local/etc/sudoers file:

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 =

Si noti che l'UID/GID non è stato popolato e ciò genera un errore sintattico.
 

2. Il ruolo creato contiene un trattino nel 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

Ad esempio, questo errore esiste nella riga 124:

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

 3. All'utente o al gruppo non è associato un UID o GID.

Resolution

1. Se i nodi non sono in grado di tradurre il nome di un utente o di un gruppo in un UID/GID, è necessario aggiungere l'utente/gruppo come specificato dall'UID/GID.


Rimuovere il nome dell'utente o del gruppo dalla configurazione del ruolo:

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


Ottenere l'UID/GID appropriato per l'utente da un nodo in grado di eseguire l'operazione:

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 stesso può essere fatto per un utente, sostituendo "gruppi" con "utenti" anziché GID, UID.

Applicare l'UID/GID anziché il nome del gruppo:

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 stesso vale per un utente, sostituendo "add-gid" con "add-uid".

La configurazione del file sudoer ora dovrebbe riflettere correttamente l'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

Inoltre, i comandi sudo dovrebbero funzionare correttamente:

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. Rinominare il ruolo in modo che non contenga il carattere '-'.
 

Rinominare il ruolo in modo che non contenga un trattino:

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

 

Si noti che non è più presente un errore di sintassi:

cluster-1% % sudo date
Password:

 

3. Il file sudoers richiede un UID o GID per identificare utenti e gruppi e verificare che tutti gli utenti e i gruppi dispongano di un UID o GID associato.

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.