自分をsudoユーザーとして追加するにはどうすればよいですか?


64

今日、Ubuntu 11.10をクリーンインストールしてから、VirtualBoxをインストールしました。これには、vboxusersグループに自分を追加する必要があり、11.10にはユーザーをグループに追加するためのグラフィカルアプリがないように思われるため、次のコマンドを実行しました。

sudo usermod -G vboxusers stephane

これは問題だ。私は今、代わりに実行すべきであることがわかります:

sudo usermod -aG vboxusers stephane

最終結果は、私がいるべきグループにいなくなったということです。「sudo」の実行に必要なグループを含めます。現在、sudoとしてコマンドを実行すると、次のメッセージが表示されます。

$ sudo ls
[sudo] password for stephane: 
stephane is not in the sudoers file.  This incident will be reported.

これを修正する方法はありますか、それとも最初から再インストールする必要がありますか?

回答:


65
  1. 起動中に Shiftキーを押し続けると、GRUBメニューが表示されます。

  2. リカバリモード)を含むエントリを選択し、待機します。

  3. これでメニューが表示されます。選択する:

    remount    Remount / read/write and mount all other file systems 
    

    ファイルシステムが読み取り/書き込み権限でマウントされるのを待ってから、を押しEnterます。

    このオプションが表示されない、または機能しない場合は、代わりにrootオプションを選択し、次のコマンドを使用してシステムパーティションをマウントできます。

    mount -o remount /
    

    fsckコマンドまたはを使用して、システムパーティションを確認できます/etc/mtab

    マウントコマンドを正常に実行した後(エラーメッセージが表示されない場合)、以下の手順5に直接進みます。

  4. remountオプションを選択すると、メニューが再び表示されます。選択する:

    root       Drop to root shell prompt
    
  5. 次のコマンドのいずれかを入力して、ユーザーをadminグループに再追加します(Ubuntu 11.10以前の場合):

    adduser <USERNAME> admin
    

    またはsudoグループ(Ubuntu 12.04以降の場合):

    adduser <USERNAME> sudo
    
  6. 再起動すると、sudo再び使用できるようになります。


3
[再マウント]メニューが表示されない場合は、最初に[fsck]を選択できます。ファイルシステムが読み取り/書き込み用に再マウントされます。その後、ユーザーをルートモードで追加できます。
Jiejing張

1
コマンドを使用してファイルシステムをマウントする必要があったことを除いて、これは私にとってはうまくいきましたmount -o remount,rw /
Passuf

これは完全に機能します。また、それは大きなセキュリティ問題のように見えます。賢明なマシンでこの機能を無効にする必要があると思いますか?-リカバリモードの場合、再起動できません。私は常に使用する必要がありますreboot -f
ロマンヴィンセント

15

システムでルートログインが有効になっている場合、XにログインせずにターミナルをControl+ Alt+でドロップしますF1。ルートとしてログインし、目的のユーザーをadminグループに追加します(Ubuntu 11.10以前の場合)。

adduser desired_user_name admin

Ubuntu 12.04以降の場合、ユーザーをsudoグループに追加します。

adduser desired_user_name sudo

ルートログインを有効にしていない場合は、Grubからリカバリモードを選択して、ルートシェルを試してください。

ルートシェル

ファイルシステムを読み書き可能としてマウントします。

mount -o rw,remount /

その後、目的のユーザーをadmin(またはsudo)グループに再度追加できます。


しかし、ユーザーからsudoにアクセスできません!
ジェイミーハッバー

7

再マウントメニューオプションが12.10にないように見えるのと同じことを行った後、さまざまな組み合わせを試しました。私はこの投稿の他のすべてをルートから試しました。最後は

umount -a
mount -o -w /<path> /

これは、ファイルシステムがまだあることになったROブートするため、fstabに設定にROそれはしているように見えた旨と、私は思うのファイルシステムエラーにROマウント後。

私はついにそれを管理しました

mount -o rw,remount /

これが以前の一連のコマンドとどのように異なるかはわかりませんが。

このバリエーションを適用した後、ユーザーをadmin(11.10 and ealrier)またはsudo(12.04以降)グループに追加する方法は同じです:

adduser username admin    # 11.10 and earlier
adduser username sudo     # 12.04 and later

2

古い質問ですが、私にも起こりました(Ubuntu 14.04)。

ここや他の場所で多くの回答が説明しているように、回復モードにログインしてルートシェルにアクセスできませんでした。GRUBからのルートシェルアクセスはパスワードで保護されているようです。

だから私はこの方法で問題を解決しました:

  1. ライブUSBスティックで起動
  2. シェルを開く
  3. メインのHD Linuxファイルシステムにアクセスします(通常、CTRL-Lの後に、GUIファイルエクスプローラーのアドレスバーにマウントポイントがあります)。cdそれに。
  4. ファイルを編集しますetc/group(with nano etc/groupなど)
  5. 「sudo」行を見つけます。のように見えるはずですsudo:x:27:admin,bob,alice
  6. sudo行に自分を追加し、カンマで区切ります

