Nopasswd sudoers aracılığıyla birden fazla komuta nasıl erişebilirim?


45

Aşağıda bildiğim şey:

sudoersBelirli bir görev için kullanıcıya haklar vermek için bunu aşağıdaki satırı dosyaya eklemem gerekiyor.

user_name ALL=NOPASSWD: /usr/bin/apt-get install

Bu durumda , tüm kurulum haklarına sahip 2 hizmeti (yani Apacheve MySQL) yeniden başlatmak için bu kullanıcıya erişim vermek istiyorum .

Yukarıdaki satırı kullanarak, ona tüm kurulum haklarını verdim, şimdi hizmetlere hak vermek için aynı satırı iki kez daha eklemek zorunda mıyım? Veya bu komutları virgülle veya başka bir şeyle ayırarak aynı satıra ekleyebilir miyim?

Yanıtlar:


48

Bu sorunu sınırlı yönetici hakları için yeni bir grup oluşturarak çözdüm ... bu grubun adı bundan LimitedAdminssonra sudoersdosyayı aşağıda güncelledikten sonra .

Eklediğim satır:

%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/apache2 restart

Bu tam /etc/sudoersdosya:

# This file MUST be edited with the 'visudo' command as root.    
#   
# Please consider adding local content in /etc/sudoers.d/ instead of directly modifying   his file.   
#   
# See the man page for details on how to write a sudoers file.  
# 
Defaults    env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL  

#includedir /etc/sudoers.d
%domain_name\\administrators ALL=(ALL) ALL
%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/apache2 restart

Sisteminizin etki alanı olup olmadığı durumunda mükemmel çalışıyor.


Çizgiden sonra bir şeyler koymaman gerekiyordu değil #includedirmi?
hamstar

@hamstar Hey Merhaba! Evet haklısınız, bu yapılandırma dosyasını şirketimde 2 yıldan fazla bir süredir kullanıyorum ve mükemmel çalışıyor. Sizden bile önceki son iki satırı koymak için öneririm #includedir.
Hrish,

3
Veya daha iyisi, bu iki satırı / etc / sudoers düzenlemek yerine /etc/sudoers.d altındaki yeni bir dosyaya yerleştirin.
tgharold

@tgharold Evet dostum !! Haklısın ... gerçekten önerdiklerimden daha iyi bir seçenek ... :) Fikrinin benim yerimde de uygulamaya çalışacağını takdir ediyorum.
Hrish

#İncludedir bir yorum mu? Yoksa ekleme otomatik olarak gerçekleşiyor mu ve yorum bize bunu hatırlatıyor mu?
HeatfanJohn,

12

İstediğin gibi virgül gibi görünüyor.

Cmnd_Alias ​​PRINTING = / usr / sbin / lpc, / usr / bin / lprm
...
user3 ALL = BASKI

Kaynak


Bahsettiğiniz şekilde haklar verdim ancak aşağıdaki gibi bir hata mesajı aldım. <br/> E: Kilit dosyası açılamadı / var / lib / dpkg / lock - açık (13: İzin reddedildi) <br/> E: Yönetim dizini kilitlenemiyor (/ var / lib / dpkg /), sen kök ... Birisi bana bu konuda yardım edebilir mi?
Hrish

@Rishee Ben eve bir kez deneyeceğim
Karthik T

sudores dosyamda belirtilen şeyler var.
Hrish

# Kullanıcı ayrıcalık özellikleri kök ALL = (ALL: ALL) ALL # Yönetici grubunun üyeleri kök ayrıcalıkları kazanabilir% admin ALL = (ALL) ALL # Grup sudo üyelerinin% sudo ALL = (ALL: ALL) komutunu çalıştırmasına izin ver ALL #includedir /etc/sudoers.d $ sudo nano / etc / sudoers% Domain_Name \\ yöneticileri ALL = (ALL) ALL% Domain_Name \\ kullanıcı.adı ALL = NOPASSWD: / usr / bin / apt-get install, / etc /init.d/apache2 yeniden başlatıldı
Hrish

2

Yaptığım iş (aradığın şeye benzer):

## PRTG monitoring
Cmnd_Alias PRTG = /bin/cat /proc/loadavg, /bin/df, /var/prtg/scripts/check_proc.sh
prtg ALL = NOPASSWD: PRTG

İçinde: /etc/sudoers.d/666-prtg

(666, çünkü ... peki ... prtg, bildiğiniz Windows tabanlı bir izleme aracıdır)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.