1cupsd_selinux(8)             SELinux Policy cupsd             cupsd_selinux(8)
2
3
4

NAME

6       cupsd_selinux - Security Enhanced Linux Policy for the cupsd processes
7

DESCRIPTION

9       Security-Enhanced Linux secures the cupsd processes via flexible manda‐
10       tory access control.
11
12       The cupsd processes execute with the  cupsd_t  SELinux  type.  You  can
13       check  if  you have these processes running by executing the ps command
14       with the -Z qualifier.
15
16       For example:
17
18       ps -eZ | grep cupsd_t
19
20
21

ENTRYPOINTS

23       The cupsd_t SELinux type can be entered via the cupsd_exec_t file type.
24
25       The default entrypoint paths for the cupsd_t domain are the following:
26
27       /usr/sbin/hp-[^/]+, /usr/share/hplip/.*.py, /usr/lib/cups/backend/hp.*,
28       /usr/bin/hpijs,   /usr/sbin/cupsd,   /usr/sbin/hpiod,   /usr/sbin/cups-
29       browsed
30

PROCESS TYPES

32       SELinux defines process types (domains) for each process running on the
33       system
34
35       You can see the context of a process using the -Z option to ps
36
37       Policy  governs  the  access confined processes have to files.  SELinux
38       cupsd policy is very flexible allowing users to setup their cupsd  pro‐
39       cesses in as secure a method as possible.
40
41       The following process types are defined for cupsd:
42
43       cupsd_config_t, cupsd_t, cupsd_lpd_t, cups_pdf_t
44
45       Note:  semanage  permissive  -a cupsd_t can be used to make the process
46       type cupsd_t permissive. SELinux does not  deny  access  to  permissive
47       process  types, but the AVC (SELinux denials) messages are still gener‐
48       ated.
49
50

BOOLEANS

52       SELinux policy is customizable based on least access  required.   cupsd
53       policy is extremely flexible and has several booleans that allow you to
54       manipulate the policy and run cupsd with the tightest access possible.
55
56
57
58       If you want to allow cups  execmem/execstack,  you  must  turn  on  the
59       cups_execmem boolean. Disabled by default.
60
61       setsebool -P cups_execmem 1
62
63
64
65       If you want to allow users to resolve user passwd entries directly from
66       ldap rather then using a sssd server, you  must  turn  on  the  authlo‐
67       gin_nsswitch_use_ldap boolean. Disabled by default.
68
69       setsebool -P authlogin_nsswitch_use_ldap 1
70
71
72
73       If you want to allow all domains to execute in fips_mode, you must turn
74       on the fips_mode boolean. Enabled by default.
75
76       setsebool -P fips_mode 1
77
78
79
80       If you want to allow confined applications to run  with  kerberos,  you
81       must turn on the kerberos_enabled boolean. Disabled by default.
82
83       setsebool -P kerberos_enabled 1
84
85
86
87       If  you  want  to  allow  system  to run with NIS, you must turn on the
88       nis_enabled boolean. Disabled by default.
89
90       setsebool -P nis_enabled 1
91
92
93
94       If you want to allow confined applications to use nscd  shared  memory,
95       you must turn on the nscd_use_shm boolean. Disabled by default.
96
97       setsebool -P nscd_use_shm 1
98
99
100

MANAGED FILES

