Sudoers-tiedoston syntaksivirhe sudo-komentoja suoritettaessa

Zhrnutie: Kun olet määrittänyt roolin, et voi suorittaa sudo-komentoja, ja sudoers-tiedostossa näkyy syntaksivirhe.

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

Kun suoritat "sudo" -komento, se voi epäonnistua yhdessä tai useammassa solmussa, esimerkiksi:

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

Tämä voi tapahtua useista syistä:
 

1. Rooliin lisättyä käyttäjää tai ryhmää ei voi ratkaista solmuissa, joita ongelma koskee:

Ongelman esittävissä solmuissa saattaa näkyä, että lisätty käyttäjä tai ryhmä ei ole ratkaissut:

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

Koska käyttäjää tai ryhmää ei voi ratkaista, solmu ei löydä GID-tunnusta/UID-tunnusta sudoers tiedosto ja tarkastelemalla /usr/local/etc/sudoers Tiedosto:

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 =

Huomaa, että UID-/GID-tunnusta ei ole täytetty, mikä aiheuttaa syntaktisen virheen.
 

2. Luodun roolin nimessä on yhdysviiva:

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

Esimerkiksi tämä virhe on rivillä 124:

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

 3. Käyttäjään tai ryhmään ei liity käyttäjätunnusta tai GID:tä.

Riešenie

1. Jos solmut eivät pysty kääntämään käyttäjän tai ryhmän nimeä UID-/GID-tunnukseksi, käyttäjä/ryhmä on lisättävä UID:n/GID:n määrittämällä tavalla.


Poista käyttäjän tai ryhmän nimi roolimäärityksestä:

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


Hanki käyttäjälle oikea UID/GID solmusta, joka voi suorittaa toiminnon:

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
Huomautus: Sama voidaan tehdä käyttäjälle korvaamalla "ryhmät" "käyttäjillä" GID: n, UID: n sijasta.

Käytä UID-/GID-tunnusta ryhmän nimen sijaan:

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

 Huomautus: Sama voidaan tehdä käyttäjälle korvaamalla "add-gid" sanalla "add-uid".

Sudoers-tiedostokokoonpanon pitäisi nyt vastata oikein 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

Myös sudo-komentojen pitäisi toimia oikein:

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. Nimeä rooli uudelleen niin, että se ei sisällä --merkkiä.
 

Nimeä rooli uudelleen niin, ettei se sisällä yhdysviivaa:

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

 

Huomaa, että syntaksivirhettä ei enää ole:

cluster-1% % sudo date
Password:

 

3. Sudoers-tiedosto vaatii UID: n tai GID: n käyttäjien ja ryhmien tunnistamiseksi ja sen varmistamiseksi, että kaikilla käyttäjillä ja ryhmillä on liitetty UID tai GID.

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.