ftpd_selinux man page on RedHat

Man page or keyword search:  
man Server   29550 pages
apropos Keyword Search (all sections)
Output format
RedHat logo
[printable version]

ftpd_selinux(8)		      SELinux Policy ftpd	       ftpd_selinux(8)

NAME
       ftpd_selinux - Security Enhanced Linux Policy for the ftpd processes

DESCRIPTION
       Security-Enhanced  Linux secures the ftpd processes via flexible manda‐
       tory access control.

       The ftpd processes execute with the ftpd_t SELinux type. You can	 check
       if  you	have  these processes running by executing the ps command with
       the -Z qualifier.

       For example:

       ps -eZ | grep ftpd_t

ENTRYPOINTS
       The ftpd_t SELinux type can be entered via the ftpd_exec_t file type.

       The default entrypoint paths for the ftpd_t domain are the following:

       /usr/sbin/ftpwho,	 /usr/sbin/vsftpd,	    /usr/sbin/in.ftpd,
       /usr/sbin/proftpd,    /usr/sbin/muddleftpd,    /usr/kerberos/sbin/ftpd,
       /etc/cron.monthly/proftpd

PROCESS TYPES
       SELinux defines process types (domains) for each process running on the
       system

       You can see the context of a process using the -Z option to ps

       Policy  governs	the  access confined processes have to files.  SELinux
       ftpd policy is very flexible allowing users to setup  their  ftpd  pro‐
       cesses in as secure a method as possible.

       The following process types are defined for ftpd:

       ftpd_t, ftpdctl_t

       Note:  semanage	permissive  -a	ftpd_t can be used to make the process
       type ftpd_t permissive. SELinux does  not  deny	access	to  permissive
       process	types, but the AVC (SELinux denials) messages are still gener‐
       ated.

BOOLEANS
       SELinux policy is customizable based on least  access  required.	  ftpd
       policy is extremely flexible and has several booleans that allow you to
       manipulate the policy and run ftpd with the tightest access possible.

       If you want to determine whether ftpd can read and write files in  user
       home  directories,  you must turn on the ftp_home_dir boolean. Disabled
       by default.

       setsebool -P ftp_home_dir 1

       If you want to determine whether ftpd can  connect  to  all  unreserved
       ports,  you  must turn on the ftpd_connect_all_unreserved boolean. Dis‐
       abled by default.

       setsebool -P ftpd_connect_all_unreserved 1

       If you want to determine whether ftpd can connect to databases over the
       TCP  network, you must turn on the ftpd_connect_db boolean. Disabled by
       default.

       setsebool -P ftpd_connect_db 1

       If you want to determine whether ftpd can login to local users and  can
       read  and write all files on the system, governed by DAC, you must turn
       on the ftpd_full_access boolean. Disabled by default.

       setsebool -P ftpd_full_access 1

       If you want to determine whether ftpd can use CIFS used for public file
       transfer services, you must turn on the ftpd_use_cifs boolean. Disabled
       by default.

       setsebool -P ftpd_use_cifs 1

       If you want to allow ftpd to use ntfs/fusefs volumes, you must turn  on
       the ftpd_use_fusefs boolean. Disabled by default.

       setsebool -P ftpd_use_fusefs 1

       If  you want to determine whether ftpd can use NFS used for public file
       transfer services, you must turn on the ftpd_use_nfs boolean.  Disabled
       by default.

       setsebool -P ftpd_use_nfs 1

       If  you want to determine whether ftpd can bind to all unreserved ports
       for passive mode, you must turn on the  ftpd_use_passive_mode  boolean.
       Disabled by default.

       setsebool -P ftpd_use_passive_mode 1

       If you want to allow users to resolve user passwd entries directly from
       ldap rather then using a sssd server, you  must	turn  on  the  authlo‐
       gin_nsswitch_use_ldap boolean. Disabled by default.

       setsebool -P authlogin_nsswitch_use_ldap 1

       If you want to allow all daemons to write corefiles to /, you must turn
       on the daemons_dump_core boolean. Disabled by default.

       setsebool -P daemons_dump_core 1

       If you want to enable cluster mode for daemons, you must	 turn  on  the
       daemons_enable_cluster_mode boolean. Enabled by default.

       setsebool -P daemons_enable_cluster_mode 1

       If  you want to allow all daemons to use tcp wrappers, you must turn on
       the daemons_use_tcp_wrapper boolean. Disabled by default.

       setsebool -P daemons_use_tcp_wrapper 1

       If you want to allow all daemons the ability to	read/write  terminals,
       you must turn on the daemons_use_tty boolean. Disabled by default.

       setsebool -P daemons_use_tty 1

       If  you	want  to deny any process from ptracing or debugging any other
       processes, you  must  turn  on  the  deny_ptrace	 boolean.  Enabled  by
       default.

       setsebool -P deny_ptrace 1

       If you want to allow all domains to use other domains file descriptors,
       you must turn on the domain_fd_use boolean. Enabled by default.

       setsebool -P domain_fd_use 1

       If you want to allow all domains to have the kernel load	 modules,  you
       must  turn  on  the  domain_kernel_load_modules	boolean.  Disabled  by
       default.

       setsebool -P domain_kernel_load_modules 1

       If you want to allow all domains to execute in fips_mode, you must turn
       on the fips_mode boolean. Enabled by default.

       setsebool -P fips_mode 1

       If you want to enable reading of urandom for all domains, you must turn
       on the global_ssp boolean. Disabled by default.

       setsebool -P global_ssp 1

       If you want to allow confined applications to run  with	kerberos,  you
       must turn on the kerberos_enabled boolean. Enabled by default.

       setsebool -P kerberos_enabled 1

       If  you	want  to  allow	 system	 to run with NIS, you must turn on the
       nis_enabled boolean. Disabled by default.

       setsebool -P nis_enabled 1

       If you want to allow confined applications to use nscd  shared  memory,
       you must turn on the nscd_use_shm boolean. Disabled by default.

       setsebool -P nscd_use_shm 1

       If  you	want  to  support  NFS	home directories, you must turn on the
       use_nfs_home_dirs boolean. Disabled by default.

       setsebool -P use_nfs_home_dirs 1

       If you want to support SAMBA home directories, you  must	 turn  on  the
       use_samba_home_dirs boolean. Disabled by default.

       setsebool -P use_samba_home_dirs 1

