From 918a42422cfda1a55602f0cfda1671b3a3d61b04 Mon Sep 17 00:00:00 2001 From: usmannasir Date: Fri, 6 Mar 2026 16:24:42 +0500 Subject: [PATCH] Fix webmail.conf ownership: use lscpd:lscpd instead of cyberpanel:cyberpanel lscpd worker runs as user lscpd, not cyberpanel. The webmail.conf file (containing master user credentials) was unreadable by lscpd, causing master auth to silently fail and fall back to empty password auth. Also fix ownership on existing installs during upgrade. --- install/installCyberPanel.py | 2 +- plogical/upgrade.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/install/installCyberPanel.py b/install/installCyberPanel.py index 9bde377ef..39f06bb18 100644 --- a/install/installCyberPanel.py +++ b/install/installCyberPanel.py @@ -776,7 +776,7 @@ protocol sieve { with open('/etc/cyberpanel/webmail.conf', 'w') as f: json_module.dump(webmail_conf, f) os.chmod('/etc/cyberpanel/webmail.conf', 0o600) - subprocess.call(['chown', 'cyberpanel:cyberpanel', '/etc/cyberpanel/webmail.conf']) + subprocess.call(['chown', 'lscpd:lscpd', '/etc/cyberpanel/webmail.conf']) # Patch dovecot.conf if master passdb block missing dovecot_conf_path = '/etc/dovecot/dovecot.conf' diff --git a/plogical/upgrade.py b/plogical/upgrade.py index f2d7cbaaf..5e750cf4d 100644 --- a/plogical/upgrade.py +++ b/plogical/upgrade.py @@ -3009,7 +3009,7 @@ protocol sieve { with open('/etc/cyberpanel/webmail.conf', 'w') as f: json.dump(webmail_conf, f) os.chmod('/etc/cyberpanel/webmail.conf', 0o600) - subprocess.call(['chown', 'cyberpanel:cyberpanel', '/etc/cyberpanel/webmail.conf']) + subprocess.call(['chown', 'lscpd:lscpd', '/etc/cyberpanel/webmail.conf']) # Patch dovecot.conf if master user config not present dovecot_conf_path = '/etc/dovecot/dovecot.conf' @@ -3045,6 +3045,11 @@ passdb { 'Webmail migrate', shell=True ) + # Fix webmail.conf ownership for lscpd (may be wrong on existing installs) + if os.path.exists('/etc/cyberpanel/webmail.conf'): + subprocess.call(['chown', 'lscpd:lscpd', '/etc/cyberpanel/webmail.conf']) + os.chmod('/etc/cyberpanel/webmail.conf', 0o600) + # Restart Dovecot subprocess.call(['systemctl', 'restart', 'dovecot'])