Script soll unter anderer UID ausgeführt werden
Mario Lorenz
ml-tlug at vdazone.org
Mo Jan 11 23:12:58 CET 2010
Hallo Hans-Dietrich,
> Es geht um Folgendes: es gibt derzeit ca. 20 Scripte zur Verwaltung von
> Usern, Gruppen und Hosts (im LDAP). Diese sind in Perl geschrieben und
> wurden bisher immer als root aufgerufen.
>
> Um diese Scripte für Lehrer leicht zu händeln, wird (von einem anderen
> Lehrer) ein Webinterface in PHP erstellt. An diesem Webinterface muss
> man sich als Lehrer natürlich anmelden (d.h. es liegen das Login und
> Passwort vor) und dann wird durch ein PHP-Script eben eines dieser
> Perlscripte aufgerufen. Das Passwort muss (eigentlich) nicht
> abgespeichert werden, sondern "nur" weitergereicht werden.
Korrekt. Wenn das Zeugs aber eh im LDAP liegt, und mit den Nutzer-Credentials
gebunden wird, warum können die Scripte dann nicht gleich als www-data laufen?
> allerdings ist es mir beim Schreiben dieser Mail deutlich geworden, das
> es in Hinsicht Sicherheit keinerlei Nachteil bringt, wenn in der sudoers
> NOPASSWD: genutzt wird. Es geht ja darum, dass die Scripte unter einer
> anderen UID laufen und das wird ja erreicht.
Wenn der andere Nutzer nicht privilegiert ist, versteh ich den Aufwand
nicht. Wenn der andere Nutzer privilegiert ist, dann bringt suexec die
Möglichkeit, exakt anzugeben welches Kommando privilegiert ausgeführt
werden darf. Auch ohne extra passwort.
Wenn Du ein Passwort durchreichen willst, geht das natürlich auch. Du
solltest sudo dann jedoch evtl. abgewöhnen, dem Timestamp-Check zu machen.
> ja so sollte das reichen. Trotzdem klappt es auch so nicht, weil PAM
> trotzdem korrekt konfiguriert sein muss, was aber leider nicht der Fall ist.
Ich kann jetzt nicht sagen, was PAM damit zu tun hat; insbesondere wenns falsch
konfiguriert ist. Ich hab auf diese Weise mittels Sudo schon ausm Apache heraus
privilegierte Sachen gestartet, prinzipiell gehts also.
Übrigends, wenn ihr so LDAP-lastig seid, sudo kann, wennn dafür compiliert,
auch mit LDAP umgehen. Das hab ich allerdings bislang noch nicht verwendet...
Nochwas: Du erwähntest, den Scripten als zusätzlichen Parameter das Passwort
übergeben zu wollen. Sowas macht man nicht, weil es taucht dann im Klartext in
ps -axuww auf, was jeder User auf der Maschine just in dem Moment ausführen kann...
Mario
--
Mario Lorenz Internet: <ml at vdazone.org>
Ham Radio: DL5MLO at DB0ERF.#THR.DEU.EU
* This virus needs Windows95 to run!