LXC rootfsからdebパッケージを作成しようとしています。作成後、そのパッケージを任意のコンピューターにインストールします。ここまでdebパッケージのパッケージ化とインストールを達成しましたが、LXCパッケージのインストール後、そのlxcでスーパーユーザーになることはできません。 "Sudo"コマンドを使用すると、このエラーが発生します。
Sudo:有効なuidが0ではありません。sudoはsetuid rootでインストールされていますか?
前もって感謝します。
奇妙なことに、次のようにして自分のシステムを台無しにすることを決定した後、Mac OSでも同じ問題が発生しました。Sudo chmod -R /usr/bin
。それが他の人の場合は、単に開いてくださいディスクユーティリティ、OSディスク(私の場合は「Macintosh HD」)を選択し、応急処置タブに移動してから修復ディスクのアクセス許可、しばらくお待ちください。問題は修正されます。
Sudo
バイナリには、setuid
フラグが正しくありません。ルートとして、試してください:
chmod u+s /usr/bin/Sudo
検索エンジンからここに到着したすべての人へ:これはあなたが破ったOSXシステムを修正する方法ではありません。質問はLinux指向です-ヒント、lxcタグ-それがこの答えの目的です。 Gustavo Matiasが提供する答えが役立つかもしれません:-)
@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>
このエラーは、ユーザーがjailされたsshシェルを使用している場合にも発生する可能性があります。この場合は、シェルセッションの制限を解除してみてください。
私は今日この問題を抱えていましたが、rootで次のコマンドを実行でこれを解決しました
chmod u+s /usr/bin/Sudo
私はそれがあなたを助けることを願っています!