ユーザーを別のユーザーグループに追加するにはどうすればよいですか?


9

Ubuntuサーバーにユーザーjohnとユーザーkeithがいます

私はこれらのユーザーを使用して追加しました

sudo adduser John 
sudo adduser Keith

ジョンをキースのグループに追加するにはどうすればよいですか?

私は試した:

sudo usermod -aG Keith john

しかし、私は得ます:

usermod: group 'Keith' does not exist

この問題を解決するにはどうすればよいですか?

回答:


17

以下を使用できます。 usermod -a -G grouptoadd username

-a -Gが問題ないのに-a -Gが問題ない理由を私が思ったよりもはるかに明白ではないので、説明しようと思います。

-Gオプションは、1つの値または値のリストのいずれかを取ります。1つの値の場合、オプションと値の間にスペースを入れる必要がないため、値は次のように指定できます。これは単なる慣習です。

システムにaというグループがある場合、-Gaの呼び出しはあいまいになります。ユーザーにグループaを1つだけ持たせますか?-aと-Gを呼び出していますか?次に、「a」は-Gの値ですか?残りの値はどこですか(-Gまで)?また、1文字のオプションは、他の1文字のオプションの前に配置できることも一般的です。つまり、tat -xy == -yzです。ただし、オプションの1つがVALUEのような単一の値またはVAL1、Val2、val4などのような多くの値を取ることができる場合、これはあいまいです。

したがって、コマンドをFAILSAFEにしてすべての入力に対して適切に機能させるには、-aを-Gから分離する必要があります。

からman usermod

名前

usermod-ユーザーアカウントを変更する

あらすじ

usermod [オプション]ログイン

説明文

usermodのコマンドは、コマンドラインで指定された変更を反映するために、システムアカウントファイルを修正します。

オプション

usermodコマンドに適用されるオプションは次のとおりです。

  • -a、-append

    ユーザーを補足グループに追加します。-Gオプションとのみ使用してください。

  • ...

  • -G、--groups GROUP1 [、GROUP2、... [、GROUPN]]]

    ユーザーがメンバーでもある補足グループのリスト。各グループは次のグループとカンマで区切られ、間に空白はありません。グループには、-gオプションで指定されたグループと同じ制限が適用されます。

    ユーザーが現在リストにないグループのメンバーである場合、ユーザーはグループから削除されます。この動作は、ユーザーを現在の補足グループリストに追加する-aオプションを使用して変更できます。

  • ...


オプションの分割が機能する理由とそれらがどのようなオプションであるかを説明するのに役立つ場合があります。
ジャーニーマンオタク

@JourneymanGeek:完了しました!実行...
Tamara Wijsman

スーパーユーザはどのように男、私見...に知っておくべきこと
ЯрославРахматуллин

@ЯрославРахматуллин、スーパーユーザーは確かにすべきです。ただし、ほとんどの質問は「非スーパーユーザー」が尋ね、「スーパーユーザー」が回答します。Linuxを初めて使う人は、manコマンドを知る理由がありません。いずれにせよ、あなたが与えたコマンドはOPによって実行されたものと同じです、あなたの答えはそれが彼女にとってうまくいかなかった理由を説明していません。少なくとも私のシステムでは、オプションを分割しても違いはありません。
terdon 2012年

まず、sudo adduser name sudo adduser name2を実行することはできません。これは、useraddの構文が無効であるためです。useraddは1つのユーザー名引数を取ります。2人のユーザーを追加するには、コマンドを2回実行する必要があります。IE useradd arne; useradd kari。次に、karisをarnesグループに、またはその逆に追加できます。これらの質問をいくつか見て、適切に答えると、もう少し忍耐力が増します。約束する!
ЯрославРахматуллин

0

質問で示したとおりにコマンドを実行した場合は、ユーザーKeithではなく、Johnだけを作成しました。コマンドラインでコマンドを順番に実行するには、;またはを使用してコマンドを分離する必要があります&&。それ以外の場合は、最初のコマンドのみが実行されます。

sudo adduser John sudo adduser Keith
adduser: Only one or two names allowed.

あなたがいる場合やったそれらを正しく実行し、大文字に注意してください。あなたの質問では、「ジョン」と「ジョン」の両方に言及しています。これはうまくいくはずです:

sudo adduser keith
sudo adduser john
sudo usermod -aG keith john

0

構成ファイルを手動で編集することもできます。

sudo nano /etc/password
sudo nano /etc/group

IDと他のフィールドを割り当てます。

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