コマンドラインを使用して新しいユーザーをsudoerとして追加するにはどうすればよいですか?


821

を使用してユーザーを追加した後、ログアウトしてから再度ログインしない限り、[システム]> [管理]> [ユーザーとグループ]でadduser表示できません。それは正常ですか?

また、新しく追加されたユーザーをsudoer として設定できますか、それを追加した後にのみ変更する必要がありますか?シェル経由でそれを行うにはどうすればよいですか?

最後に、Ubuntuの初期インストール時に作成された元のユーザーを削除できますか、それともこのユーザーはなんらかの「特別な」ユーザーですか?

回答:


1025

ユーザーをsudoグループに追加するだけです:

sudo adduser <username> sudo

変更は、ユーザーが次回ログインしたときに有効になります。

これ/etc/sudoersは、このグループのすべてのメンバーにアクセス許可を付与するように事前に構成されているため機能します(これを変更する必要はありません)。

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

「元の」ユーザーと同じグループに属するユーザーにアクセスできる限り、古いユーザーを削除できます。


現実的には、新しいユーザーがメンバーになるべき他のグループもあります。[ユーザー設定]でユーザーのアカウントタイプを[管理者]に設定すると、少なくとも次のすべてのグループに配置されます。

adm sudo lpadmin sambashare

システム構成は異なる場合があるため、の出力を見て、groups <username>通常使用されているグループを確認することをお勧めします。


1
@Dziamid sudoグループの目的がわからない。確認してみましょう。
アーンドリューク

7
adminグループは12.04 LTSには存在しないことに注意してください。
ライアン

18
質問は既存のユーザーに関するものですが、新しいユーザーの場合は、「sudo adduser <username> sudo」の前に「sudo adduser <username>」を付ける必要があります。そうでない場合は、「ユーザー<username>が存在しません」というエラーメッセージが表示されます。
ピーターモーテンセン

9
これは私にはうまくいきませんでした。まだsudoを使用できません。
チョビー

10
動作するために再度ログインする必要がありました。
PeterM

193

やった

sudo usermod -a -G sudo <username>

ここで推奨されるように


28
グループsudoは存在しません
アーロンエサウ

ここで唯一の有効なソリューション。Ubuntu 16
Makan Tayebi

5
既存のユーザーにとって、これは正しいソリューションです。回答としてマークする必要があります。
妖怪

3
-aフラグを忘れないでください。そうしないと、すべてのグループからユーザーが削除されますsudo
RousseauAlexandre

@RousseauAlexandre絶対に!最も重要なのは、非sudoのグループに自分自身を追加しようとしている、あなたはsudo権限を持つマシンに一つだけだ場合は特に...without -a you just removed yourself from the sudo group!
ティモシーLJスチュワート

79

sudoersファイルsudo visudoを開きます:で/etc/sudoers定義されたエディターでファイルを開きます$EDITOR(おそらくGNU nano-必要なものでない場合は変数を設定し、たとえば再export EDITOR="nano"試行してくださいsudo visudo)。

ファイルの末尾に次の行を追加します。

username ALL=(ALL) ALL   # Change the user name before you issue the commands

次に、Ctrl+を使用してWriteOutを実行しOます。エディターは、書き込むファイル名を尋ねてきます。デフォルトはvisudo、実際のsudoersファイルに保存する前に構文エラーをチェックするために使用される一時ファイルです。を押しEnterて受け入れます。Ctrl+でnanoエディターを終了しXます。

できた!


9
適切なグループにそのユーザーを単に追加するのではなく、sudoersファイルに明示的に単一のユーザーを追加することはお勧めできませんsudo
クズカイ

3
エディタを終了したときに出力が/etc/sudoers.tmpすることができますvisudoをsudoをして、それはそれ自体では/ etc / sudoersファイルを上書きします
Climbatize

1
visudoは構文を検証してエラーがないことを確認します
mchid

これを使用する場合の構文エラー。
ジェリコ

2
他のソリューションは、ビルトインsudoグループのあるOSには最適ですが、専用sudoグループのない時折のシステムでは、このソリューションが有効です。私が持っている唯一の推奨事項はsudo、まだセットアップされていない可能性があるため、プロシージャ内に自分自身を入れないようにすることです!簡単に行うことで回避するsu -だけで、その後とvisudio。これはGentooで動作します。
tresf

30

多くの人が理解していないと確信していることを付け加えなければなりません。

を既に実行してadduser "username"いれば、戻ってを実行するadduser "username" sudoことができ、そのユーザーをグループに適切に追加します。

実際に最初のように動作しませんsudo adduser username sudo。エラーが発生します。つまり、ユーザーアカウントを作成してからグループに追加する必要があります。


11

グループのすべてのメンバーは、adminデフォルトでsudoの使用を許可されているUbuntuであるため、最も簡単な方法は、ユーザーアカウントをadminグループに追加することです。

ユーザーアカウントに完全なルートアクセス権を与えたくない場合は、visudoを使用して/ etc / sudoerファイルを編集する必要があります(ファイルに構文エラーがなく、sudo機能が完全に失われないようにします)このユーザー(または新しいグループ)がrootとして実行できるコマンドを指定します。

sudoerマニュアルはあなたにこれについての詳細な情報が得られます。特定のユーザー/グループがrootとして実行することを許可するコマンドを指定できます。


1
それがwheelグループの目的だと思いましたか?
マルコセッピ

@Marco私はそれに詳しくない。もう少し説明してもらえますか?
エンドリューク

@MarcoCeppi、ホイールグループは、ユーザーが使用できるものを制限するために一部のシステムで使用されていましたsu。Ubuntuはsudoadminグループを使用します。
psusi


10

次のスニペットは、明示的にルートとしてログインせずに、ユーザー名へのルートアクセスを許可します。

最初にユーザーがsudoグループに追加されていることを確認してください。Ubuntu 16.04.1 LTSでテスト済み。

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

これはUbuntuで動作しますか?
ジョワンセバスチャン

1
はいUbuntuの16.04で確認
サンディープ

3
なぜ1行ではありません:useradd -m username --groups sudo
エイダンメレン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.