102       The SELinux process type cupsd_t can manage files labeled with the fol‐
103       lowing file types.  The paths listed are the default  paths  for  these
104       file types.  Note the processes UID still need to have DAC permissions.
105
106       anon_inodefs_t
107
108
109       cluster_conf_t
110
111            /etc/cluster(/.*)?
112
113       cluster_var_lib_t
114
115            /var/lib/pcsd(/.*)?
116            /var/lib/cluster(/.*)?
117            /var/lib/openais(/.*)?
118            /var/lib/pengine(/.*)?
119            /var/lib/corosync(/.*)?
120            /usr/lib/heartbeat(/.*)?
121            /var/lib/heartbeat(/.*)?
122            /var/lib/pacemaker(/.*)?
123
124       cluster_var_run_t
125
126            /var/run/crm(/.*)?
127            /var/run/cman_.*
128            /var/run/rsctmp(/.*)?
129            /var/run/aisexec.*
130            /var/run/heartbeat(/.*)?
131            /var/run/corosync-qnetd(/.*)?
132            /var/run/corosync-qdevice(/.*)?
133            /var/run/corosync.pid
134            /var/run/cpglockd.pid
135            /var/run/rgmanager.pid
136            /var/run/cluster/rgmanager.sk
137
138       cupsd_interface_t
139
140            /etc/cups/interfaces(/.*)?
141
142       cupsd_lock_t
143
144
145       cupsd_log_t
146
147            /var/log/hp(/.*)?
148            /var/log/cups(/.*)?
149            /usr/Brother/fax/.*.log.*
150            /var/log/turboprint.*
151            /usr/local/Brother/fax/.*.log.*
152
153       cupsd_rw_etc_t
154
155            /etc/printcap.*
156            /etc/cups/ppd(/.*)?
157            /usr/Brother/(.*/)?inf(/.*)?
158            /usr/Printer/(.*/)?inf(/.*)?
159            /usr/lib/bjlib(/.*)?
160            /var/lib/iscan(/.*)?
161            /var/cache/cups(/.*)?
162            /etc/cups/certs/.*
163            /etc/opt/Brother/(.*/)?inf(/.*)?
164            /etc/cups/lpoptions.*
165            /var/cache/foomatic(/.*)?
166            /usr/local/Brother/(.*/)?inf(/.*)?
167            /usr/local/Printer/(.*/)?inf(/.*)?
168            /etc/cups/cupsd.conf.*
169            /var/lib/cups/certs/.*
170            /opt/gutenprint/ppds(/.*)?
171            /opt/brother/Printers(.*/)?inf(/.*)?
172            /etc/cups/classes.conf.*
173            /etc/cups/printers.conf.*
174            /etc/cups/subscriptions.*
175            /etc/opt/brother/Printers/(.*/)?inf(/.*)?
176            /usr/local/linuxprinter/ppd(/.*)?
177            /var/cache/alchemist/printconf.*
178            /etc/alchemist/namespace/printconf(/.*)?
179            /etc/cups/certs
180            /etc/cups/ppds.dat
181            /var/lib/cups/certs
182            /usr/share/foomatic/db/oldprinterids
183
184       cupsd_tmp_t
185
186
187       cupsd_var_lib_t
188
189            /var/lib/hp(/.*)?
190
191       cupsd_var_run_t
192
193            /var/ccpd(/.*)?
194            /var/ekpd(/.*)?
195            /var/run/hp.*.pid
196            /var/run/hp.*.port
197            /var/run/cups(/.*)?
198            /var/run/hplip(/.*)
199            /var/turboprint(/.*)?
200            /var/run/ecblp0
201
202       faillog_t
203
204            /var/log/btmp.*
205            /var/log/faillog.*
206            /var/log/tallylog.*
207            /var/run/faillock(/.*)?
208
209       krb5_host_rcache_t
210
211            /var/cache/krb5rcache(/.*)?
212            /var/tmp/nfs_0
213            /var/tmp/DNS_25
214            /var/tmp/host_0
215            /var/tmp/imap_0
216            /var/tmp/HTTP_23
217            /var/tmp/HTTP_48
218            /var/tmp/ldap_55
219            /var/tmp/ldap_487
220            /var/tmp/ldapmap1_0
221
222       print_spool_t
223
224            /var/spool/lpd(/.*)?
225            /var/spool/cups(/.*)?
226            /var/spool/cups-pdf(/.*)?
227
228       root_t
229
230            /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
231            /
232            /initrd
233
234       samba_var_t
235
236            /var/nmbd(/.*)?
237            /var/lib/samba(/.*)?
238            /var/cache/samba(/.*)?
239
240       security_t
241
242            /selinux
243
244       snmpd_var_lib_t
245
246            /var/agentx(/.*)?
247            /var/net-snmp(/.*)
248            /var/lib/snmp(/.*)?
249            /var/net-snmp(/.*)?
250            /var/lib/net-snmp(/.*)?
251            /var/spool/snmptt(/.*)?
252            /usr/share/snmp/mibs/.index
253
254       usbfs_t
255
256
257

