2. SELinux が有効としている ssh の Portを下記コマンドで確認します。
semanage port -l| grep ssh
ssh_port_t tcp 22
4. SELinux に Port 2222 を semanage コマンドで追加します。
semanage port -a -t ssh_port_t -p tcp 2222
再度、SELinux が有効としている ssh の Portを確認します。
semanage port -l| grep ssh
(時間がかかる しばらく待つ)
ssh_port_t tcp 2222, 22
Port 2222 が追加されています。
※ 参考情報 ※ 使わなくなった22番ポートを削除しようとしても、システムに標準で
定義されているため、削除はできないようです。
5. FFFTP、apache、ftp が SELinux 有効下で使用できるかの確認
5-1 FFFTP の Port 確認
下記コマンドを入力します。
semanage port -l| grep ftp
ftp_data_port_t tcp 20
ftp_port_t tcp 21, 989, 990
ftp_port_t udp 989, 990
tftp_port_t udp 69
上記の通り Port 21 が有効になっています。
5-2 apache Port 確認
下記コマンドを入力します。
semanage port -l| grep http
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 81, 443, 488, 8008,……
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
上記の通り port 80 が有効になっています。
5-3 apache ドキュメントルートの確認
apache HTTPサーバーでのドキュメントルートはデフォルトで /var/www/html/
に設定されています。
ドキュメントルートが、/var/www/html/ の場合は、このままでOKです。
ls -dZ /var/www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
5-4 このままでは、外部(ftp, FFFTP)から /home と /var をアクセスできないので
アクセスできるように変更します。
方法は、二つあります。
方法 1 SELinux を一時的に現在の状態を Enforcing から Permissive に変更する。
コマンド getenforce で現在の状態を確認します。
Enforcing
この状態をコマンド setenforce 0 で Permissive に変更します。
コマンド getenforce で状態を確認します。
Permissive に成っているはずです。これで、アクセスが可能になります。
元の状態に戻すには、コマンド setenforce 1 で行います。
方法 2 SELinux の設定を変えてアクセス可能にする。
ftp 関連の初期状態の確認 : コマンド getsebool -a | grep ftp で行います。
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off <--- 変更箇所は、ここです
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off
設定値の変更は、下記コマンドで行います。
setsebool -P allow_ftpd_full_access 1 <---- 1 or on
変更には、チョット時間がかかります。
変更されたか確認します。
getsebool allow_ftpd_full_access
allow_ftpd_full_access --> on <---- デフォルト値 off が on になりました。
これで、FFFTP でフルアクセスできるようになり、ftp でのデータ転送も受付さ
れるようになりました。
但し、サーバ運用時は、フルアクセス禁止にしておく事を進めます。
フルアクセスを禁止するコマンドは、下記の通りです。
setsebool -P allow_ftpd_full_access 0 <---- ftpd_full_access の欄が
off になります。
私は、方法 1 でサーバにアクセスする時に一時的に変更して運用しています。
6. ここで SELinux 有効( Enforcing )で Tera Term, FFFTP にログインできる事を確
認します。SELinux を制御有効にして再起動します。
( FFFTPの確認の前に FTPサーバをインストールしておいてください。)
なお、allow_ftpd_full_access --> off は、 on にしておきます。
setsebool -P allow_ftpd_full_access 1 <---- off ⇒ on
vi /etc/sysconfig/selinux ----> permissive ⇒ enforcing に変更する。
reboot
再起動したら Tera Term が Port 2222 でログインできるかと FFFTP でサーバ機の
ファイルが見られるかを確認します。
7. SELinux を有効にした時の apache2 のポリシー設定
apache2 のポリシー設定については、「CentOS-7-x86_64-DVD.iso インストールとサ
ーバ構築」の「10-2. SELinux を有効にした時の apache2 のポリシー設定」で詳細
を解説しています。
|