Printer Daemon (Update)

Tim Darby t+dfbsd at timdarby.net
Sun Nov 21 15:08:02 PST 2010


I'm seeing this exact problem on a 2.8. 3 system.  I've done the following troubleshooting steps:- Verified that I'm using the lpr that came with the system
- Verified that my spool directory permissions are all correctWhen I print locally with lpr as root or as a user in the wheel group, it works fine.  If I try to print as an unprivileged user, it fails.  I noticed that changing permissions on the socket file /var/run/printer to 777 solves the problem, but that doesn't seem like a good answer.  I see that lpr is suid and in lpr/common_source/startdaemon.c, before it tries to connect to the socket, it does a seteuid() to root, but I don't know what happens after that.  Anyone have any insights into this?
Tim
On Sat, Mar 13, 2010 at 1:44 PM, Stephane Russell <srussell at prodigeinfo.com> wrote:
I'm getting the same exact problem as described when printing from a
regular user:

lette at alcyone: {102} lpq
alcyone: Warning: no daemon present
Rank   Owner      Job  Files                                 Total Size
1st    lette 618  (standard input)                      697 bytes

no entries

I've just upgraded from 1.6 to 2.4, and I have this problem since. When
I'm printing from a user that is not in the 'wheel' group, I'm getting this:

lette at alcyone: {101} cat .cshrc | lp
lpr: Unable to connect to /var/run/printer: Permission denied
lpr: Check to see if the master 'lpd' process is running.
jobs queued, but cannot start daemon.

I have a printer named impgal01, and my directories permissions are very
similar to the one you show:

alcyone# ls -la /var/spool/lpd
total 4
drwxr-xr-x   2 root  daemon  512 Dec  4  2007 .
drwxr-xr-x  17 root  wheel   512 Jun 16  2008 ..

alcyone# ls -lRa /var/spool/output
total 10
drwxr-xr-x   4 root  daemon  512 Dec  5  2007 .
drwxr-xr-x  17 root  wheel   512 Jun 16  2008 ..
drwxr-xr-x   2 root  daemon  512 Mar 13 14:19 impgal01
drwxr-xr-x   2 root  daemon  512 Mar 13 12:39 lpd
-rw-rw-r--   1 root  daemon    4 Mar 13 15:25 lpd.lock

/var/spool/output/impgal01:
total 10
drwxr-xr-x  2 root  daemon  512 Mar 13 14:19 .
drwxr-xr-x  4 root  daemon  512 Dec  5  2007 ..
-rw-rw---x  1 root  daemon    4 Mar 13 14:18 .seq
-rw-rw-r--  1 root  daemon   46 Mar 13 14:01 lock
-rw-rw-r--  1 root  daemon   18 Mar 13 14:01 status

/var/spool/output/lpd:
total 4
drwxr-xr-x  2 root  daemon  512 Mar 13 12:39 .
drwxr-xr-x  4 root  daemon  512 Dec  5  2007 ..

It really seems that something changed in lpd between 1.6 and 2.4. I'll
have no choice than to chmod /var/run/printer if I want users to print.

SR


Matthew Dillon a écrit :
> :Update
> :
> :The socket /var/run/printer has permissions rwxrwx---. If I change them
> :to rwxrwxrwx there is no problem printing.
> :
> :Since no one else is complaining about this I assume I have something
> :set incorrectly but have run out of ideas.
> :
> :Thanks, Jim Chapman
>
>     Hmm.  On my printer box that socket is 770 and I can print fine so
>     I think changing the perms might just be masking the issue you are
>     having.
>
>     Usually printer daemon problems are due to ownership/group issues
>     in /var/spool/lpd or /var/spool/output, or path specifications
>     that are not accessible by group 'daemon'.
>
> backup# ls -la /var/spool/lpd
> total 2
> drwxr-xr-x   2 root  daemon  512 Sep 12  2005 .
> drwxr-xr-x  11 root  wheel   512 Apr  2  2008 ..
>
> backup# ls -lRa /var/spool/output
> total 4
> drwxr-xr-x   3 root  daemon  512 Sep 22 10:57 .
> drwxr-xr-x  11 root  wheel   512 Apr  2  2008 ..
> drwxr-xr-x   2 root  daemon  512 Dec  1 10:23 lpd
> -rw-rw-r--   1 root  daemon    4 Dec  4 21:53 lpd.lock
>
> /var/spool/output/lpd:
> total 5
> drwxr-xr-x  2 root  daemon  512 Dec  1 10:23 .
> drwxr-xr-x  3 root  daemon  512 Sep 22 10:57 ..
> -rw-r----x  1 root  daemon    4 Sep 22 11:04 .seq
> -rw-rw-r--  1 root  daemon   33 Dec  1 10:23 lock
> -rw-rw-r--  1 root  daemon   25 Dec  1 10:23 status
> backup#
>
>     In particular the lock file in /var/spool/output has to be 664
>     and the lock and status files in /var/spool/output/lpd have to be
>     664.  And the group has to be 'daemon'.
>
>                                       -Matt
>                                       Matthew Dillon
>                                       <dillon at backplane.com>





More information about the Users mailing list