| | |
| | | ----------------------------------------------------------------------- |
| | | Password Plugin for Roundcube |
| | | ----------------------------------------------------------------------- |
| | | |
| | | Plugin that adds a possibility to change user password using many |
| | | methods (drivers) via Settings/Password tab. |
| | | |
| | | ----------------------------------------------------------------------- |
| | | This program is free software; you can redistribute it and/or modify |
| | | it under the terms of the GNU General Public License version 2 |
| | | as published by the Free Software Foundation. |
| | | This program is free software: you can redistribute it and/or modify |
| | | it under the terms of the GNU General Public License as published by |
| | | the Free Software Foundation, either version 3 of the License, or |
| | | (at your option) any later version. |
| | | |
| | | This program is distributed in the hope that it will be useful, |
| | | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| | | GNU General Public License for more details. |
| | | |
| | | You should have received a copy of the GNU General Public License along |
| | | with this program; if not, write to the Free Software Foundation, Inc., |
| | | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| | | You should have received a copy of the GNU General Public License |
| | | along with this program. If not, see http://www.gnu.org/licenses/. |
| | | |
| | | @version @package_version@ |
| | | @author Aleksander 'A.L.E.C' Machniak <alec@alec.pl> |
| | | @author Aleksander Machniak <alec@alec.pl> |
| | | @author <see driver files for driver authors> |
| | | ----------------------------------------------------------------------- |
| | | |
| | |
| | | 2.16. DBMail (dbmail) |
| | | 2.17. Expect (expect) |
| | | 2.18. Samba (smb) |
| | | 2.19. Vpopmail daemon (vpopmaild) |
| | | 2.20. Plesk (Plesk RPC-API) |
| | | 2.21. Kpasswd |
| | | 3. Driver API |
| | | 4. Sudo setup |
| | | |
| | | |
| | | 1. Configuration |
| | |
| | | |
| | | This driver is fully compatible with the ldap driver, but |
| | | does not require (or uses) the |
| | | $rcmail_config['password_ldap_force_replace'] variable. |
| | | $config['password_ldap_force_replace'] variable. |
| | | Other advantages: |
| | | * Connects only once with the LDAP server when using the search user. |
| | | * Does not read the DN, but only replaces the password within (that is |
| | |
| | | See config.inc.php.dist file for configuration description. |
| | | |
| | | |
| | | 2.19. Vpopmail daemon (vpopmaild) |
| | | ----------------------------------- |
| | | |
| | | Driver for the daemon of vpopmail. Vpopmail is used with qmail to |
| | | enable virtual users that are saved in a database and not in /etc/passwd. |
| | | |
| | | Set $config['password_vpopmaild_host'] to the host where vpopmaild runs. |
| | | |
| | | Set $config['password_vpopmaild_port'] to the port of vpopmaild. |
| | | |
| | | Set $config['password_vpopmaild_timeout'] to the timeout used for the TCP |
| | | connection to vpopmaild (You may want to set it higher on busy servers). |
| | | |
| | | |
| | | 2.20. Plesk (Plesk RPC-API) |
| | | --------------------------- |
| | | |
| | | Driver for changing Passwords via Plesk RPC-API. This Driver also works with |
| | | Parallels Plesk Automation (PPA). |
| | | |
| | | You need to allow the IP of the Roundcube-Server for RPC-Calls in the Panel. |
| | | |
| | | Set $config['password_plesk_host'] to the Hostname / IP where Plesk runs |
| | | Set your Admin or RPC User: $config['password_plesk_user'] |
| | | Set the Password of the User: $config['password_plesk_pass'] |
| | | Set $config['password_plesk_rpc_port'] for the RPC-Port. Usually its 8443 |
| | | Set the RPC-Path in $config['password_plesk_rpc_path']. Normally this is: enterprise/control/agent.php. |
| | | |
| | | |
| | | 2.21. Kpasswd |
| | | ----------------------------------- |
| | | |
| | | Driver to change the password in Kerberos environments via the 'kpasswd' command. |
| | | See config.inc.php.dist file for configuration description. |
| | | |
| | | |
| | | 3. Driver API |
| | | ------------- |
| | | |
| | | Driver file (<driver_name>.php) must define 'password_save' function with |
| | | two arguments. First - current password, second - new password. Function |
| | | should return PASSWORD_SUCCESS on success or any of PASSWORD_CONNECT_ERROR, |
| | | Driver file (<driver_name>.php) must define rcube_<driver_name>_password class |
| | | with public save() method that has two arguments. First - current password, second - new password. |
| | | This method should return PASSWORD_SUCCESS on success or any of PASSWORD_CONNECT_ERROR, |
| | | PASSWORD_CRYPT_ERROR, PASSWORD_ERROR when driver was unable to change password. |
| | | Extended result (as a hash-array with 'message' and 'code' items) can be returned |
| | | too. See existing drivers in drivers/ directory for examples. |
| | | |
| | | 4. Sudo setup |
| | | ------------- |
| | | |
| | | Some drivers that execute system commands (like chpasswd) require use of sudo command. |
| | | Here's a sample for CentOS 7: |
| | | |
| | | # cat <<END >/etc/sudoers.d/99-roundcubemail |
| | | apache ALL=NOPASSWD:/usr/sbin/chpasswd |
| | | Defaults:apache !requiretty |
| | | <<END |
| | | |
| | | Note: on different systems the username (here 'apache') may be different, e.g. www. |
| | | Note: on some systems the disabling tty line may not be needed. |