Chyba syntaxe souboru Sudoers při spouštění příkazů sudo

Summary: Po nakonfigurování role nelze spustit příkazy sudo a v souboru sudoers se zobrazí chyba syntaxe.

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

Při spuštění "sudo", může selhat na jednom nebo více uzlech, například:

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

K tomu může dojít z různých důvodů:
 

1. Uživatel nebo skupina přidaní do role nejsou na ovlivněných uzlech přeložitelní:

Na uzlech, u kterých se problém vyskytuje, se může stát, že přidaného uživatele nebo skupinu nelze vyřešit:

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

Jelikož uživatel nebo skupina nelze přeložit, uzel nemůže najít GID/UID pro sudoers souboru a při pohledu na /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 =

Všimněte si, že UID/GID nebylo naplněno, což vede k syntaktické chybě.
 

2. Role, která byla vytvořena, obsahuje v názvu pomlčku:

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

Tato chyba existuje například na řádku 124:

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

 3. Uživatel nebo skupina nemá přiřazené UID ani GID.

Resolution

1. Pokud uzly nejsou schopny přeložit název uživatele nebo skupiny na UID/GID, musíme místo toho přidat uživatele/skupinu, jak je uvedeno v UID/GID.


Odeberte název uživatele nebo skupiny z konfigurace role:

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


Získejte správné UID/GID pro uživatele z uzlu, který může provést operaci:

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
Poznámka: Totéž lze provést pro uživatele, kdy se "groups" nahradí "users" namísto GID, UID.

Použijte UID/GID místo názvu skupiny:

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

 Poznámka: Totéž lze provést pro uživatele nahrazením "add-gid" za "add-uid".

Konfigurace souboru sudoers by nyní měla správně odrážet identifikátor 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

Příkazy sudo by také měly fungovat správně:

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. Přejmenujte roli tak, aby neobsahovala znak -.
 

Přejmenujte roli tak, aby neobsahovala pomlčku:

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

 

Všimněte si, že již nedochází k chybě syntaxe:

cluster-1% % sudo date
Password:

 

3. Soubor sudoers vyžaduje UID nebo GID k identifikaci uživatelů a skupin, ujistěte se, že všichni uživatelé a skupiny mají přiřazené UID nebo GID.

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.