SELinux Запись доступа для vsftpd и samba

Это должно быть достаточно легко, я думаю, но я новичок в SELinux. У меня есть файловый сервер CentOS 6. У меня есть несколько файловых систем LVM на / var / media, и я хочу использовать Samba и FTP для обмена ими с машиной Windows. Я использую ACL, чтобы разрешения хорошо работали в Windows (у меня есть две пользовательские сети). Я обнаружил, что Samba, хотя и работает, медленна для передачи файлов, поэтому я хотел попробовать FTP.

Я бы хотел использовать SELinux для обеспечения безопасности, но у меня возникают проблемы с доступом к файлам через FTP. Я могу читать файлы и писать в свой домашний каталог. Но я не могу писать файлы в / var / media (с контекстом samba_share_t).

Я думал, что allow_ftpd_use_cifs должен был обработать это. Я могу заставить его работать с allow_ftpd_full_access , но я бы предпочел избежать этого. Что мне не хватает?

Вот соответствующая информация:

 [mdurak@srv ~]$ ls -Z /var/media drwxrwxr-x+ mdurak admins system_u:object_r:samba_share_t:s0 docs drwxrwxr-x+ mdurak admins system_u:object_r:samba_share_t:s0 library drwxrwxr-x+ mdurak admins system_u:object_r:samba_share_t:s0 photos drwxrwxr-x+ mdurak admins system_u:object_r:samba_share_t:s0 projects [mdurak@srv ~]$ sudo semanage boolean -l | grep ftp ftp_home_dir (on , on) Allow ftp to read and write files in the user home directories tftp_anon_write (off , off) Allow tftp to modify public files used for public file transfer services. allow_ftpd_full_access (off , off) Allow ftp servers to login to local users and read/write all files on the system, governed by DAC. allow_ftpd_use_cifs (on , on) Allow ftp servers to use cifs used for public file transfer services. allow_ftpd_use_nfs (off , off) Allow ftp servers to use nfs used for public file transfer services. allow_ftpd_anon_write (on , on) Allow ftp servers to upload files, used for public file transfer services. Directories must be labeled public_content_rw_t. ftpd_use_passive_mode (off , off) Allow ftp servers to use bind to all unreserved ports for passive mode ftpd_connect_db (off , off) Allow ftp servers to use connect to mysql database httpd_enable_ftp_server (off , off) Allow httpd to act as a FTP server by listening on the ftp port. [mdurak@srv ~]$ sudo semanage boolean -l | grep samba samba_domain_controller (off , off) Allow samba to act as the domain controller, add users, groups and change passwords. samba_portmapper (off , off) Allow samba to act as a portmapper samba_enable_home_dirs (on , on) Allow samba to share users home directories. samba_export_all_ro (off , off) Allow samba to share any file/directory read only. samba_export_all_rw (off , off) Allow samba to share any file/directory read/write. use_samba_home_dirs (off , off) Support SAMBA home directories samba_create_home_dirs (off , off) Allow samba to create new home directories (eg via PAM) cdrecord_read_content (off , off) Allow cdrecord to read various content. nfs, samba, removable devices, user temp and untrusted content files allow_smbd_anon_write (off , off) Allow samba to modify public files used for public file transfer services. Files/Directories must be labeled public_content_rw_t. samba_share_fusefs (off , off) Allow samba to export ntfs/fusefs volumes. samba_share_nfs (off , off) Allow samba to export NFS volumes. samba_run_unconfined (off , off) Allow samba to run unconfined scripts sanlock_use_samba (off , off) Allow sanlock to manage cifs files virt_us 

e_samba (off, off) Разрешить virt управлять файлами cifs

/etc/vsftpd/vsftpd.conf

 anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES chroot_list_enable=YES # mdurak is in the chroot_list chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_enable=YES local_root=/var/media и anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES chroot_list_enable=YES # mdurak is in the chroot_list chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_enable=YES local_root=/var/media 

Попытка FTP сделать каталог (в журнале аудита также есть отрицаемое сообщение, поэтому я знаю, что это проблема SELinux).

 Command: CWD /var/media/library/music Response: 250 Directory successfully changed. Command: MKD sdff Response: 550 Create directory operation failed. Command: MKD /var/media/library/music/sdff Response: 550 Create directory operation failed. 

Я понял это из этого: http://selinuxproject.org/page/SambaRecipes

Если бы установить контексты папки в public_content_rw_t и сделать

 setsebool -P allow_smbd_anon_write=1 

Теперь я могу писать через Samba и FTP (и позже будет легко поддерживать другие домены)