1smbd_selinux(8)               SELinux Policy smbd              smbd_selinux(8)
2
3
4

NAME

6       smbd_selinux - Security Enhanced Linux Policy for the smbd processes
7

DESCRIPTION

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

ENTRYPOINTS

23       The smbd_t SELinux type can be entered via the smbd_exec_t file type.
24
25       The default entrypoint paths for the smbd_t domain are the following:
26
27       /usr/sbin/smbd
28

PROCESS TYPES

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

BOOLEANS

50       SELinux policy is customizable based on least  access  required.   smbd
51       policy is extremely flexible and has several booleans that allow you to
52       manipulate the policy and run smbd with the tightest access possible.
53
54
55
56       If you want to allow all domains to execute in fips_mode, you must turn
57       on the fips_mode boolean. Enabled by default.
58
59       setsebool -P fips_mode 1
60
61
62
63       If  you  want  to allow confined applications to run with kerberos, you
64       must turn on the kerberos_enabled boolean. Enabled by default.
65
66       setsebool -P kerberos_enabled 1
67
68
69
70       If you want to allow samba to create new  home  directories  (e.g.  via
71       PAM),  you must turn on the samba_create_home_dirs boolean. Disabled by
72       default.
73
74       setsebool -P samba_create_home_dirs 1
75
76
77
78       If you want to allow samba to act as the domain controller, add  users,
79       groups  and  change  passwords,  you must turn on the samba_domain_con‐
80       troller boolean. Disabled by default.
81
82       setsebool -P samba_domain_controller 1
83
84
85
86       If you want to allow samba to share users home  directories,  you  must
87       turn on the samba_enable_home_dirs boolean. Disabled by default.
88
89       setsebool -P samba_enable_home_dirs 1
90
91
92
93       If  you  want to allow samba to share any file/directory read only, you
94       must turn on the samba_export_all_ro boolean. Disabled by default.
95
96       setsebool -P samba_export_all_ro 1
97
98
99
100       If you want to allow samba to share any file/directory read/write,  you
101       must turn on the samba_export_all_rw boolean. Disabled by default.
102
103       setsebool -P samba_export_all_rw 1
104
105
106
107       If  you want to allow smbd to load libgfapi from gluster, you must turn
108       on the samba_load_libgfapi boolean. Disabled by default.
109
110       setsebool -P samba_load_libgfapi 1
111
112
113
114       If you want to allow samba to act as a portmapper, you must turn on the
115       samba_portmapper boolean. Disabled by default.
116
117       setsebool -P samba_portmapper 1
118
119
120
121       If  you want to allow samba to run unconfined scripts, you must turn on
122       the samba_run_unconfined boolean. Disabled by default.
123
124       setsebool -P samba_run_unconfined 1
125
126
127
128       If you want to allow samba to export ntfs/fusefs volumes, you must turn
129       on the samba_share_fusefs boolean. Disabled by default.
130
131       setsebool -P samba_share_fusefs 1
132
133
134
135       If  you want to allow samba to export NFS volumes, you must turn on the
136       samba_share_nfs boolean. Disabled by default.
137
138       setsebool -P samba_share_nfs 1
139
140
141

PORT TYPES

143       SELinux defines port types to represent TCP and UDP ports.
144
145       You can see the types associated with a port  by  using  the  following
146       command:
147
148       semanage port -l
149
150
151       Policy  governs  the  access  confined  processes  have to these ports.
152       SELinux smbd policy is very flexible allowing users to setup their smbd
153       processes in as secure a method as possible.
154
155       The following port types are defined for smbd:
156
157
158       smbd_port_t
159
160
161
162       Default Defined Ports:
163                 tcp 445,137-139
164

MANAGED FILES