NSSWITCH DOMAIN
       If you want to allow users to resolve user passwd entries directly from
       ldap rather then using a sssd server for the ftpd_t, you must  turn  on
       the authlogin_nsswitch_use_ldap boolean.

       setsebool -P authlogin_nsswitch_use_ldap 1

       If you want to allow confined applications to run with kerberos for the
       ftpd_t, you must turn on the kerberos_enabled boolean.

       setsebool -P kerberos_enabled 1

PORT TYPES
       SELinux defines port types to represent TCP and UDP ports.

       You can see the types associated with a port  by	 using	the  following
       command:

       semanage port -l

       Policy  governs	the  access  confined  processes  have to these ports.
       SELinux ftpd policy is very flexible allowing users to setup their ftpd
       processes in as secure a method as possible.

       The following port types are defined for ftpd:

       ftp_data_port_t

       Default Defined Ports:
		 tcp 20

       ftp_port_t

       Default Defined Ports:
		 tcp 21,989,990
		 udp 989,990

MANAGED FILES
       The  SELinux process type ftpd_t can manage files labeled with the fol‐
       lowing file types.  The paths listed are the default  paths  for	 these
       file types.  Note the processes UID still need to have DAC permissions.

       cifs_t

       cluster_var_lib_t

	    /var/lib/pcsd(/.*)?
	    /var/lib/cluster(/.*)?
	    /var/lib/openais(/.*)?
	    /var/lib/pengine(/.*)?
	    /var/lib/corosync(/.*)?
	    /usr/lib/heartbeat(/.*)?
	    /var/lib/heartbeat(/.*)?
	    /var/lib/pacemaker(/.*)?

       cluster_var_run_t

	    /var/run/crm(/.*)?
	    /var/run/cman_.*
	    /var/run/rsctmp(/.*)?
	    /var/run/aisexec.*
	    /var/run/heartbeat(/.*)?
	    /var/run/cpglockd.pid
	    /var/run/corosync.pid
	    /var/run/rgmanager.pid
	    /var/run/cluster/rgmanager.sk

       krb5_host_rcache_t

	    /var/cache/krb5rcache(/.*)?
	    /var/tmp/nfs_0
	    /var/tmp/DNS_25
	    /var/tmp/host_0
	    /var/tmp/imap_0
	    /var/tmp/HTTP_23
	    /var/tmp/HTTP_48
	    /var/tmp/ldap_55
	    /var/tmp/ldap_487
	    /var/tmp/ldapmap1_0

       non_security_file_type

       user_home_type

	    all user home files

       user_tmp_t

	    /var/run/user(/.*)?
	    /tmp/gconfd-.*

