Я предлагаю, чтобы Вы попытались локально на сервере с помощью FTP Windows или другого установленного клиента. Таким образом, Вы будете видеть, является ли это проблема сети/брандмауэра или проблема с конфигурацией FTP-сервера. Также проверьте файлы журнала сервера Filezilla если команды.
Если это зависит от брандмауэра, вот статья TechNet, которая могла бы помочь: Как Настроить Windows Firewall для Пассивного FTP-сервера Режима. Но Вы записали, что брандмауэр Windows выключен, таким образом, я предполагаю, что это - проблема с внешним брандмауэром/маршрутизатором (также проверяют сторону клиента).
Начиная с RHEL6, сопоставления пользователей SELinux по умолчанию следующие
# semanage user -l
Labeling MLS/ MLS/
SELinux User Prefix MCS Level MCS Range SELinux Roles
git_shell_u user s0 s0 git_shell_r
guest_u user s0 s0 guest_r
root user s0 s0-s0:c0.c1023 staff_r sysadm_r system_r unconfined_r
staff_u user s0 s0-s0:c0.c1023 staff_r sysadm_r system_r unconfined_r
sysadm_u user s0 s0-s0:c0.c1023 sysadm_r
system_u user s0 s0-s0:c0.c1023 system_r unconfined_r
unconfined_u user s0 s0-s0:c0.c1023 system_r unconfined_r
user_u user s0 s0 user_r
xguest_u user s0 s0 xguest_r
Если вы используете стандартную целевую
политику (проверьте / etc / selinux / config
или запустите sestatus
, чтобы узнать)), шансы составляют root
использует пользовательское отображение unlimited_u
SELinux. id -Z
как root
сообщит вам.
Если вы проверите /etc/init.d/tomcat {6,7}
, вы найдете переключатель if
, который указывает, что runuser
должен использоваться вместо обычного su
в системах с поддержкой SELinux. Эта команда, однако, не предотвращает наследование отображения пользователя SELinux java-процессом tomcat
.
Это актуально, и я попытаюсь показать:
Возьмите SRPM selinux-policy
, найдите исходный код модуля java
(контексты файлов, интерфейс и тип принуждение):
selinux-policy-3.7.19-195.el6_4.6.src/serefpolicy-3.7.19/policy/modules/apps/java.fc
selinux-policy-3.7.19-195.el6_4.6.src/serefpolicy-3.7.19/policy/modules/apps/java.if
selinux-policy-3.7.19-195.el6_4.6.src/serefpolicy-3.7.19/policy/modules/apps/java.te
Первый не требует пояснений. Он содержит пути, которые в этом случае будут обозначены java_exec_t
: двоичные файлы и библиотеки как из стандартных, так и из дополнительных мест.
Второй путь, возможно, наиболее труден для понимания. Он определяет разрешенные переходы между доменами в этом модуле политики. Один фрагмент имеет отношение к вашему вопросу:
template(`java_role_template',`
gen_require(`
type java_exec_t;
')
type $1_java_t;
domain_type($1_java_t)
domain_entry_file($1_java_t, java_exec_t)
role $2 types $1_java_t;
domain_interactive_fd($1_java_t)
userdom_manage_tmpfs_role($2, $1_java_t)
allow $1_java_t self:process { ptrace signal getsched execmem execstack };
dontaudit $1_java_t $3:tcp_socket { read write };
allow $3 $1_java_t:process { getattr ptrace noatsecure signal_perms };
domtrans_pattern($3, java_exec_t, $1_java_t)
corecmd_bin_domtrans($1_java_t, $3)
dev_dontaudit_append_rand($1_java_t)
files_execmod_all_files($1_java_t)
fs_dontaudit_rw_tmpfs_files($1_java_t)
optional_policy(`
xserver_role($2, $1_java_t)
')
')
Как указано в документации к этому шаблону, «этот шаблон создает производные домены , которые используются для приложений Java », где «префикс домена пользователя (например, user - это префикс для user_t) "," если вы намерены запускать Java-приложения с использованием ограниченного пользователя SELinux, вам необходимо написать собственную политику, поскольку в текущей справочной политике такого нет (я думаю, ни в RHEL6, ни в восходящем направлении). Вы можете начать с копирования файлов и экспериментировать с ними.
Конечно, это непростая задача.
если вы намерены запускать Java-приложения с использованием ограниченного пользователя SELinux, вам необходимо написать собственную политику, поскольку в текущей справочной политике такого нет (я думаю, ни в RHEL6, ни в восходящем направлении). Вы можете начать с копирования файлов и экспериментировать с ними.Конечно, это непростая задача.