2013-04-08 2 views
1

Я пытаюсь изучить Selinux. С помощью песочницы и использования VSFTPD для экспериментов я имею сервер vsfptd, работающий в Centos. У меня есть анонимные пользователи для размещения файлов в/var/ftp/incoming. На удаленной машине я могу пользователь успешно войти, но не мог поместить файл на сервере удалить VSFTPD:Selinux - контексты файлов выглядят хорошо, но Selinux не разрешает писать

$ftp mysql_server 
Connected to mysql_server (192.168.1.31). 
220 Welcome to blah FTP service. 
Name (mysql_server:root): anonymous 
331 Please specify the password. 
Password: 
230 Login successful. 
Remote system type is UNIX. 
Using binary mode to transfer ftp> put atd 
local: atd remote: atd 
227 Entering Passive Mode (192,168,1,31,19,161). 
553 Could not create file. 
ftp> 

На сервере VSFTPD, aureport -a отчет показывает:

[[email protected]_server ftp]# aureport -a 

AVC Report 
======================================================== 
# date time comm subj syscall class permission obj event 
======================================================== 
4. 04/08/2013 13:30:36 vsftpd unconfined_u:system_r:ftpd_t:s0-s0:c0.c1023 21 dir write system_u:object_r:public_content_t:s0 denied 28 
5. 04/08/2013 13:34:57 vsftpd unconfined_u:system_r:ftpd_t:s0-s0:c0.c1023 2 dir write system_u:object_r:public_content_t:s0 denied 47 

I проверил каталог и файл контексты хорошо выглядеть, так что я не понимаю, почему SELinux не позволит Vsftpd написать входящий каталог:

[[email protected]_server ftp]# ls -Z 
drwx-wx---. root ftp system_u:object_r:public_content_t:s0 incoming 
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub 
[[email protected]_server ftp]# 

ответ

2

Вам необходимо выполнить следующие команды, чтобы в SELinux загружать и редактировать файлы:

setsebool -P allow_ftpd_full_access on 
setsebool -P ftp_home_dir on