権限のトラブルシューティング
Oracle Cloud InfrastructureでOracle Linuxインスタンスを実行できない場合は、次の情報を確認します。
"sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit"エラーでrootユーザーへのsudoが失敗する
opc
ユーザーとしてOracle Linuxインスタンスに接続し、root
ユーザーに切り替えようとすると、次のエラーが表示されます。
[opc@<oracle-linux-instance-name> ~]$ sudo su -
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
この問題は、sudo
バイナリの所有権および権限が変更され、/usr/bin/sudo
ファイルがroot
によって所有されている必要があるため、バイナリを実行できない場合に発生します。
この問題を修正するには、sudo
パッケージ内のファイルのユーザーおよびグループの所有権および権限を、RPMデータベースで定義されている元の値にリセットする必要があります。
- コマンドラインから、管理権限を使用してSSHを使用してインスタンスに接続します。
- 現在の
sudo
所有者および権限を確認します。ll /usr/bin/*sudo*
-r--------. 1 opc opc 247512 Jan 23 2023 /usr/bin/cvtsudoers -r--------. 1 opc opc 151424 Jan 23 2023 /usr/bin/sudo lrwxrwxrwx. 1 root root 4 Jun 13 2023 /usr/bin/sudoedit → sudo -r--------. 1 opc opc 57456 Jan 23 2023 /usr/bin/sudoreplay
sudo
パッケージ内のファイルのユーザーおよびグループ所有権を元の値にリセットします。rpm --setugids sudo
sudo
権限を再チェックします。ll /usr/bin/*sudo*
-r--------. 1 root root 247512 Jan 23 2023 /usr/bin/cvtsudoers -r--------. 1 root root 151424 Jan 23 2023 /usr/bin/sudo lrwxrwxrwx. 1 root root 4 Jun 13 2023 /usr/bin/sudoedit → sudo -r--------. 1 root root 57456 Jan 23 2023 /usr/bin/sudoreplay
sudo
パッケージ内のファイルの権限をリセットします。rpm --setperms sudo
sudo
権限を再チェックします。ll /usr/bin/*sudo*
-rwxr-xr-x. 1 root root 247512 Jan 23 2023 /usr/bin/cvtsudoers ---s--x--x. 1 root root 151424 Jan 23 2023 /usr/bin/sudo lrwxrwxrwx. 1 root root 4 Jun 13 2023 /usr/bin/sudoedit → sudo ---x--x--x. 1 root root 57456 Jan 23 2023 /usr/bin/sudoreplay
opc
ユーザーからroot
ユーザーに切り替えることができることを確認します。[opc@<oracle-linux-instance-name> ~]$ sudo su - [root@<oracle-linux-instance-name> ~]$