Wir müssen der sudoers-Datei unter Linux nur wenige Benutzer hinzufügen. Sie sollten in der Lage sein, alles zu tun, was Wurzel kann, außer den folgenden:
- Sollte nicht ändern, lesen, löschen
/nfsshare/config
- Sollte nicht ändern, lesen, löschen
/etc/passwd
- Sollte nichts montieren
- Das Root-Passwort sollte nicht geändert werden
- Sollte nicht bearbeitet
/etc/sudoers
oder ausgeführt werdenvisudo
, um andere Benutzer hinzuzufügen
Ist das möglich?
Antworten:
Ich stimme Wissam Al-Roujoulah in dieser Hinsicht im Grunde zu.
Müssen Sie das wirklich tun? Möglicherweise gibt es andere Möglichkeiten,
acl
reguläre UNIX-Berechtigungen zu verwenden.Wie Wissam Al-Roujoulah bereits betont hat, ist der Versuch, bestimmte Befehle auf die "schwarze Liste" zu setzen, in Wirklichkeit eine wirklich schlechte Idee (siehe unten
man sudoers
, Hervorhebung von mir):Stattdessen können Sie eine „weiße Liste“ angeben, zB die tatsächlichen Befehle die Benutzer erlaubt laufen. Etwas wie das:
Das oben genannte ermöglicht
user1
das Herunterfahren. Sie können einer durch Kommas getrennten Liste weitere Befehle hinzufügen.Lesen Sie mehr dazu hier .
quelle
shutdown
, aber wenn Sie vergessen, ähnliche Funktionen ininit
/systemctl
(/reboot
) zu blockieren oder dennoch zulassensudo su -
odersudo sh
odersudo script_that_invokes_shutdown.sh
durch Auslassen, haben Sie wirklich nichts erreicht.sudo gcc my-evil-file.c; sudo a.out
. Schäumen, spülen, wiederholen mit Python, Perl, Ruby, Bash usw.sudo
Sie einfach einen weiteren hinzu und es wird funktionieren :sudo sudo command
.Ich denke, das ist fast unmöglich, weil Sie den Benutzer daran hindern müssen, einen Editor zu verwenden, obwohl dies ihn nicht daran hindern würde, einen anderen zu installieren oder die Binärdatei an einen anderen Ort zu verschieben und zu verwenden.
Der Hauptpunkt, zu dem Sie keinen Benutzer hinzufügen
sudoers
und ihm alle Berechtigungen geben können, außer einigen.Sie müssen es auf die entgegengesetzte Weise tun.
quelle
su
/sudo
access ist opt-in, nicht opt-out. Sobald sie in der Lage sind, eine Wurzelschale zu erhalten, können sie alle anderen Schutzmaßnahmen umgehen, die Sie eingerichtet haben. Wenn sie bestimmte Dinge haben, die ausgeführt werden müssen, und die Verwaltung dersudoers
Datei zu kompliziert ist (was wahrscheinlich der beste Ansatz im Allgemeinen ist), sollten Sie kleine Einzweck-Binärdateien schreiben, die das Ding starten, undsetuid
stattdessen das Flag auf sie setzen.quelle
Haben Sie sich die Verwendung von SELinux angesehen? Welche Distribution verwenden Sie?
Möglicherweise können Sie einen neuen SELinux-Benutzer erstellen und ihm nur die erforderlichen Berechtigungen (Zugriff auf Rollen) erteilen. Tt ist ein Opt-In, daher müssen Sie alles auflisten, was der Benutzer tun muss.
quelle