sudo komutlarını çalıştırırken sudoers dosya sözdizimi hatası

Summary: Bir rolü yapılandırdıktan sonra sudo komutlarını çalıştıramıyorsunuz ve sudoers dosyasında bir söz dizimi hatasıyla karşılaşıyorsunuz.

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

Bir çalıştırırken "sudokomutunu çalıştırırsanız, bir veya daha fazla düğümde başarısız olabilir, örneğin:

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

Bu, çeşitli nedenlerle ortaya çıkabilir:
 

1. Bir role eklenen kullanıcı veya grup, etkilenen düğümlerde çözümlenemiyor:

Sorunun görüldüğü düğümlerde, eklenen kullanıcı veya grubun çözümlenemediğini görebilirsiniz:

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

Kullanıcı veya grup çözümlenemediğinden düğüm, için bir GID/UID bulamıyor sudoers dosyasına bakın ve /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 bilgisinin doldurulmadığına ve bunun bir sözdizimi hatasına yol açtığına dikkat edin.
 

2. Oluşturulan rolün adında bir kısa çizgi var:

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

Örneğin, bu hata 124. satırda mevcuttur:

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

 3. Kullanıcı veya grubun ilişkili bir UID veya GID'si yoktur.

Resolution

1. Düğümler bir kullanıcı veya grup adını UID/GID'ye çeviremiyorsa bunun yerine UID/GID tarafından belirtilen kullanıcıyı/grubu eklemeliyiz.


Rol yapılandırmasından kullanıcı veya grup adını kaldırın:

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


İşlemi gerçekleştirebilen bir düğümden kullanıcı için uygun UID/GID'yi edinin:

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
Not: Aynısı bir kullanıcı için de yapılabilir ve "gruplar" yerine GID, UID yerine "kullanıcılar" yapılabilir.

Grup adı yerine UID/GID'yi uygulayın:

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

 Not: Aynı işlem, "add-gid" yerine "add-uid" kullanan bir kullanıcı için de yapılabilir.

Sudoers dosya yapılandırması artık uid/gid'yi düzgün bir şekilde yansıtmalıdır:

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

Ayrıca, sudo komutları düzgün çalışmalıdır:

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. Rolü "-" içermeyecek şekilde yeniden adlandırın.
 

Rolü, kısa çizgi içermeyecek şekilde yeniden adlandırın:

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

 

Artık bir söz dizimi hatası olmadığına dikkat edin:

cluster-1% % sudo date
Password:

 

3. Sudoers dosyası, kullanıcıları ve grupları tanımlamak için bir UID veya GID gerektirir, tüm kullanıcıların ve grupların ilişkili bir UID veya GID'ye sahip olduğundan emin olun.

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.