Синтаксична помилка Sudoers при виконанні команд sudo

Summary: Після налаштування ролі ви не можете виконати sudo-команди і отримуєте синтаксичну помилку у файлі 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

Під час запуску "sudo" може відмовити на одному або кількох вузлах, наприклад:

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

Це може відбуватися з різних причин:
 

1. Користувач або група, додана до ролі, є невирішеною на уражених вузлах:

На вузлах, які мають проблему, ви можете побачити, що користувач або група, яку було додано, є невирішеними:

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

Оскільки користувач або група є нерозв'язними, вузол не може знайти GID/UID для sudoers і дивлячись на /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 =

Зверніть увагу, що UID/GID не заповнений, і це призводить до синтаксичної помилки.
 

2. Створена роль містить дефіс у назві:

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

Наприклад, ця помилка існує на рядку 124:

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

 3. Користувач або група не мають пов'язаного UID або GID.

Resolution

1. Якщо вузли не можуть перекласти ім'я користувача або групи в UID/GID, ми повинні додати користувача/групу, як зазначено UID/GID.


Видаліть ім'я користувача або групи з конфігурації ролі:

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


Отримати відповідний UID/GID для користувача від вузла, який може виконувати цю операцію:

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
Примітка: Те саме можна зробити для користувача, замінивши «групи» на «users» замість GID, UID.

Застосовуйте UID/GID замість назви групи:

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

 Примітка: Те саме можна зробити для користувача, замінивши "add-gid" на "add-uid".

Конфігурація файлів sudoers тепер має коректно відображати 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

Також команди sudo мають працювати правильно:

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. Перейменуйте роль так, щоб вона не містила «-».
 

Перейменуйте роль так, щоб вона не містила дефіса:

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

 

Зверніть увагу, що синтаксичної помилки більше немає:

cluster-1% % sudo date
Password:

 

3. Файл sudoers вимагає UID або GID для ідентифікації користувачів і груп, щоб усі користувачі та групи мали відповідний UID або 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.