FILE CONTEXTS
       SELinux requires files to have an extended attribute to define the file
       type.

       You can see the context of a file using the -Z option to ls

       Policy governs the access  confined  processes  have  to	 these	files.
       SELinux ftpd policy is very flexible allowing users to setup their ftpd
       processes in as secure a method as possible.

       STANDARD FILE CONTEXT

       SELinux defines the file context types for the ftpd, if you  wanted  to
       store  files  with  these types in a diffent paths, you need to execute
       the semanage command  to	 sepecify  alternate  labeling	and  then  use
       restorecon to put the labels on disk.

       semanage fcontext -a -t ftpd_etc_t '/srv/ftpd/content(/.*)?'
       restorecon -R -v /srv/myftpd_content

       Note:  SELinux  often  uses  regular expressions to specify labels that
       match multiple files.

       The following file types are defined for ftpd:

       ftpd_etc_t

       - Set files with the ftpd_etc_t type, if you want to store  ftpd	 files
       in the /etc directories.

       ftpd_exec_t

       -  Set  files  with  the ftpd_exec_t type, if you want to transition an
       executable to the ftpd_t domain.

       Paths:
	    /usr/sbin/ftpwho,	    /usr/sbin/vsftpd,	    /usr/sbin/in.ftpd,
	    /usr/sbin/proftpd,	/usr/sbin/muddleftpd, /usr/kerberos/sbin/ftpd,
	    /etc/cron.monthly/proftpd

       ftpd_initrc_exec_t

       - Set files with the ftpd_initrc_exec_t type, if you want to transition
       an executable to the ftpd_initrc_t domain.

       Paths:
	    /etc/rc.d/init.d/vsftpd, /etc/rc.d/init.d/proftpd

       ftpd_keytab_t

       - Set files with the ftpd_keytab_t type, if you want to treat the files
       as kerberos keytab files.

       ftpd_lock_t

       - Set files with the ftpd_lock_t type, if you want to treat  the	 files
       as ftpd lock data, stored under the /var/lock directory

       ftpd_tmp_t

       -  Set files with the ftpd_tmp_t type, if you want to store ftpd tempo‐
       rary files in the /tmp directories.

       ftpd_tmpfs_t

       - Set files with the ftpd_tmpfs_t type, if you want to store ftpd files
       on a tmpfs file system.

       ftpd_unit_file_t

       -  Set  files  with the ftpd_unit_file_t type, if you want to treat the
       files as ftpd unit content.

       ftpd_var_run_t

       - Set files with the ftpd_var_run_t type, if you want to store the ftpd
       files under the /run or /var/run directory.

       ftpdctl_exec_t

       -  Set files with the ftpdctl_exec_t type, if you want to transition an
       executable to the ftpdctl_t domain.

       ftpdctl_tmp_t

       - Set files with the ftpdctl_tmp_t type, if you want to	store  ftpdctl
       temporary files in the /tmp directories.

       Note:  File context can be temporarily modified with the chcon command.
       If you want to permanently change the file context you need to use  the
       semanage fcontext command.  This will modify the SELinux labeling data‐
       base.  You will need to use restorecon to apply the labels.

SHARING FILES
       If you want to share files with multiple domains (Apache,  FTP,	rsync,
       Samba),	you can set a file context of public_content_t and public_con‐
       tent_rw_t.  These context allow any of the above domains	 to  read  the
       content.	  If  you want a particular domain to write to the public_con‐
       tent_rw_t domain, you must set the appropriate boolean.

       Allow ftpd servers to read the /var/ftpd directory by adding  the  pub‐
       lic_content_t  file  type  to  the  directory and by restoring the file
       type.

       semanage fcontext -a -t public_content_t "/var/ftpd(/.*)?"
       restorecon -F -R -v /var/ftpd

       Allow ftpd servers to read and write /var/ftpd/incoming by  adding  the
       public_content_rw_t  type  to  the  directory and by restoring the file
       type.  You also need to turn on the ftpd_anon_write boolean.

       semanage fcontext -a -t public_content_rw_t "/var/ftpd/incoming(/.*)?"
       restorecon -F -R -v /var/ftpd/incoming
       setsebool -P ftpd_anon_write 1

       If you want to determine whether ftpd can modify public files used  for
       public  file  transfer services. Directories/Files must be labeled pub‐
       lic_content_rw_t., you must turn on the ftpd_anon_write boolean.

       setsebool -P ftpd_anon_write 1

COMMANDS
       semanage fcontext can also be used to manipulate default	 file  context
       mappings.

       semanage	 permissive  can  also	be used to manipulate whether or not a
       process type is permissive.

       semanage module can also be used to enable/disable/install/remove  pol‐
       icy modules.

       semanage port can also be used to manipulate the port definitions

       semanage boolean can also be used to manipulate the booleans

       system-config-selinux is a GUI tool available to customize SELinux pol‐
       icy settings.

AUTHOR
       This manual page was auto-generated using sepolicy manpage .

SEE ALSO
       selinux(8), ftpd(8), semanage(8), restorecon(8), chcon(1),  sepolicy(8)
       , setsebool(8)

ftpd				   13-11-20		       ftpd_selinux(8)
[top]

List of man pages available for RedHat

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net