Od razu przepraszam, jeżeli nie można umieszczać tutaj tego typu wątków i ewentualnie proszę o zadziałanie moderatora.
Mam zainstalowany serwer pocztowy na macierzy Synology. Doinstalowałem tam Roundcube'a aby mieć panel www. W roundcubie chciałem włączyć plugin do zmiany haseł przez użytkowników, ale nie działa. Od kilkunastu dni się z tym męczę. Przeglądnąłem fora dotyczące mojej macierzy, roundcubea i ogólnie googla. Nie udało się. Z uwagi na to, że plugin jest w PHP pomyślałem, że najlepiej będzie uderzyć tutaj. A więc.
Jest to plugin, który poprzez wykonanie polecenia systemowego ma zmieniać użytkownikom hasła. W konfiguracji ustawiającej plugin mam polecenie, które ma być wykonywane na macierzy:
// chpasswd Driver options // --------------------- // Command to use $rcmail_config['password_chpasswd_cmd'] = 'sudo /usr/syno/sbin/synouser --setpw';
Natomiast driver obsługujący to polecenie jest poniżej:
<?php /** * chpasswd Driver * * Driver that adds functionality to change the systems user password via * the 'chpasswd' command. * * For installation instructions please read the README file. * * @version 2.0 * @author Alex Cartwright <acartwright@mutinydesign.co.uk> */ class rcube_chpasswd_password { public function save($currpass, $newpass) { $cmd = rcmail::get_instance()->config->get('password_chpasswd_cmd'); $username = $_SESSION['username']; return PASSWORD_SUCCESS; } else { 'code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "Password plugin: Unable to execute $cmd" ), true, false); } return PASSWORD_ERROR; } }
Gdy wejdę na użytkownika nobody (bo na takim działa Apache) i wydam polecenie
sudo /usr/syno/sbin/synouser --setpw użytkownik hasło
To następuje poprawna zmiana hasła.
Natomiast z poziomu roundcuba wyskakuje błąd:
PHP Error in /volume1/web/roundcube/plugins/password/drivers/chpasswd.php (32): Password plugin: Unable to execute sudo synouser --setpw
Wygląda na błędne uprawnienia, ale już nie wiem komu i jakie mam ponadawać, aby to działało... Bardzo proszę o pomoc.