From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 20 Dec 1995 14:06:33 -0500 From: G. David Butler gdb@dbSystems.com Subject: Permissions on names served by the kernel Topicbox-Message-UUID: 38d3ab9a-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19951220190633.BgUYhAJTN3eNZRETGBUx_kTf-R17FFg6ml0IMbqqppg@z> Hi all! I am running into an interesting problem. I have been working on getting the LP subsystem up using a PostScript printer connected to the COM port of my PC cpu server. It all works great (after creating a "postio" and fixing lpdaemon) from the cpu server console. When printing from a terminal (yes tcpsend works now) or from a cpu window on the terminal, the postio program can't do I/O to /dev/eia0 since it doesn't have permissions. The question. How do you change the permissions of a file that is served by the kernel? Since the lpdaemon runs as "none" and the permissions on #t/eia0 are 660 bootes bootes, it won't work. Also, is there a problem binding something like '#t' in multiple processes and doing I/O? If the answer to the question is "you can't" (that is what it looks like), it would seem my only alternative is to start up a process on the cpuserver that keeps an eye on the print queue and fires up the daemon. Perhaps using pipe(3) to synchronize the spooler and daemon? I would like to see a discussion about unrelated namespace processes binding '#|" for IPC. Does this work or does each bind create another pair of fd's? There are some things about this local namespace that makes one feel uncomfortable. If anyone has a better idea or a different view of the whole issue, I would appreciate any input. (As soon as I get it all to work, I will make it available.) Thanks. db