source: server/inst/cups-set-perms @ a76f440

debianmacno-cupsweb
Last change on this file since a76f440 was 25df647, checked in by Jessica B. Hamrick <jhamrick@…>, 14 years ago

Remove deprecated lpd files in server
Modify cups-set-perms to backup the old cupsd.conf, and install its own

  • Property mode set to 100755
File size: 2.5 KB
Line 
1#!/bin/sh
2
3# Set the CUPS permissions such that anyone can add/remove jobs
4# from the queue for gutenbach.
5
6if [ -e /usr/lib/gutenbach/config/printername ]; then
7    printername="$(cat /usr/lib/gutenbach/config/printername)"
8
9    conffile="/etc/cups/cupsd.conf"
10    mv "$conffile" "$conffile.gutenbach-orig"
11    touch "$conffile"
12
13    cat >> "$conffile" <<EOF
14#
15# This cupsd.conf was generated by the Gutenbach music spooler
16#
17
18# Log general information in error_log - change "info" to "debug" for
19# troubleshooting...
20LogLevel warning
21
22# Administrator user group...
23SystemGroup lpadmin
24Group audio
25
26Listen /var/run/cups/cups.sock
27Listen *
28
29ServerAlias *
30
31# Default authentication type, when authentication is required...
32DefaultAuthType Basic
33
34# Restrict access to the server...
35<Location />
36Allow from All
37Order deny,allow
38</Location>
39
40# Restrict access to the admin pages...
41<Location /admin>
42Encryption Required
43Order deny,allow
44</Location>
45
46# Restrict access to configuration files...
47<Location /admin/conf>
48AuthType Default
49Require user @SYSTEM
50Order deny,allow
51</Location>
52
53# Set the default printer/job policies...
54<Policy default>
55# Job-related operations must be done by the owner or an administrator...
56<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
57Allow from All
58Order deny,allow
59</Limit>
60
61# All administration operations require an administrator to authenticate...
62<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
63AuthType Default
64Require user @SYSTEM
65Order deny,allow
66</Limit>
67
68# All printer operations require a printer operator to authenticate...
69<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
70AuthType Default
71Require user @SYSTEM
72Order deny,allow
73</Limit>
74
75<Limit All>
76Order deny,allow
77</Limit>
78</Policy>
79
80<Location /printers/$printername>
81    <Limit Cancel-Job Purge-Jobs CUPS-Authenticate-Job>
82        Order deny,allow
83        Allow from All
84    </Limit>
85
86    Order deny,allow
87    Allow from All
88</Location>
89EOF
90
91    /etc/init.d/cups reload
92
93else
94    echo "Error: /usr/lib/gutenbach/config/printername does not exist"
95    exit 1
96fi
Note: See TracBrowser for help on using the repository browser.