1. 概要

このチュートリアルでは、ターミナルを使用してLinuxでユーザーとグループを作成、変更、および削除する方法を学習します。 さらに、ユーザーをグループに追加する方法、グループからユーザーを削除する方法、すべてのユーザーを一覧表示する方法、およびLinuxマシン上の既存のユーザーに関する詳細情報を取得する方法についても学習します。

2. すべてのユーザーを一覧表示

ファイル/etc / passwdには、すべての登録済みユーザーとそれらに関する情報が含まれています

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
...
daemon,,,:/var/run/pulse:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
baeldung:x:1000:1000:,,,:/home/baeldung:/bin/bash

/ etc / passwd は、次の形式でユーザーを一覧表示します。

ユーザー名:x:ユーザーID:グループID:、、、:/ home / username:/ bin / bash

各ユーザーには独自のUIDがあります。 0はrootです。 1〜999はシステムユーザーで、1000以降はローカルユーザーです。

3. ユーザーIDとグループIDを参照してください

Linuxには、指定されたユーザーのユーザーIDとグループIDを出力するコマンドidがあります。

$ id baeldung
uid=1000(baeldung) gid=1000(baeldung) groups=1000(baeldung),27(sudo)

指定したユーザーがどのグループに属しているかを確認できます。

4. 新しいユーザーを作成する

Linuxで新しいユーザーを作成するには、useraddコマンドを使用できます。

$ sudo useradd --create-home new_user

さらに、 –create-home オプションを追加して、新しいユーザーのホームディレクトリを作成できます。

5. ユーザーパスワードの追加/変更

passwd を使用して、ユーザーの新しいパスワードを作成したり、ユーザーのパスワードを変更したりできます。

$ sudo passwd new_user
[sudo] password for baeldung:             
New password: 
Retype new password: 
passwd: password updated successfully

私たちが作成した新しいユーザーにはパスワードがありませんでした。 その結果、passwdが1つ作成しました。

6. ユーザーの変更

usermodはユーザーアカウントを変更できます。

6.1. プライマリグループの変更

-g オプションを追加して、ユーザーアカウントのメイングループを変更する

$ id new_user
uid=2027(new_user) gid=2027(new_user) groups=2027(new_user)
$ sudo usermod -g baeldung new_user
$ id new_user
uid=2027(new_user) gid=1000(baeldung) groups=1000(baeldung)

新しいグループが前のグループを置き換えます。

6.2. UIDを変更する

-u オプションを追加して、既存のユーザーアカウントのユーザーIDを変更する

$ id new_user
uid=2027(new_user) gid=1000(baeldung) groups=1000(baeldung)
$ sudo usermod -u 2030 new_user
$ id new_user
uid=2030(new_user) gid=1000(baeldung) groups=1000(baeldung)

このコマンドは、UIDを2027から2030に変更しました。

6.3. ログイン名を変更する

-lオプションは、既存のユーザーアカウントのログイン名を変更するのに役立ちます

$ id new_user
uid=2030(new_user) gid=1000(baeldung) groups=1000(baeldung)
$ sudo usermod -l new_name new_user
$ id new_name
uid=2030(new_name) gid=1000(baeldung) groups=1000(baeldung)

このコマンドにより、ログイン名がnew_userからnew_nameに変更されました。

7. ユーザーを削除する

userdel を使用して、既存のユーザーを削除できます。 -r オプションを追加すると、 userdel は、ユーザーのホームディレクトリとその内容、およびユーザーのメールスプールを削除します。

$ sudo userdel -r new_user
[sudo] password for baeldung:             
userdel: new_user mail spool (/var/mail/new_user) not found
userdel: new_user home directory (/home/new_user) not found

このユーザーには、メールスプールまたはホームディレクトリが定義されていませんでした。 したがって、-rは不要でした。

8. グループにユーザーを追加

グループにユーザーを追加するには、 gpasswd-aを使用できます。

$ id new_user
uid=2027(new_user) gid=2027(new_user) groups=2027(new_user)
$ sudo gpasswd -a new_user baeldung
Adding user new_user to group baeldung
$ id new_user
uid=2027(new_user) gid=2027(new_user) groups=2027(new_user),1000(baeldung)

このコマンドは、指定されたグループをnew_userのグループに追加しました。

9. グループからユーザーを削除

gpasswd -d を使用して、グループからユーザーを削除できます。

$ id new_user
uid=2027(new_user) gid=2027(new_user) groups=2027(new_user),1000(baeldung)
$ sudo gpasswd -d new_user baeldung
Removing user new_user from group baeldung
$ id new_user
uid=2027(new_user) gid=2027(new_user) groups=2027(new_user)

コマンドは、指定されたグループからnew_userを削除しました。

10. 新しいグループを作成する

groupadd を使用して、新しいグループを作成できます。

$ sudo groupadd new_group
$ cat /etc/group | grep new_group
new_group:x:2028:

コマンドによって新しいグループが作成され、そのグループIDは2028です。

11. グループの変更

groupmodを使用してグループを変更できます。

11.1. GIDを変更する

-g オプションを追加して、既存のグループのグループIDを変更できます。

$ cat /etc/group | grep new_group
new_group:x:2028:
$ sudo groupmod -g 2040 new_group
$ cat /etc/group | grep new_group
new_group:x:2040:

このコマンドは、グループIDを2028から2040に変更しました。

11.2. グループ名を変更する

グループの名前を変更するには、-nオプションを追加します。

$ cat /etc/group | grep new_group
new_group:x:2040:
$ sudo groupmod -n new_name new_group
$ cat /etc/group | grep new_name
new_name:x:2040:

このコマンドにより、グループの名前がnew_groupからnew_nameに変更されました。

12. グループを削除する

既存のグループを削除するには、groupdelを使用できます。

$ sudo groupdel new_group

13. 結論

要約すると、ユーザーとグループを管理する方法と、Linuxマシン上のユーザーに関する詳細情報を取得する方法を学びました。