166       The  SELinux process type smbd_t can manage files labeled with the fol‐
167       lowing file types.  The paths listed are the default  paths  for  these
168       file types.  Note the processes UID still need to have DAC permissions.
169
170       auth_cache_t
171
172            /var/cache/coolkey(/.*)?
173
174       cluster_conf_t
175
176            /etc/cluster(/.*)?
177
178       cluster_var_lib_t
179
180            /var/lib/pcsd(/.*)?
181            /var/lib/cluster(/.*)?
182            /var/lib/openais(/.*)?
183            /var/lib/pengine(/.*)?
184            /var/lib/corosync(/.*)?
185            /usr/lib/heartbeat(/.*)?
186            /var/lib/heartbeat(/.*)?
187            /var/lib/pacemaker(/.*)?
188
189       cluster_var_run_t
190
191            /var/run/crm(/.*)?
192            /var/run/cman_.*
193            /var/run/rsctmp(/.*)?
194            /var/run/aisexec.*
195            /var/run/heartbeat(/.*)?
196            /var/run/pcsd-ruby.socket
197            /var/run/corosync-qnetd(/.*)?
198            /var/run/corosync-qdevice(/.*)?
199            /var/run/corosync.pid
200            /var/run/cpglockd.pid
201            /var/run/rgmanager.pid
202            /var/run/cluster/rgmanager.sk
203
204       ctdbd_var_lib_t
205
206            /var/lib/ctdb(/.*)?
207            /var/lib/ctdbd(/.*)?
208
209       faillog_t
210
211            /var/log/btmp.*
212            /var/log/faillog.*
213            /var/log/tallylog.*
214            /var/run/faillock(/.*)?
215
216       fusefs_t
217
218            /var/run/user/[^/]*/gvfs
219
220       glusterd_var_lib_t
221
222            /var/lib/glusterd(/.*)?
223
224       glusterd_var_run_t
225
226            /var/run/gluster(/.*)?
227            /var/run/glusterd.*
228            /var/run/glusterd.*
229            /var/run/glusterd(/.*)?
230
231       httpd_user_content_t
232
233            /home/[^/]+/((www)|(web)|(public_html))(/.+)?
234
235       initrc_var_run_t
236
237            /var/run/utmp
238            /var/run/random-seed
239            /var/run/runlevel.dir
240            /var/run/setmixer_flag
241
242       krb5_host_rcache_t
243
244            /var/tmp/krb5_0.rcache2
245            /var/cache/krb5rcache(/.*)?
246            /var/tmp/nfs_0
247            /var/tmp/DNS_25
248            /var/tmp/host_0
249            /var/tmp/imap_0
250            /var/tmp/HTTP_23
251            /var/tmp/HTTP_48
252            /var/tmp/ldap_55
253            /var/tmp/ldap_487
254            /var/tmp/ldapmap1_0
255
256       nfs_t
257
258
259       nmbd_var_run_t
260
261            /var/run/nmbd(/.*)?
262            /var/run/samba/nmbd(/.*)?
263            /var/run/samba/nmbd.pid
264            /var/run/samba/messages.tdb
265            /var/run/samba/namelist.debug
266            /var/run/samba/unexpected.tdb
267
268       non_security_file_type
269
270
271       noxattrfs
272
273            all files on file systems which do not support extended attributes
274
275       root_t
276
277            /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
278            /
279            /initrd
280
281       samba_log_t
282
283            /var/log/samba(/.*)?
284
285       samba_secrets_t
286
287            /etc/samba/smbpasswd
288            /etc/samba/passdb.tdb
289            /etc/samba/MACHINE.SID
290            /etc/samba/secrets.tdb
291
292       samba_share_t
293
294            use this label for random content that will be shared using samba
295
296       samba_spool_t
297
298            /var/spool/samba(/.*)?
299
300       security_t
301
302            /selinux
303
304       smbd_tmp_t
305
306
307       smbd_tmpfs_t
308
309
310       smbd_var_run_t
311
312            /var/run/samba(/.*)?
313            /var/run/samba/smbd.pid
314            /var/run/samba/brlock.tdb
315            /var/run/samba/locking.tdb
316            /var/run/samba/gencache.tdb
317            /var/run/samba/sessionid.tdb
318            /var/run/samba/share_info.tdb
319            /var/run/samba/connections.tdb
320
321       user_home_type
322
323            all user home files
324
325       wtmp_t
326
327            /var/log/wtmp.*
328
329

FILE CONTEXTS

