mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-05-07 00:26:52 +02:00
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.
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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'])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user