One easy fix would possibly be the following:
# debian/rsyslog.postinst
case "$1" in
configure)
adduser --system --group --no-create-home --quiet syslog || true
adduser syslog adm || true
+adduser syslog tty || true
I have tested it in a PPA, and it works just fine:
Preparing to unpack .../rsyslog_8.2001.0-1ubuntu1+test2020307b1_amd64.deb ...
Unpacking rsyslog (8.2001.0-1ubuntu1+test2020307b1) over (8.2001.0-1ubuntu1) ...
Setting up rsyslog (8.2001.0-1ubuntu1+test2020307b1) ...
The user `syslog' is already a member of `adm'.
Adding user `syslog' to group `tty' ...
==> Adding user syslog to group tty <==
Done.
Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.1) ...
# /etc/group
tty:x:5:syslog
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to rsyslog in Ubuntu.
https://bugs.launchpad.net/bugs/1890177
Title:
rsyslogd: file '/dev/console': open error: Permission denied
Status in rsyslog package in Ubuntu:
New
Status in rsyslog source package in Focal:
New
Bug description:
The Privilege Drop options ($PrivDrop*) in focal's rsyslog both point
to 'syslog' for the user and group, and don't match the
ownership/permission of '/dev/console' generating the following:
syslog:Aug 3 15:16:58 <HOSTNAME> rsyslogd: file '/dev/console': open
error: Permission denied [v8.2001.0 try https://www.rsyslog.com/e/2433
]
Looking in Bionic/18.04LTS, '/dev/console' used to be root:syslog[1],
nowadays it's root:tty[2]
[1] - Bionic/18.04LTS (Gcloud instance)
# ls -l /dev/console
crw--w---- 1 root syslog 5, 1 Aug 3 15:17 /dev/console
[2] - Focal/20.04LTS (Gcloud instance)
# ls -l /dev/console
crw--w---- 1 root tty 5, 1 Aug 3 17:19 /dev/console
# /etc/rsyslog.conf
$PrivDropToUser syslog
$PrivDropToGroup syslog
** As a debug exercise I did the following:
- Cannot reproduce the situation if I intentionally get rid of the PrivDrop*
options.
- Cannot reproduce the situation if I intentionally add 'syslog' user member
of 'tty' group.
Meaning that it's pretty obvious with the above statement that the
permission denied is caused by the permission/ownership mismatch
between '/dev/console' 's ownership permission & syslog user
(PrivDropTo[User|Group]).
Other bug:
https://github.com/GoogleCloudPlatform/compute-image-packages/issues/889
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/1890177/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp