Ich möchte bestimmten Benutzern erlauben, sich einem anderen Benutzerkonto anzuschließen, ohne das Kennwort dieses Kontos zu kennen, aber den Zugriff auf ein anderes Benutzerkonto (z. B. root) nicht zulassen.
Zum Beispiel möchte ich Tom erlauben, dass der DBA für den Oracle-Benutzer, nicht aber für den Tomcat-Benutzer oder den Root-Benutzer verwendet wird.
Ich stelle mir vor, dies könnte mit der Datei / etc / sudoers geschehen - ist das möglich? Wenn das so ist, wie?
Fügen Sie Ihrer / etc / sudoers so etwas wie hinzu
Dann sollte Benutzer tom in der Lage sein, sudo zu verwenden, um Dinge als Benutzerorakel mit der Option -u auszuführen, ohne Tom zuzulassen
Dh, Sie erhalten eine Shell als Benutzer oracle (vorausgesetzt, Ihr sudo ist neu genug, um die Option -i zu haben).
quelle
tom ALL=(oracle)NOPASSWD:ALL
, um sudo zu veranlassen, nicht nach dem Passwort zu fragenFügen Sie Folgendes zu / etc / sudoers hinzu, um NUR die in der Frage genannten Funktionen bereitzustellen:
Dann kann tom:
quelle
Ich musste dies kürzlich auf einem System tun und hatte Schwierigkeiten, meine Notizen zu dem alternativen Setup zu finden, das ich vor Jahren verwendet habe und das auch die Syntax erlaubte
su <user>
. In meiner Situation musste ichsu
einem bestimmten Benutzer mehrere Benutzer erlauben .Erstellen Sie eine Gruppe,
addgroup <groupName>
die andere Benutzersu
ohne Kennwort verwenden können. Fügen Sie dann diese Gruppe zu jedem Benutzer hinzu, den Siesu
ohne Kennwort diesem Benutzer zuordnen möchten :usermod -a -G <groupName> <userName>
(oderusermod -a -G oracle tom
). Die Gruppenänderungen werden möglicherweise erst bei der nächsten Anmeldung wirksam.Hinweis: In Ihrem Fall haben Sie die Gruppe bereits, da
oracle
sie erstellt wurde, als Sie den Oracle-Benutzer mit erstellt habenadduser oracle
.Bearbeiten Sie nun
/etc/pam.d/su
und unter:..add auth rule lines, so dass der Abschnitt so aussieht:
Ersetzen Sie
<groupName>
mitoracle
in diesem Fall. Dies ermöglicht es jedem Benutzer , die Teil der ist<groupName>
zusu <groupName>
Jetzt
tom
könnensu oracle
und müssen Sie anderen Benutzern den gleichen Zugriff gewähren, indem Sie sie zu eineroracle
Gruppe hinzufügen .ähnliche Frage hier
quelle