PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 'su' auf bestimmt User beschränken



d0cd
10.01.03, 11:18
Moin,
ich möchte, dass nur User einer bestimmten Gruppe 'su' benutzen dürfen um root zu werden.
Wie mache ich das besten? Ich könnte zwar Gruppe und Ausführrechte von /bin/su ändern aber ich hab das Gefühl, dass das nicht sinnvoll wäre. Ich will ja nicht verhindern, dass normale User ihre Identität mit 'su' wechseln.

schnebeck
10.01.03, 11:43
Das geht mit dem richtigen PAM-Setup.
Bei Gentoo sieht das so aus - muss es jetzt nur noch an deine Distribution anpassen ;-)

cat /etc/pam.d/su
#%PAM-1.0

auth sufficient /lib/security/pam_rootok.so

# If you want to restrict users begin allowed to su even more,
# create /etc/security/suauth.allow (or to that matter) that is only
# writable by root, and add users that are allowed to su to that
# file, one per line.
#auth required /lib/security/pam_listfile.so item=ruser sense=allow onerr=fail file=/etc/security/suauth.allow

# Uncomment this to allow users in the wheel group to su without
# entering a passwd.
auth sufficient /lib/security/pam_wheel.so use_uid trust

# Alternatively to above, you can implement a list of users that do
# not need to supply a passwd with a list.
#auth sufficient /lib/security/pam_listfile.so item=ruser sense=allow onerr=fail file=/etc/security/suauth.nopass

# Comment this to allow any user, even those not in the 'wheel'
# group to su
auth required /lib/security/pam_wheel.so use_uid

auth required /lib/security/pam_stack.so service=system-auth

account required /lib/security/pam_stack.so service=system-auth

password required /lib/security/pam_stack.so service=system-auth

session required /lib/security/pam_stack.so service=system-auth
session optional /lib/security/pam_xauth.so


Bye

Thorsten

d0cd
10.01.03, 12:56
Perfekt. Ich wusste doch, dass PAM für irgendwas gut sein muss ;)

zander
10.01.03, 13:00
# If you want to restrict users begin allowed to su even more,
# create /etc/security/suauth.allow (or to that matter) that is only
# writable by root, and add users that are allowed to su to that
# file, one per line.
#auth required /lib/security/pam_listfile.so item=ruser sense=allow onerr=fail file=/etc/security/suauth.allow


Dieser Eintrag müßte natürlich erst aktiviert und die entsprechende Datei (entsprechend dem Kommentar, der Name ist allerdings beliebig) erstellt werden.

BBTE
10.01.03, 13:01
hm aber gehts nicht einfach so wie bei gentoo, da muss es ja so sein das die benutzer die su benutzen sollen müssen in der /etc/group drin stehen in der gruppe "wheel". logischweise die die nicht drin stehen können kein su benutzen

d0cd
10.01.03, 13:06
Es gibt doch sicher eine Dokumentation die das Funktionsprinzip von PAM beschreibt, oder?
Ich habe bis jetzt nichts mit PAM gemacht und eigentlich keine Ahnung davon, ausser dass die Konfigurationsdateien (bei mir) in /etc/pam.d liegen ;)

zander
10.01.03, 14:01
Das geht recht einfach, dazu müssten die ersten Zeilen von /etc/pam.d/su in etwa folgendermassen aussehen:



#
# pam_wheel.so
#
auth required pam_wheel.so


Das pam_wheel.so PAM Modul kennt noch einige Interessante Parameter, z.B. "deny" und "group=<Gruppe>", durch deren Kombination die Nutzung von 'su' auf eine andere Gruppe beschränkt werden könnte.

d0cd
10.01.03, 14:11
Ja, danke. Genau so habe ich es gemacht und alles funktioniert so wie ich mir das vorgestellt habe. Schade, dass im man Eintrag von su nicht wenigstens ein verweis auf pam steht.

zander
10.01.03, 14:30
Aktuelle GNU/Linux Systeme benutzen PAM für alle (?) zentralen Authentisierungsaufgaben, im Zweifelsfall lohnt es sich also die PAM Konfigurationsdateien etwas näher zu betrachten (/etc/pam.d/*, /etc/pam.conf (alt)).