ルートアカウントにアクセスできなくなりました。ユーザーがsudoersファイルに存在しません。

ルートアカウントにアクセスできなくなりました。ユーザーがsudoersファイルに存在しません。

誤ってgnomeデスクトップを削除し、tty1に閉じ込められました。デスクトップを再インストールしようとしましたが、「ユーザーがsudoersファイルにありません」というエラーが引き続き発生しました。ユーザーの追加に問題があります。私は最初にDebianに触れ、tty1でsudoerを正しく開いて編集する方法(または誰かが私に詳細を貸すことができる場合は実際にcmd行でファイルを編集する方法)を知りません!

答え1

このsudoersファイルを編集するには、まずroot権限が必要です。質問によると、インストール時にルートアクセスが有効になっていないようです。そうですか?

この場合、以下を変更する必要があります。

  1. ブートローダのプロンプトで、ブートに関する一般的なエントリに移動します。
  2. Enterpressを押すのではなく、eまずカーネルコマンドラインパラメータを編集してください。
  3. 開いたエディタで、矢印キーを使用してで始まる行を見つけて、linux最後に移動して追加しますinit=/bin/sh。これはinit一時的にシステムのシェルをシステムのシェルに置き換え、initルートで始まったのでこれがルートシェルになります。
  4. 変更した項目を実行するにはCTRL+を押します。X
  5. ルートシェルがある場合は、通常、読み取り専用ではなく読み取り/書き込みが可能になるようにルートファイルシステムを再マウントする必要があります。mount -o remount,rw /これを行うには、コマンドを入力してください。
  6. ルートパスワードを入力してルートアクセスを有効にできます。passwd次のコマンドを使用します。
  7. 通常、テキストモードエディタを使用してテキストモードでファイルを編集します。ウィムまたはEmacs、どちらもデフォルトではDebianでは提供されていません。 Debianとは?するvimデフォルトでは、shipはという軽量バージョンですvim.tiny
  8. ファイルの特定のケースでは、ファイルに書き込む前に構文チェックを実行するため、を使用してsudoers編集する必要があります。visudoこの手順でルートアカウントを有効にしている場合は、ファイルに一般ユーザーを追加する必要はありませんsudoers
  9. ルートアクセスが有効になるとreboot正常に起動します(手順3の編集内容は一時的であり、再起動後に消えます)。このメッセージが表示されたら、tty1rootとしてログインし(手順6で作成したパスワードを使用して)、デスクトップを再インストールできます。

ノート

@jthillが以下の説明で指摘したように、rootアクセスをまったく有効にせずに一般ユーザーにsudo権限を付与することを選択できます(おそらくより安全です)。この場合、以下をpasswd使用する必要があります。

usermod -aG regular_user_name sudo

これは次の項目があるため、Debian(およびその派生製品)にのみ適用されます。

%sudo ALL = (ALL) ALL

これにより、デフォルトでsudoグループのすべてのメンバーに無制限のsudoアクセス権が付与されます。上記のコマンドは、usermod一般ユーザーをこのsudoグループに追加するためのものです。他のディストリビューションでは、上記の行の存在は保証されません。たとえば、一部のディストリビューションでは、wheelこの目的の代わりに名前付きグループを使用します。sudo

関連情報