Hallo an alle!
Ich möchte ein PHP-FrontEnd für GPG schreiben und habe ein Problem. GPG sollte von dem Nutzer aufgerufen werden der den "Schlüßel" besitzt, aber Apache ruft GPG als "nobody" auf. Ich dachte daß, wenn ich Sudo benutze, soll das Problem gelöst werden, dann habe ich in meine sudoers:
nobody ALL=(lucabert) /opt/gnupg/bin/gpg
Dann habe ich folgendes PHP-Skript:
$fp = popen("/usr/bin/sudo -u lucabert /opt/gnupg/bin/gpg --homedir /usr/lucabert/.gnupg/ --list-keys", "r"); if($fp != null) { while(!feof($fp)) { $buffer = fgets($fp, 4096); echo $buffer; } pclose($fp); }
Problem: wenn ich die Seite aufrufe, bekomme ich in /var/run/messages dieses Fehler:
May 22 15:04:07 bilbo PAM_pwdb[24901]: get passwd; pwdb: request not recognized May 22 15:04:08 bilbo sudo[24901]: nobody : pam_authenticate: Authentication service cannot retrieve authentication info. ; TTY=unknown ; PWD=/home/httpd/linuxWeb/html/gpg ; USER=lucabert ; COMMAND=/opt/gnupg/bin/gpg --homedir /usr/lucabert/.gnupg/ --list-keys
Hat jemand eine Idee wie ich dieses Problem lösen kann?
Vielen Dank an alle! Luca Bertoncello (lucabert@lucabert.de)
Luca Bertoncello wrote:
Problem: wenn ich die Seite aufrufe, bekomme ich in /var/run/messages dieses Fehler:
May 22 15:04:07 bilbo PAM_pwdb[24901]: get passwd; pwdb: request not recognized May 22 15:04:08 bilbo sudo[24901]: nobody : pam_authenticate: Authentication service cannot retrieve authentication info. ; TTY=unknown ;
PAM (kümmert sich um alles rund um Nutzerauthentifizierung) möchte das Passwort von einem TTY lesen, findet aber keins.
<klingt unsicher>Sag sudo, dass es für den Benutzer lucabert nicht erst nach dem Passwort fragen soll.</klingt unsicher>
Beim Apache gibt es auch eine Möglichkeit CGIs unter bestimmten User-IDs auszuführen (mod-user ?). Wenn man das mit der Authentifikation am Apachen verheiraten kann, dann sollte es das machen, was du möchtest.
mfg, Fabian
lug-dd@mailman.schlittermann.de