Come dare a nopasswd l'accesso a più comandi tramite sudoer?


45

Di seguito è quello che so:

Devo aggiungere questo sotto la riga nel sudoersfile per dare diritti all'utente per un determinato compito.

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

In questo caso, voglio consentire a questo utente di riavviare 2 servizi (ie Apachee MySQL) con tutti i diritti di installazione.

Usando la riga sopra, gli ho dato tutti i diritti di installazione, ora devo aggiungere la stessa linea altre due volte per dare i diritti per i servizi? O posso semplicemente aggiungere quei comandi nella stessa riga, separati da virgola o qualcosa del genere?

Risposte:


48

Ho risolto il problema creando un nuovo gruppo per diritti di amministratore limitati ... il nome di quel gruppo è LimitedAdminsdopo che ho aggiornato il sudoersfile come di seguito.

La linea che ho aggiunto è:

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

Questo è il /etc/sudoersfile completo :

# 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

Funziona perfettamente nel caso in cui il tuo sistema sia di dominio o meno.


Non dovresti mettere roba dopo la #includedirbattuta, vero?
hamstar,

@hamstar Hey Ciao! Sì, hai ragione, ho usato questo file di configurazione nella mia azienda per più di 2 anni e funziona perfettamente. Anche tu consiglierei anche di mettere le ultime due righe prima #includedir.
Hrish,

3
O meglio, metti queste due righe in un nuovo file in /etc/sudoers.d invece di modificare / etc / sudoers.
martedì

@tgharold Sì amico !! Hai ragione ... è davvero un'opzione migliore di quello che ho suggerito ... :) Apprezzo che la tua idea proverà a implementare anche a casa mia.
Hrish,

#Includedir è un commento? O l'inclusione avviene automaticamente e il commento ce lo ricorda?
Heatfan John,

12

Sembra che la virgola sia ciò di cui hai bisogno.

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

fonte


Ho concesso i diritti nel modo in cui l'hai menzionato, tuttavia ho ricevuto il messaggio di errore come di seguito. <br/> E: Impossibile aprire il file di blocco / var / lib / dpkg / lock - aperto (13: autorizzazione negata) <br/> E: Impossibile bloccare la directory di amministrazione (/ var / lib / dpkg /), sono fai il root? ... qualcuno può aiutare in questo?
Hrish,

@Rishee Proverò una volta tornato a casa
Karthik T

il mio file sudores contiene cose sotto menzionate.
Hrish,

# Specifica dei privilegi dell'utente root ALL = (ALL: ALL) ALL # I membri del gruppo admin possono ottenere i privilegi di root% admin ALL = (ALL) ALL # Consente ai membri del gruppo sudo di eseguire qualsiasi comando% sudo ALL = (ALL: ALL) ALL #includedir /etc/sudoers.d $ sudo nano / etc / sudoers% Domain_Name \\ administrators ALL = (ALL) ALL% Domain_Name \\ user.name ALL = NOPASSWD: / usr / bin / apt-get install, / etc /init.d/apache2 restart
Hrish

2

Quello che ho finito per fare è stato (simile a quello che stai cercando):

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

Dentro: /etc/sudoers.d/666-prtg

(666, perché ... beh ... prtg È uno strumento di monitoraggio basato su Windows che conosci)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.