もちろん、これはファイルがetc/sudoersまだ行を保持していることを意味します

%sudo   ALL=(ALL:ALL) ALL

つまり、グループのすべてのメンバーsudoが完全に制御できます。まず確認してください。

順調に働いた。


0

アカウントをグループに追加するときに同じ間違いを犯しました(忘れました-a)。ルートログインがロックされた状態でシステムをインストールしましたが、アカウントはマシン上の唯一のアカウントでした。

受け入れられた答えは私を助けませんでした。復旧モードで起動中に、私が得たのは役に立たないメッセージだけでした

コンソールへのアクセスを開けません。ルートアカウントがロックされています。詳細は、sulogin(8)のmanページを参照してください。
Enterキーを押して続行します

ENTERを押すと、システムは正常に起動しました。問題を解決するためにルートアクセスを取得することはできません。この時点までに誰かが私の靴で終わる場合に備えて、私はこの答えを残しています。以下を使用するのは、Grubメニューから回復モードに到達できない場合のみです

ルートシェルを取得するためのチュートリアル:

  1. Grubメニューを起動してEnter、通常の(回復ではなく、デフォルトの)起動オプションを強調表示します(ただし、オンにしないでください!)。
  2. を押しeます。Grubは、複数行のコマンドラインエディターを表示します。各行は、威圧的でないとなじみのないものに見えるかもしれません。心配しないでください、あなたが加えた変更は永久に保存されません。
  3. という行を見つけますlinux ... ro ...。これはカーネルコマンドラインです。roトークンをrwに置き換えて、ルートファイルシステムを読み取り/書き込みにし、別のカーネルコマンドラインパラメーターを追加しますinit=/bin/sh。これはカーネルにのsh代わりに実行するよう指示します/sbin/init。最終的に、行はのようになりlinux ... rw init=/bin/sh ...ます。注:裸のgrub>プロンプトでも取得できます。他のすべてがあなたのために失敗した場合、私はステップバイステップで、どのように説明させていただきます。この答えにコメントを残してください。
  4. 変更後、を押しF10てエディターからのコマンドを使用してシステムを起動します(または、Grubのコンパイル方法が異なる場合は、エディターウィンドウのすぐ下で起動する手順をお読みください)。initプロセスはルートIDでPID 1として実行されるため、ルートシェルプロンプトが表示されます。
  5. たとえば、必要な変更を加えますusermod -a -Gadm,sudo YOURUSERIDid -a YOURUSERIDsudoメンバーシップが戻ったことを確認します。「コマンドが見つかりません」というエラーが表示される場合は/sbin/usermod、とを使用し/bin/idます。
  6. この時点では、システムを完全にシャットダウンまたは再起動することはできません。reboothaltまたは機能しpoweroffませんexit。PID1プロセスが終了するだけではないため、シェルからカーネルパニックが発生します。したがって、次の2つのコマンドを発行する必要があります。

    sync
    exec /sbin/init
    

    sync何か問題が発生した場合に備えて、すべての変更をディスクに保存しexec、シェルを実際のinitシステムに置き換えます(systemd、upstart、またはSystem V initですが、常に呼び出されます/sbin/init)。ほとんどの場合、システムは通常どおり起動し続けます(リカバリモードなし)。

  7. ログインして、システムを1回再起動します。たとえばsudo reboot、sudo特権を取得する必要があります。(非常にまれですが)init通常のブート中に追加のパラメーターが渡される可能性があるため、再起動は推奨されません。exec失敗した場合は、単にマシンをリセットし、正常に起動します。ext4、xfs、btrfsのような最新のジャーナリングファイルシステムはすべて、迅速に回復し(syncリセット前に編集された場合、せいぜいジャーナルチェックで数秒)、すべて設定できます。

背景のビット

Debianのバグレポートでこの問題に関する議論があり、理解する限りでは、これはバグではなく機能であると判断されました。このビジネスに25年間携わってきた私は、そのスレッドのメッセージ#31にあるMichael Bieblの主張に完全に反対せざるを得ません。

これを考慮してください:あなたはロックされたルートアカウントを持つラップトップを持っています。デフォルトでは、grubブートローダーはレスキューモード用のブートエントリを生成します。そのため、BIOSをロックダウンしてCD-RomまたはUSBからの起動を許可せず、grubをパスワードで保護している場合でも、ラップトップをしばらく放置すると、誰かが簡単にルートアクセスを取得できます。

十分な一般的ではないにしても、正しいIMOは、フェリペサテラーによってメッセージ#70で与えられました。

多くの(ほとんどの?)コンピューターにとって、物理的なアクセスとはゲームのセキュリティが失われることを意味します。ボックスを分解してハードドライブを取得するだけです。

これは、マイケルの議論で言及されているラップトップの場合に特に当てはまります:しばらく放置して、誰かがあなたのデータの後にいると、ラップトップは二度と見られなくなります。そして、のために任意のマシン「最も」、「多」かどうかさえものは、すぐに攻撃者がマシンに物理的にアクセスを取得して、ゲームは本当に終わって、ラックに8箇所でボルトで固定します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.