FILE CONTEXTS

259       SELinux requires files to have an extended attribute to define the file
260       type.
261
262       You can see the context of a file using the -Z option to ls
263
264       Policy governs the access  confined  processes  have  to  these  files.
265       SELinux  cupsd  policy  is  very flexible allowing users to setup their
266       cupsd processes in as secure a method as possible.
267
268       STANDARD FILE CONTEXT
269
270       SELinux defines the file context types for the cupsd, if you wanted  to
271       store  files  with  these types in a diffent paths, you need to execute
272       the semanage command  to  sepecify  alternate  labeling  and  then  use
273       restorecon to put the labels on disk.
274
275       semanage fcontext -a -t cupsd_unit_file_t '/srv/mycupsd_content(/.*)?'
276       restorecon -R -v /srv/mycupsd_content
277
278       Note:  SELinux  often  uses  regular expressions to specify labels that
279       match multiple files.
280
281       The following file types are defined for cupsd:
282
283
284
285       cupsd_config_exec_t
286
287       - Set files with the cupsd_config_exec_t type, if you want  to  transi‐
288       tion an executable to the cupsd_config_t domain.
289
290
291       Paths:
292            /usr/sbin/hal_lpadmin,   /usr/libexec/hal_lpadmin,  /usr/bin/cups-
293            config-daemon,  /usr/sbin/printconf-backend,   /usr/lib/udev/udev-
294            configure-printer, /usr/libexec/cups-pk-helper-mechanism
295
296
297       cupsd_config_var_run_t
298
299       -  Set files with the cupsd_config_var_run_t type, if you want to store
300       the cupsd config files under the /run or /var/run directory.
301
302
303
304       cupsd_etc_t
305
306       - Set files with the cupsd_etc_t type, if you want to store cupsd files
307       in the /etc directories.
308
309
310       Paths:
311            /etc/hp(/.*)?, /etc/cups(/.*)?, /usr/share/cups(/.*)?
312
313
314       cupsd_exec_t
315
316       -  Set  files  with the cupsd_exec_t type, if you want to transition an
317       executable to the cupsd_t domain.
318
319
320       Paths:
321            /usr/sbin/hp-[^/]+,  /usr/share/hplip/.*.py,   /usr/lib/cups/back‐
322            end/hp.*,    /usr/bin/hpijs,   /usr/sbin/cupsd,   /usr/sbin/hpiod,
323            /usr/sbin/cups-browsed
324
325
326       cupsd_initrc_exec_t
327
328       - Set files with the cupsd_initrc_exec_t type, if you want  to  transi‐
329       tion an executable to the cupsd_initrc_t domain.
330
331
332
333       cupsd_interface_t
334
335       -  Set  files with the cupsd_interface_t type, if you want to treat the
336       files as cupsd interface data.
337
338
339
340       cupsd_lock_t
341
342       - Set files with the cupsd_lock_t type, if you want to treat the  files
343       as cupsd lock data, stored under the /var/lock directory
344
345
346
347       cupsd_log_t
348
349       - Set files with the cupsd_log_t type, if you want to treat the data as
350       cupsd log data, usually stored under the /var/log directory.
351
352
353       Paths:
354            /var/log/hp(/.*)?, /var/log/cups(/.*)?, /usr/Brother/fax/.*.log.*,
355            /var/log/turboprint.*, /usr/local/Brother/fax/.*.log.*
356
357
358       cupsd_lpd_exec_t
359
360       -  Set  files with the cupsd_lpd_exec_t type, if you want to transition
361       an executable to the cupsd_lpd_t domain.
362
363
364
365       cupsd_lpd_tmp_t
366
367       - Set files with the cupsd_lpd_tmp_t type, if you want to  store  cupsd
368       lpd temporary files in the /tmp directories.
369
370
371
372       cupsd_lpd_var_run_t
373
374       - Set files with the cupsd_lpd_var_run_t type, if you want to store the
375       cupsd lpd files under the /run or /var/run directory.
376
377
378
379       cupsd_rw_etc_t
380
381       - Set files with the cupsd_rw_etc_t type, if you want to store cupsd rw
382       files in the /etc directories.
383
384
385       Paths:
386            /etc/printcap.*,                              /etc/cups/ppd(/.*)?,
387            /usr/Brother/(.*/)?inf(/.*)?,        /usr/Printer/(.*/)?inf(/.*)?,
388            /usr/lib/bjlib(/.*)?, /var/lib/iscan(/.*)?, /var/cache/cups(/.*)?,
389            /etc/cups/certs/.*,              /etc/opt/Brother/(.*/)?inf(/.*)?,
390            /etc/cups/lpoptions.*,                  /var/cache/foomatic(/.*)?,
391            /usr/local/Brother/(.*/)?inf(/.*)?,
392            /usr/local/Printer/(.*/)?inf(/.*)?,        /etc/cups/cupsd.conf.*,
393            /var/lib/cups/certs/.*,                /opt/gutenprint/ppds(/.*)?,
394            /opt/brother/Printers(.*/)?inf(/.*)?,    /etc/cups/classes.conf.*,
395            /etc/cups/printers.conf.*,              /etc/cups/subscriptions.*,
396            /etc/opt/brother/Printers/(.*/)?inf(/.*)?,       /usr/local/linux‐
397            printer/ppd(/.*)?,               /var/cache/alchemist/printconf.*,
398            /etc/alchemist/namespace/printconf(/.*)?,         /etc/cups/certs,
399            /etc/cups/ppds.dat,                           /var/lib/cups/certs,
400            /usr/share/foomatic/db/oldprinterids
401
402
403       cupsd_tmp_t
404
405       -  Set files with the cupsd_tmp_t type, if you want to store cupsd tem‐
406       porary files in the /tmp directories.
407
408
409
410       cupsd_unit_file_t
411
412       - Set files with the cupsd_unit_file_t type, if you want to  treat  the
413       files as cupsd unit content.
414
415
416
417       cupsd_var_lib_t
418
419       -  Set  files  with  the cupsd_var_lib_t type, if you want to store the
420       cupsd files under the /var/lib directory.
421
422
423
424       cupsd_var_run_t
425
426       - Set files with the cupsd_var_run_t type, if you  want  to  store  the
427       cupsd files under the /run or /var/run directory.
428
429
430       Paths:
431            /var/ccpd(/.*)?,        /var/ekpd(/.*)?,        /var/run/hp.*.pid,
432            /var/run/hp.*.port,   /var/run/cups(/.*)?,    /var/run/hplip(/.*),
433            /var/turboprint(/.*)?, /var/run/ecblp0
434
435
436       Note:  File context can be temporarily modified with the chcon command.
437       If you want to permanently change the file context you need to use  the
438       semanage fcontext command.  This will modify the SELinux labeling data‐
439       base.  You will need to use restorecon to apply the labels.
440
441

COMMANDS

443       semanage fcontext can also be used to manipulate default  file  context
444       mappings.
445
446       semanage  permissive  can  also  be used to manipulate whether or not a
447       process type is permissive.
448
449       semanage module can also be used to enable/disable/install/remove  pol‐
450       icy modules.
451
452       semanage boolean can also be used to manipulate the booleans
453
454
455       system-config-selinux is a GUI tool available to customize SELinux pol‐
456       icy settings.
457
458

AUTHOR

460       This manual page was auto-generated using sepolicy manpage .
461
462

SEE ALSO

464       selinux(8),  cupsd(8),  semanage(8),  restorecon(8),  chcon(1),  sepol‐
465       icy(8),   setsebool(8),  cups_pdf_selinux(8),  cupsd_config_selinux(8),
466       cupsd_lpd_selinux(8)
467
468
469
470cupsd                              19-12-02                   cupsd_selinux(8)
Impressum