/home/user/html에 대한 httpd 쓰기 액세스를 허용하는 sebool을 아는 사람이 있습니까? SELinux를 비활성화하면 echo 0 > /selinux/enforce
쓸 수 있으므로 내 문제는 확실히 SELinux와 관련되어 있습니다. 큰 구멍을 열지 않고서는 어느 것이 맞는지 알 수 없고, 구글은 별로 도움을 주지 않습니다.
#[/home]ls -Z
drwxr-x---. user apache unconfined_u:object_r:user_home_dir_t:s0 user
#sestatus -b
Policy booleans:
abrt_anon_write off
abrt_handle_event off
allow_console_login on
allow_cvs_read_shadow off
allow_daemons_dump_core on
allow_daemons_use_tcp_wrapper off
allow_daemons_use_tty on
allow_domain_fd_use on
allow_execheap off
allow_execmem on
allow_execmod on
allow_execstack on
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
allow_gssd_read_tmp on
allow_guest_exec_content off
allow_httpd_anon_write off
allow_httpd_mod_auth_ntlm_winbind off
allow_httpd_mod_auth_pam off
allow_httpd_sys_script_anon_write off
allow_java_execstack off
allow_kerberos on
allow_mount_anyfile on
allow_mplayer_execstack off
allow_nsplugin_execmem on
allow_polyinstantiation off
allow_postfix_local_write_mail_spool on
allow_ptrace off
allow_rsync_anon_write off
allow_saslauthd_read_shadow off
allow_smbd_anon_write off
allow_ssh_keysign off
allow_staff_exec_content on
allow_sysadm_exec_content on
allow_unconfined_nsplugin_transition off
allow_user_exec_content on
allow_user_mysql_connect off
allow_user_postgresql_connect off
allow_write_xshm off
allow_xguest_exec_content off
allow_xserver_execmem off
allow_ypbind off
allow_zebra_write_config on
authlogin_radius off
cdrecord_read_content off
clamd_use_jit off
cobbler_anon_write off
cobbler_can_network_connect off
cobbler_use_cifs off
cobbler_use_nfs off
condor_domain_can_network_connect off
cron_can_relabel off
dhcpc_exec_iptables off
domain_kernel_load_modules off
exim_can_connect_db off
exim_manage_user_files off
exim_read_user_files off
fcron_crond off
fenced_can_network_connect off
fenced_can_ssh off
ftp_home_dir on
ftpd_connect_db off
ftpd_use_passive_mode off
git_cgit_read_gitosis_content off
git_session_bind_all_unreserved_ports off
git_system_enable_homedirs off
git_system_use_cifs off
git_system_use_nfs off
global_ssp off
gpg_agent_env_file off
gpg_web_anon_write off
httpd_builtin_scripting on
httpd_can_check_spam off
httpd_can_network_connect off
httpd_can_network_connect_cobbler off
httpd_can_network_connect_db on
httpd_can_network_memcache off
httpd_can_network_relay off
httpd_can_sendmail on
httpd_dbus_avahi on
httpd_enable_cgi on
httpd_enable_ftp_server off
httpd_enable_homedirs on
httpd_execmem off
httpd_manage_ipa off
httpd_read_user_content off
httpd_setrlimit off
httpd_ssi_exec off
httpd_tmp_exec off
httpd_tty_comm on
httpd_unified on
httpd_use_cifs off
httpd_use_gpg off
httpd_use_nfs off
httpd_use_openstack off
icecast_connect_any off
init_upstart on
irssi_use_full_network off
logging_syslogd_can_sendmail off
mmap_low_allowed off
mozilla_read_content off
mysql_connect_any off
named_write_master_zones off
ncftool_read_user_content off
nscd_use_shm on
nsplugin_can_network on
openvpn_enable_homedirs on
piranha_lvs_can_network_connect off
pppd_can_insmod off
pppd_for_user off
privoxy_connect_any on
puppet_manage_all_files off
puppetmaster_use_db off
qemu_full_network on
qemu_use_cifs on
qemu_use_comm off
qemu_use_nfs on
qemu_use_usb on
racoon_read_shadow off
rgmanager_can_network_connect off
rsync_client off
rsync_export_all_ro off
rsync_use_cifs off
rsync_use_nfs off
samba_create_home_dirs off
samba_domain_controller off
samba_enable_home_dirs off
samba_export_all_ro off
samba_export_all_rw off
samba_run_unconfined off
samba_share_fusefs off
samba_share_nfs off
sanlock_use_nfs off
sanlock_use_samba off
secure_mode off
secure_mode_insmod off
secure_mode_policyload off
sepgsql_enable_users_ddl on
sepgsql_unconfined_dbadm on
sge_domain_can_network_connect off
sge_use_nfs off
smartmon_3ware off
spamassassin_can_network off
spamd_enable_home_dirs on
squid_connect_any on
squid_use_tproxy off
ssh_chroot_rw_homedirs off
ssh_sysadm_login off
telepathy_tcp_connect_generic_network_ports off
tftp_anon_write off
tor_bind_all_unreserved_ports off
unconfined_login on
unconfined_mmap_zero_ignore off
unconfined_mozilla_plugin_transition off
use_fusefs_home_dirs off
use_lpd_server off
use_nfs_home_dirs on
use_samba_home_dirs off
user_direct_dri on
user_direct_mouse off
user_ping on
user_rw_noexattrfile on
user_setrlimit on
user_tcp_server off
user_ttyfile_stat off
varnishd_connect_any off
vbetool_mmap_zero_ignore off
virt_use_comm off
virt_use_fusefs off
virt_use_nfs off
virt_use_samba off
virt_use_sanlock off
virt_use_sysfs on
virt_use_usb on
virt_use_xserver off
webadm_manage_user_files off
webadm_read_user_files off
wine_mmap_zero_ignore off
xdm_exec_bootloader off
xdm_sysadm_login off
xen_use_nfs off
xguest_connect_network on
xguest_mount_media on
xguest_use_bluetooth on
xserver_object_manager off
답변1
적어도 그 자체로는 그렇지 않습니다. 디렉터리 구조에 대한 컨텍스트를 제공하거나 httpd_sys_rw_content_t
다음과 같이 컨텍스트를 제공 및 활성화해야 합니다.public_content_rw_t
allow_httpd_anon_write
allow_httpd_sys_script_anon_write
chcon -R -t httpd_sys_rw_content_t /path
자세한 내용은 매뉴얼 페이지를 참조하십시오 httpd_selinux(8)
.
답변2
필요한 경우 파일과 폴더에 태그를 지정 하는 것이 가장 좋지만 httpd_sys_rw_content_t
, 완전성을 위해 seboolean을 httpd_unified
1로 변경하여 SELinux가 이 특정 컨텍스트 요구 사항을 무시하도록 할 수도 있다는 점을 언급하고 싶습니다. 이는 여전히 SELinux를 비활성화하는 것보다 훨씬 낫습니다. 인터넷상의 사람들이 제안을 할 것입니다.
매뉴얼 페이지에서:
httpd는 컨텍스트에 따라 파일 제어를 구별하지 않도록 구성할 수 있습니다. 즉, httpd 컨텍스트로 표시된 모든 파일은 읽기/쓰기/실행이 가능합니다. 이 부울 값을 false로 설정하면 하나의 httpd 서비스가 다른 서비스를 방해할 수 없도록 보안 정책을 설정할 수 있습니다.
setebool -P httpd_unified 0
답변3
RedHat에서 selinux에 대한 아주 좋은 문서를 찾을 수 있고 180페이지의 .pdf 매뉴얼을 다운로드할 수 있지만 selinux 문제를 처리하는 가장 좋은 방법은 터미널을 열고 자동화된 도구를 사용하여 입력하는 것입니다.
노력하다:
aureport -a(루트로)
그런 다음 문제를 일으킨 행동을 반복하십시오. 문제에 대한 좋은 정보와 문제 해결을 고려할 수 있는 방법을 얻을 수 있습니다(제 경우에는 아파치가 쓸 수 없는 폴더였습니다).
aureport는 문제가 발생할 때 여러 가지 대안을 제공하는 보고 프로그램을 시작합니다. 영어를 할 수 있는 사람이 명확하게 설명할 수 있습니다. 저는 selinux 문제를 해결하는 데 몇 시간을 소비한 후 Redhat 문서에서 이 작은 보석을 찾아 30초 만에 문제를 해결했습니다. 선택지 중 하나가 맞습니다.
/룬
답변4
semanage permissive -a httpd_t
나에게 유용하다