fix(mailserver): Fix dovecot users file permissions in user_add/passwd
Both user_add and user_passwd functions now set correct permissions (644 root:dovecot) after updating /etc/dovecot/users inside the container. This prevents "Permission denied" errors on authentication after adding users or changing passwords. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3aacabd5c1
commit
f95b381077
@ -64,7 +64,7 @@ user_add() {
|
|||||||
|
|
||||||
# Copy to container and merge with existing users file
|
# Copy to container and merge with existing users file
|
||||||
lxc-attach -n "$container" -- sh -c "grep -v '^$email:' /etc/dovecot/users > /tmp/users.tmp 2>/dev/null || true"
|
lxc-attach -n "$container" -- sh -c "grep -v '^$email:' /etc/dovecot/users > /tmp/users.tmp 2>/dev/null || true"
|
||||||
cat "$tmpfile" | lxc-attach -n "$container" -- sh -c "cat >> /tmp/users.tmp && mv /tmp/users.tmp /etc/dovecot/users"
|
cat "$tmpfile" | lxc-attach -n "$container" -- sh -c "cat >> /tmp/users.tmp && mv /tmp/users.tmp /etc/dovecot/users && chmod 644 /etc/dovecot/users && chown root:dovecot /etc/dovecot/users"
|
||||||
rm -f "$tmpfile"
|
rm -f "$tmpfile"
|
||||||
|
|
||||||
# Postmap
|
# Postmap
|
||||||
@ -154,7 +154,7 @@ user_passwd() {
|
|||||||
|
|
||||||
# Copy to container and merge with existing users file
|
# Copy to container and merge with existing users file
|
||||||
lxc-attach -n "$container" -- sh -c "grep -v '^$email:' /etc/dovecot/users > /tmp/users.tmp 2>/dev/null || true"
|
lxc-attach -n "$container" -- sh -c "grep -v '^$email:' /etc/dovecot/users > /tmp/users.tmp 2>/dev/null || true"
|
||||||
cat "$tmpfile" | lxc-attach -n "$container" -- sh -c "cat >> /tmp/users.tmp && mv /tmp/users.tmp /etc/dovecot/users"
|
cat "$tmpfile" | lxc-attach -n "$container" -- sh -c "cat >> /tmp/users.tmp && mv /tmp/users.tmp /etc/dovecot/users && chmod 644 /etc/dovecot/users && chown root:dovecot /etc/dovecot/users"
|
||||||
rm -f "$tmpfile"
|
rm -f "$tmpfile"
|
||||||
|
|
||||||
echo "Password changed for: $email"
|
echo "Password changed for: $email"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user