Erreur de syntaxe du fichier sudoers lors de l’exécution des commandes sudo

Zhrnutie: Après avoir configuré un rôle, vous ne pouvez pas exécuter les commandes sudo et une erreur de syntaxe s’affiche dans le fichier sudoers.

Tento článok sa vzťahuje na Tento článok sa nevzťahuje na Tento článok nie je viazaný na žiadny konkrétny produkt. V tomto článku nie sú uvedené všetky verzie produktov.

Symptómy

Lors de l’exécution d’un "sudo", elle peut échouer sur un ou plusieurs nœuds, par exemple :

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

Príčina

Cela peut se produire pour différentes raisons :
 

1. L’utilisateur ou le groupe ajouté à un rôle n’est pas résolu sur les nœuds concernés :

Sur les nœuds qui présentent le problème, vous pouvez voir que l’utilisateur ou le groupe qui a été ajouté n’est pas résolu :

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

Étant donné que l’utilisateur ou le groupe n’est pas résolu, le nœud ne peut pas localiser un GID/UID pour le sudoers fichier, et en regardant le /usr/local/etc/sudoers fichier :

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 =

Notez que l’UID/GID n’a pas été renseigné, ce qui entraîne une erreur syntaxique.
 

2. Le rôle qui a été créé contient un tiret dans le nom :

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

Par exemple, cette erreur se trouve à la ligne 124 :

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

 3. L’utilisateur ou le groupe ne dispose pas d’un UID ou d’un GID associé.

Riešenie

1. Si les nœuds ne parviennent pas à traduire un nom d’utilisateur ou de groupe en UID/GID, nous devons plutôt ajouter l’utilisateur/le groupe spécifié par l’UID/GID.


Supprimez le nom d’utilisateur ou de groupe de la configuration du rôle :

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


Obtenez l’UID/GID approprié pour l’utilisateur à partir d’un nœud qui peut effectuer l’opération :

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
Remarque : La même chose peut être faite pour un utilisateur, en remplaçant « groups » par « users » au lieu de GID, UID.

Appliquez l’UID/GID plutôt que le nom du groupe :

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

 Remarque : La même chose peut être faite pour un utilisateur, en remplaçant « add-gid » par « add-uid ».

La configuration du fichier sudoers doit désormais refléter correctement 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

En outre, les commandes sudo doivent fonctionner correctement :

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. Renommez le rôle afin qu’il ne contienne pas un « - ».
 

Renommez le rôle afin qu’il ne contienne pas de trait d’union :

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

 

Notez qu’il n’y a plus d’erreur de syntaxe :

cluster-1% % sudo date
Password:

 

3. Le fichier sudoers nécessite un UID ou un GID pour identifier les utilisateurs et les groupes, et s’assurer que tous les utilisateurs et groupes disposent d’un UID ou d’un GID associé.

Dotknuté produkty

PowerScale OneFS
Vlastnosti článku
Číslo článku: 000102433
Typ článku: Solution
Dátum poslednej úpravy: 22 dec 2025
Verzia:  5
Nájdite odpovede na svoje otázky od ostatných používateľov spoločnosti Dell
Služby podpory
Skontrolujte, či sa na vaše zariadenie vzťahujú služby podpory.