2024/07/25前後で発生した当サイトのエラーについて

結局、原因は分かりませんでした…(´;ω;`)

“dnf update”を行った結果、またしてもSSHポート(ssh_port_t)とNginx・Docker間の通信許可(httpd_can_network_connect)が初期化されていました。

エラーを見ても原因が分かりません。
よかったらいかにエラーメッセージを載せているので、解決方法をご存じでしたら教えてください。

で、何故かわからないんですが”fixfiles relabel”を実行して結果として以降サーバへのログインができなくなりました。”シェルへのアクセスが許可されていない”旨のメッセージが出力されていました。十中八九先のコマンドの影響なのでSELinuxを無効化しました。(ちなみにVNCコンソールしかBootメニューが出力されないのですが、VNCコンソールでは”=”が入力できないため、その後シリアルコンソールの方を起動してカーネルパラメータでSELinuxを無効化しました。)

無効にしたのはいいもののやはりSELinuxを有効化したいので調べたところ”fixfile”コマンドはデフォルトではコンテキストの内タイプしか張り直さないとか。そのためオプション付きの”fixfile -F”で実行するとSELinux起動状態でログインできました。同時に最初の”ssh_port_t”と”httpd_can_network_connect”も設定が復帰しました(たしか再設定のためにコマンドは実行していなかったはず)。

そしたら今度はどうなったと思う?Dockerデーモンが起動に失敗していた。”/var/log/messages”ログに”overlay”がマウントできないとかドライバーのサポートがないとか出力されました。調べたところこれは再起動で治るらしいので実行したところ元通り、と。

結局何で最近このエラー連発してるんだろう?kernelのアップデートがある日は毎回な気がする。それとも他のパッケージが原因なんだろうか?

# 22番以外の特定のSSH用ポートを許可
semanage port --add --type ssh_port_t --proto tcp $PORT_NUM
# libsepol.context_from_record: type samba_cert_t is not defined
# libsepol.context_from_record: could not create context structure
# libsepol.context_from_string: could not create context structure
# libsepol.sepol_context_to_sid: could not convert system_u:object_r:samba_cert_t:s0 to sid
# invalid context system_u:object_r:samba_cert_t:s0
# libsemanage.semanage_validate_and_compile_fcontexts: setfiles returned error code 255.
# OSError: Error

# 上記のエラーが発生した
# ⇒原因不明(教えてください)

# Nginx+Docker(Webアプリ)で必要
setsebool -P httpd_can_network_connect on

# ここでも先と同じ先と類似(同じ?)エラーメッセージが出力される
# やはりここも原因不明

# コンテキストの内タイプだけを全ファイル張り替える
fixfiles relabel

# ここでログイン不可に(シェルへの許可がない旨表示される)
# さくらVPSで”VNCコンソール"を利用するとGrubのブートメニューで
# "e"を入力するとカーネルパラメータを操作できる。
# ここで"linux="行の末尾に"selinux=0"を記述すると一時的にSELinuxを無効にして起動できる
# これによりログインが可能になる

# SELinuxが無効か確認する
getenforce

# 再起動時にコンテキスト全体を全ファイル張り替える
fixfiles -F onboot
reboot

# SELinuxが有効か確認する
getenforce

# ここでDockerデーモン起動時にエラー
less /var/log/messages
# 'level=error msg="failed to mount overlay: no such device" storage-driver=overlay2'
# 'level=error msg="[graphdriver] prior storage driver overlay2 failed: driver not supported"'

# 再起動する
reboot

# dockerデーモンの起動を確認
systemctl status docker

# Dockerの起動を確認できた!

コメントを残す