私はこれを行いました:
Sudo chown -R myname /usr/
そして今、このエラーのためにSudo
コマンドを使用できません:
Sudo:setuid rootである必要があります
そして私が読んだように、これはこのファイルの所有者/usr/bin/Sudo
がルートではないことを意味します。 /usr
フォルダの所有者がいるため、今は私のユーザーです。
多くのフォーラムやブログでは、ルートとしてこれを行うことを推奨しています。
# chown root:root /usr/bin/Sudo
# chmod 4111 /usr/bin/Sudo
...しかし、これの問題は、rootとしてログインする必要があることですが、ターミナルでsu
を書き込んだ場合、パスワードが間違っているため、実際にはできません(実際には、追加したパスワードを使用します)私のユーザーへ):
$ su
Password:
su: Authentication failure
では、Sudo
コマンドを取り戻すことはできますか?
編集:私のUbuntuは私のMac OS XのParalellsの下にあります。
すべてのファイルの正しい所有権を確認するためのガイドとして使用できる同様のシステムがある場合は、レスキューモードで起動し、ルートシェルにドロップして、すべてのファイルに正しい所有権を手動で復元できます。 /usr
内のファイル。
最も簡単な方法は、OSを再インストールするか、バックアップから復元することです。
Ubuntuなどでは、デフォルトでrootパスワードはありません(アカウントは無効になっている)ため、su
を実行できません。
ルートレベルのアクセス権を付与する唯一のものにアクセス許可をホースしているので、これを修正するには、現在のソフトウェア環境の外部からの支援が必要になります。
最も簡単な方法は、ディストリビューション用のLiveCDを起動し、ドライブをマウントし、そこからリストしたchmod
を使用してファイルのアクセス許可を変更することです。
ルートシェルを取得するために、シングルユーザーモードでの起動を試すこともできます。
通常、/usr/
ディレクトリはroot
が所有している必要があるため、再帰的にchown
を実行して、破損したものを修正できます。 (編集: @Gillesのコメントごとにchown
が実行されているように見えるため、setuidビットとsetgidビットが壊れているため、必要になります所有権を再度修正したら、既存のシステムと手動で比較してすべてを復元します。)
ただし、非常に[〜#〜] few [〜#〜]は4111
。その余分なものは特別な権限ですが、ユーザーとして実行した場合でもrootとして実行されます! Sudo
といくつかのコマンドのみがこの許可ビットを設定する必要があります。 最初にchmod
を実行しなかった場合は、おそらくこれをまったく修正する必要はありません、すべての権限はすでに正しいです。すべての権限がどうあるべきかを知らないまま、大きなchmod
操作を実行しないでください。
Ubuntuリカバリモードで、次のコマンドを入力します。これで問題が解決しました。
mount -o remount,rw /
mount --all
chown root:root /usr/bin/Sudo
chmod 4755 /usr/bin/Sudo
restart
これがあなたの問題を解決することを願っています。(または誰か他の人の)
これをここ のブログ投稿 で見つけました。
これは、他の回答で提案されているよりもはるかに簡単です。フォーマット、再起動、またはライブCDを使用する必要はありません。
su root # then enter your password to switch to root user
chown root:root /usr/bin/Sudo && chmod 4755 /usr/bin/Sudo
exit # to get back to the original user
これは、この問題を修正する最も簡単な方法です。説明、Sudoが破損している(破損は間違った用語であることはわかっていますが、機能していないため、Sudoの使用を避ける必要があります)
私はこの方法をLinuxミントでテストしました。これはUbuntuのようなシステムです。この方法は他のOSでは機能しないことを教えてください。それに応じて回答を更新します。
ありがとう
これは、人々が作っているよりも簡単です。以下を試してください:
su
コマンドを使用してrootとしてログインする代わりに、現在のユーザーとしてログアウトし、通常のDisplay Manager(つまり、ログイン画面)からrootとして再度ログインします。chown root:root /usr/bin/Sudo && chmod 4755 /usr/bin/Sudo
これでSudo
コマンドが修正され、すぐに再び稼働できるようになります。
SuまたはSudoなしでrootとしてログインするには、pkexecを使用できます。
pkexec su
次に、ファイルの権限を変更します。
chmod 440 /etc/sudoers
chmod 775 /etc/sudoers.d
chmod 440 /etc/sudoers.d/README