Xserver VPSのRocky LinuxでPermission deniedになる

はじめに

ConoHa(Rocky Linux 8)で運用していたシステムをXserver(Rocky Linux 9)で運用することになりました。
このシステムでは、nginx.conf などをユーザーから上書きして反映しています。

しかし、ConoHa で動作していたシステムが Xserver では nginx の Permission denied で動作しませんでした。

環境

移行元:
VPS:ConoHa
OS:Rocky Linux 8.6

移行先:
VPS:Xserver
OS:Rocky Linux 9

問題

nginxがPermission deniedで動作しない。

ログ:

# systemctl restart nginx
Redirecting to /bin/systemctl restart nginx.service
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
#
#
# systemctl status nginx.service
× nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Mon 2022-10-24 07:08:29 JST; 25s ago
    Process: 24801 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
    Process: 24802 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
        CPU: 8ms

Oct 24 07:08:29 x162-43-5-109 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Oct 24 07:08:29 x162-43-5-109 nginx[24802]: nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (13: Permission denied)
Oct 24 07:08:29 x162-43-5-109 nginx[24802]: nginx: configuration file /etc/nginx/nginx.conf test failed
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Killing process 19240 (nginx) with signal SIGKILL.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Killing process 19240 (nginx) with signal SIGKILL.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Failed with result 'exit-code'.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: nginx.service: Unit process 19240 (nginx) remains running after unit stopped.
Oct 24 07:08:29 x162-43-5-109 systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
```

Permission:

# ls -la /etc/nginx/ |grep nginx.conf
-rw-r--r--.   1 testuser testuser 2230 Oct 24 06:56 nginx.conf
-rw-r--r--.   1 root     root     2656 May 16 23:47 nginx.conf.default
-rw-r--r--.   1 root     root     2334 Oct 24 06:38 nginx.conf.org

対策

SELinux の無効化が対策となります。

Rocky Linux は無関係であり、Xserver VPS のデフォルトが SELinux 有効になっていることが原因でした。
けっこう詰まりました。。。

手順

現在のSELinuxの設定を「setenforce 0」で無効化します。

# getenforce 
enforcing
# setenforce 0   <=== 無効化
# getenforce 
Permissive

この状態で問題が解消されるか確認します。

# systemctl restart nginx

永久にオフにする場合は、設定ファイルを書き換えます。

# cp /etc/selinux/config /etc/selinux/config.org
# vi /etc/selinux/config

enforcing となっている部分を disabled に書き換えます。

/etc/selinux/config:

#SELINUX=enforcing
SELINUX=disabled

再起動して設定が反映しているか動作を確認します

# reboot
# getenforce 
disabled

以上です。

コメント

タイトルとURLをコピーしました