The other implementation option would be to drop the dd upstart job for good, and just let rsyslogd run as root if it detects that reading from /proc/kmsg requires root.
Test case schema:
$ sudo python
[sudo] password for martin:
>>> import os
>>> f=open('/proc/kmsg')
>>> os.seteuid(1000)
>>> f.read(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 1] Operation not permitted
The other implementation option would be to drop the dd upstart job for good, and just let rsyslogd run as root if it detects that reading from /proc/kmsg requires root.
Test case schema:
$ sudo python '/proc/ kmsg')
[sudo] password for martin:
>>> import os
>>> f=open(
>>> os.seteuid(1000)
>>> f.read(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 1] Operation not permitted