Wie kann man nopasswd den Zugriff auf mehrere Befehle über Sudoer gewähren?

45

Folgendes weiß ich:

Ich muss diese Zeile in der sudoersDatei unten hinzufügen , um dem Benutzer Rechte für eine bestimmte Aufgabe zu erteilen.

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

In diesem Fall möchte ich diesem Benutzer Zugriff gewähren, um 2 Dienste (dh Apacheund MySQL) mit allen Installationsrechten neu zu starten .

Wenn ich die obige Zeile verwende, habe ich ihm alle Installationsrechte gegeben. Muss ich dieselbe Zeile jetzt noch zweimal hinzufügen, um die Rechte für Dienste zu erteilen? Oder kann ich diese Befehle einfach in der gleichen Zeile einfügen, getrennt durch Komma oder so?

Hrish
quelle

Antworten:

48

Ich habe das Problem behoben, indem ich eine neue Gruppe für eingeschränkte Administratorrechte erstellt habe. Der Name dieser Gruppe lautet LimitedAdminsdanach "Ich habe die sudoersDatei wie folgt aktualisiert" .

Die Zeile, die ich angehängt habe, ist:

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

Dies ist die komplette /etc/sudoersDatei:

# 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

Es funktioniert einwandfrei, wenn Ihr System eine Domäne ist oder nicht.

Rishee
quelle
Du sollst doch keine Sachen hinter die #includedirReihe stellen, oder?
Hamstar
@hamstar Hey Hi! Ja, Sie haben Recht, ich verwende diese Konfigurationsdatei seit mehr als 2 Jahren in meiner Firma und sie funktioniert einwandfrei. Trotzdem würde ich auch empfehlen, die letzten beiden Zeilen voranzustellen #includedir.
Hrish
3
Oder besser, fügen Sie diese beiden Zeilen in eine neue Datei unter /etc/sudoers.d ein, anstatt / etc / sudoers zu bearbeiten.
Tgharold
@tgharold Ja Kumpel !! Sie haben Recht ... es ist wirklich eine bessere Option als die, die ich vorgeschlagen habe ... :) Schätzen Sie, dass Ihre Idee versuchen wird, sie auch bei mir umzusetzen.
Hrish
Ist #includedir ein Kommentar? Oder geschieht das Include automatisch und der Kommentar erinnert uns nur daran?
HeatfanJohn
12

Sieht aus wie Komma ist, was Sie brauchen.

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

Quelle

Karthik T
quelle
Ich habe Rechte so vergeben, wie Sie es erwähnt haben, aber ich habe die folgende Fehlermeldung erhalten. <br/> E: Sperrdatei / var / lib / dpkg / lock - open konnte nicht geöffnet werden (13: Berechtigung verweigert) <br/> E: Das Administrationsverzeichnis (/ var / lib / dpkg /) kann nicht gesperrt werden Sie wurzeln? ... kann mir jemand dabei helfen?
Hrish
@Rishee Ich werde versuchen, sobald ich nach Hause komme
Karthik T
meine sudores datei enthält unten genannte sachen.
Hrish
# Benutzerberechtigungsspezifikation root ALL = (ALL: ALL) ALL # Mitglieder der Administratorgruppe erhalten möglicherweise Root-Berechtigungen% admin ALL = (ALL) ALL # Ermöglichen Sie Mitgliedern der Gruppe sudo, jeden Befehl% sudo ALL = (ALL: ALL) auszuführen. ALL #includedir /etc/sudoers.d $ sudo nano / etc / sudoers% Domänenname \\ Administratoren ALL = (ALL) ALL% Domänenname \\ Benutzername ALL = NOPASSWD: / usr / bin / apt-get install, / etc /init.d/apache2 restart
Hrish
2

Am Ende habe ich Folgendes getan (ähnlich wie das, wonach Sie suchen):

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

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

(666, weil ... nun ja ... PRTG ein Windows-basiertes Überwachungstool ist, das Sie kennen)

Mark Maas
quelle