Comment 7 for bug 1349387

Revision history for this message
Bruno Nova (brunonova) wrote :

I think I found the cause of the problem! It's a permissions issue.

I enabled "LogLevel debug2" in /etc/cups/cupsd.conf, then opened error log with "tail -f /var/log/cups/error_log".
When I access, for example, the error log in the browser (http://localhost:631/admin/log/error_log), these interesting messages are printed:

    I [22/Aug/2014:14:11:19 +0100] [Client 15] Files/directories such as "/var/log/cups/error_log" must be world-readable.
    d [22/Aug/2014:14:11:19 +0100] [Client 15] cupsdSendError code=404, auth_type=0
    D [22/Aug/2014:14:11:19 +0100] [Client 15] Closing because Keep-Alive disabled
    D [22/Aug/2014:14:11:19 +0100] [Client 15] Closing connection.

And, indeed, the /var/log/cups/error_log file is not world-readable. In fact, the permissions are: -rw-r----- root adm
If I run:

    sudo chmod o+r /var/log/cups/error_log

then try to access the logs again, it works.

When trying to access the server settings through system-config-printer, the same messages are printed, but for the /etc/cups/cupsd.conf file.
Its permissions are: -rw-r----- root lp

Running the chmod for that file fixes the issue, and lets you access the server settings... until the OK button in that dialog is pressed. Then the permissions are reverted and the problem appears again! That's why the problem didn't occur in the first time.

Therefore, the problem is in cups, not in system-config-printer!
Changing the permissions (and not reverting them) would fix the problem, but I don't know what are the security implications.