CentOS 7でサービスの再起動や起動・停止時に「Authorization not available. Check if polkit service is running or see debug message for more information.」というエラーメッセージが表示される場合、いくつかの原因が考えられます。この問題は、polkitサービスの設定や状態に関連することが多く、特にSELinuxが無効である場合でも発生することがあります。この記事では、具体的な解決策を順を追って説明します。
1. polkitサービスの確認と再起動
「Authorization not available」エラーが表示される主な原因の一つは、polkitサービスの不具合や停止です。polkitは、Linuxシステムでユーザー権限を管理するためのフレームワークであり、サービスの起動や停止時に権限の確認が必要です。
まず、polkitサービスが動作しているかを確認しましょう。ターミナルで以下のコマンドを実行して、polkitのステータスを確認します。
systemctl status polkit
もしサービスが停止していた場合、以下のコマンドで再起動できます。
sudo systemctl restart polkit
再起動後にエラーが解消されるか確認してみてください。
2. polkitサービスが正常に動作していない場合の対処法
polkitサービスが動作していてもエラーが続く場合、polkitの設定に問題がある可能性があります。この場合、polkitの設定ファイルを確認し、設定の誤りがないかをチェックします。
設定ファイルは、`/etc/polkit-1/`ディレクトリ内にあります。特に`/etc/polkit-1/localauthority/`以下に権限に関する設定ファイルが格納されています。設定が破損している可能性がある場合は、ファイルの内容を再確認し、必要に応じてバックアップから復元するか、再作成を検討します。
3. ポリシー設定の確認
polkitサービスの設定が正しい場合でも、特定のポリシーが原因でエラーが発生することがあります。これを解決するには、`/etc/polkit-1/rules.d/`ディレクトリ内のルールファイルを確認する必要があります。
例えば、システムの管理者として権限を持っているかどうかを確認するために、ポリシーに関連する設定を確認し、必要に応じて修正します。以下のコマンドでポリシーファイルを開いて確認できます。
sudo vi /etc/polkit-1/rules.d/50-default.rules
ここで、適切な権限が設定されているかを確認し、必要な場合は設定を変更します。
4. SELinuxの設定を再確認
質問者はSELinuxを無効化しているとのことですが、SELinuxが無効になっている状態でも他のポリシーによってアクセス制御が行われている可能性があります。SELinuxが無効でも、`firewalld`や他のセキュリティサービスが影響を与えることがあります。
SELinuxの状態を再確認するには、以下のコマンドを実行して、SELinuxの設定を確認します。
sestatus
もしSELinuxが再び有効になっている場合は、適切な設定に変更してください。また、`firewalld`や他のセキュリティツールの設定を見直すことも重要です。
5. まとめ:CentOS 7の「Authorization not available」エラーの解決方法
CentOS 7で「Authorization not available」エラーが発生する場合、polkitサービスの確認や再起動が第一歩です。それでも問題が解決しない場合は、設定ファイルやポリシーの確認を行い、必要な修正を加えます。また、SELinuxや他のセキュリティ設定も再確認することが重要です。これらの手順を実行することで、サービスの起動や停止時に発生する権限関連のエラーを解消することができます。
コメント