331       SELinux requires files to have an extended attribute to define the file
332       type.
333
334       You can see the context of a file using the -Z option to ls
335
336       Policy governs the access  confined  processes  have  to  these  files.
337       SELinux smbd policy is very flexible allowing users to setup their smbd
338       processes in as secure a method as possible.
339
340       EQUIVALENCE DIRECTORIES
341
342
343       smbd policy stores data with multiple different file context types  un‐
344       der  the /var/run/samba directory.  If you would like to store the data
345       in a different directory you can use the semanage command to create  an
346       equivalence  mapping.   If you wanted to store this data under the /srv
347       directory you would execute the following command:
348
349       semanage fcontext -a -e /var/run/samba /srv/samba
350       restorecon -R -v /srv/samba
351
352       STANDARD FILE CONTEXT
353
354       SELinux defines the file context types for the smbd, if you  wanted  to
355       store  files  with  these types in a diffent paths, you need to execute
356       the semanage command to sepecify alternate labeling and  then  use  re‐
357       storecon to put the labels on disk.
358
359       semanage fcontext -a -t smbd_var_run_t '/srv/mysmbd_content(/.*)?'
360       restorecon -R -v /srv/mysmbd_content
361
362       Note:  SELinux  often  uses  regular expressions to specify labels that
363       match multiple files.
364
365       The following file types are defined for smbd:
366
367
368
369       smbd_exec_t
370
371       - Set files with the smbd_exec_t type, if you want to transition an ex‐
372       ecutable to the smbd_t domain.
373
374
375
376       smbd_keytab_t
377
378       - Set files with the smbd_keytab_t type, if you want to treat the files
379       as kerberos keytab files.
380
381
382
383       smbd_tmp_t
384
385       - Set files with the smbd_tmp_t type, if you want to store smbd  tempo‐
386       rary files in the /tmp directories.
387
388
389
390       smbd_tmpfs_t
391
392       - Set files with the smbd_tmpfs_t type, if you want to store smbd files
393       on a tmpfs file system.
394
395
396
397       smbd_var_run_t
398
399       - Set files with the smbd_var_run_t type, if you want to store the smbd
400       files under the /run or /var/run directory.
401
402
403       Paths:
404            /var/run/samba(/.*)?,  /var/run/samba/smbd.pid, /var/run/samba/br‐
405            lock.tdb, /var/run/samba/locking.tdb, /var/run/samba/gencache.tdb,
406            /var/run/samba/sessionid.tdb,       /var/run/samba/share_info.tdb,
407            /var/run/samba/connections.tdb
408
409
410       Note: File context can be temporarily modified with the chcon  command.
411       If  you want to permanently change the file context you need to use the
412       semanage fcontext command.  This will modify the SELinux labeling data‐
413       base.  You will need to use restorecon to apply the labels.
414
415

SHARING FILES

417       If  you  want to share files with multiple domains (Apache, FTP, rsync,
418       Samba), you can set a file context of public_content_t and  public_con‐
419       tent_rw_t.   These  context  allow any of the above domains to read the
420       content.  If you want a particular domain to write to  the  public_con‐
421       tent_rw_t domain, you must set the appropriate boolean.
422
423       Allow  smbd  servers to read the /var/smbd directory by adding the pub‐
424       lic_content_t file type to the directory  and  by  restoring  the  file
425       type.
426
427       semanage fcontext -a -t public_content_t "/var/smbd(/.*)?"
428       restorecon -F -R -v /var/smbd
429
430       Allow  smbd  servers to read and write /var/smbd/incoming by adding the
431       public_content_rw_t type to the directory and  by  restoring  the  file
432       type.  You also need to turn on the smbd_anon_write boolean.
433
434       semanage fcontext -a -t public_content_rw_t "/var/smbd/incoming(/.*)?"
435       restorecon -F -R -v /var/smbd/incoming
436       setsebool -P smbd_anon_write 1
437
438
439       If  you want to allow samba to modify public files used for public file
440       transfer  services.   Files/Directories  must  be  labeled  public_con‐
441       tent_rw_t., you must turn on the smbd_anon_write boolean.
442
443       setsebool -P smbd_anon_write 1
444
445

COMMANDS

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

AUTHOR

466       This manual page was auto-generated using sepolicy manpage .
467
468

SEE ALSO

470       selinux(8), smbd(8), semanage(8), restorecon(8), chcon(1), sepolicy(8),
471       setsebool(8)
472
473
474
475smbd                               21-06-09                    smbd_selinux(8)
Impressum