web-dev-qa-db-ja.com

sudo:有効なuidは0ではありません。sudoはsetuid rootでインストールされていますか?

LXC rootfsからdebパッケージを作成しようとしています。作成後、そのパッケージを任意のコンピューターにインストールします。ここまでdebパッケージのパッケージ化とインストールを達成しましたが、LXCパッケージのインストール後、そのlxcでスーパーユーザーになることはできません。 "Sudo"コマンドを使用すると、このエラーが発生します。

Sudo:有効なuidが0ではありません。sudoはsetuid rootでインストールされていますか?

前もって感謝します。

26
Salih Kardan

奇妙なことに、次のようにして自分のシステムを台無しにすることを決定した後、Mac OSでも同じ問題が発生しました。Sudo chmod -R /usr/bin。それが他の人の場合は、単に開いてくださいディスクユーティリティ、OSディスク(私の場合は「Macintosh HD」)を選択し、応急処置タブに移動してから修復ディスクのアクセス許可、しばらくお待ちください。問題は修正されます。

64
Gustavo Matias

Sudoバイナリには、setuidフラグが正しくありません。ルートとして、試してください:

chmod u+s /usr/bin/Sudo

OSXユーザー:

検索エンジンからここに到着したすべての人へ:これはあなたが破ったOSXシステムを修正する方法ではありません。質問はLinux指向です-ヒント、lxcタグ-それがこの答えの目的です。 Gustavo Matiasが提供する答えが役立つかもしれません:-)

15
cnicutar

@cnicutarが答えを提供してくれました

Ubuntu 14.04ホストでは、以下が機能しました

    Exit the container
    Stop the container

ホストにいるので、フラグを設定します

Sudo chmod u+s /var/lib/lxc/<container_name>/rootfs/usr/bin/Sudo

フラグを確認してください

Sudo ls -l /var/lib/lxc/<container_name>/rootfs/usr/bin/Sudo
-rwsr-xr-x 1 root root ... ... var/lib/lxc/<container_name>/rootfs/usr/bin/Sudo

コンテナを起動してコンソールに入ります実行できるはずです

Sudo apt-get install <package>
2
w39hh

このエラーは、ユーザーがjailされたsshシェルを使用している場合にも発生する可能性があります。この場合は、シェルセッションの制限を解除してみてください。

1
ejectamenta

私は今日この問題を抱えていましたが、rootで次のコマンドを実行でこれを解決しました

chmod u+s /usr/bin/Sudo

私はそれがあなたを助けることを願っています!

0
iwwenbo