Linuxでのユーザーとグループの管理
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マシン上のユーザーに関する詳細情報を取得する方法を学びました。