GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでuseraddを使用してユーザーを管理する方法

useradd コマンドは、 Linuxでユーザーアカウントを追加/作成するために使用される低レベルのユーティリティです。 およびその他のUnixライク オペレーティングシステム。

Linuxはマルチユーザーシステムです。つまり、複数の人が同時に同じシステムと対話できます。これらのユーザーは、システムを使用する前に作成する必要があります。

呼び出されると、 useradd コマンドラインで指定されたオプションと/etc / default / useradd で設定されたデフォルト値に従って、新しいユーザーアカウントを作成します ファイル。 useradd /etc/login.defsのコンテンツも読み取ります ファイル。このファイルには、パスワードの有効期限ポリシー、システムおよび通常のユーザーの作成時に使用されるユーザーIDの範囲など、シャドウパスワードスイートの構成が含まれています。

rootまたはsudo権限を持つユーザーのみが、useraddコマンドを使用して新しいユーザーアカウントを作成できます。 useraddが呼び出されると、コマンドラインで指定されたオプションと / etc / default / useraddで設定されたデフォルト値に従って新しいユーザーアカウントが作成されます。 ファイル。

  • / etc / passwdを編集します 、 / etc / shadow / etc / group および/etc / gshadow 新しく作成されたユーザーアカウントのファイル。
  • 新しいユーザーのホームディレクトリを作成して設定します。
  • ホームディレクトリに権限と所有権を設定します。

目次

  1. 新しいユーザーを作成する
  2. 新しいユーザーを追加してホームディレクトリを作成する
  3. 異なるホームディレクトリを持つユーザーを作成する
  4. 特定のユーザーIDを持つユーザー
  5. 特定のユーザーIDを持つユーザー
  6. 複数のグループにユーザーを追加する
  7. ホームディレクトリのないユーザー
  8. アカウントの有効期限を持つユーザー
  9. パスワードの有効期限を持つユーザー
  10. ユーザーへのカスタムコメントの追加
  11. ユーザーログインシェルの指定
  12. システムユーザーの作成
  13. 議論の連鎖
  14. デフォルトのuseradd値の変更
  15. Linuxからのユーザーの削除
  16. Linuxでのグループの追加
  17. ユーザーのグループを変更する

1。新しいユーザーを作成する

useraddの基本的な構文 コマンドは次のとおりです:

# sudo useradd [options] username

例:

sudo useradd citizix

useraddを使用してLinuxに新しいユーザーを追加する場合 コマンドを実行すると、ロックされた状態で作成され、そのユーザーアカウントのロックを解除するには、 passwdを使用してそのアカウントのパスワードを設定する必要があります。 コマンド。

$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

エントリは自動的に/etc / passwdに追加されます ファイル:

$ cat /etc/passwd | grep citizix
citizix:x:1001:1001::/home/citizix:/bin/bash

/ etc / passwdのフィールド コロンで区切られます そしてそれらは以下を表します:

  • ユーザー名 :システムへのログインに使用されるユーザーログイン名。長さは1〜32文字である必要があります。
  • パスワード / etc / shadow に保存されているユーザーパスワード(またはx文字) 暗号化された形式のファイル。
  • ユーザーID(UID) :すべてのユーザーはユーザー IDを持っている必要があります ( UID )ユーザー識別番号。デフォルトでは、 UID 0 ルートユーザー用に予約されており、UIDは 1〜99の範囲です 他の事前定義されたアカウント用に予約されています。その他のUIDは100-999の範囲です システムアカウントとグループ用に予約されています。
  • グループID(GID) :プライマリグループID( GID / etc / groupに保存されているグループ識別番号 ファイル。
  • ユーザー情報 :このフィールドはオプションであり、ユーザーに関する追加情報を定義できます。たとえば、ユーザーのフルネーム。このフィールドには「finger」コマンドが入力されます。
  • ホームディレクトリ :ユーザーのホームディレクトリの絶対的な場所。
  • シェル :ユーザーのシェルの絶対位置、つまり / bin / bash

2。新しいユーザーを追加してホームディレクトリを作成する

-mを使用します (-create-home )ユーザーのホームディレクトリを / home / usernameとして作成するオプション :

sudo useradd -m username

上記のコマンドは、新しいユーザーのホームディレクトリを作成し、 / etc / skelからファイルをコピーします ディレクトリをユーザーのホームディレクトリに移動します。

3。別のホームディレクトリを持つユーザーを作成する

デフォルトでは、useraddはユーザー名と同じ名前でホームディレクトリを作成します。別のホームディレクトリを作成するには、 -dを使用します そのディレクトリへのパスを含む引数。

このコマンドは、ホームディレクトリ / opt / citizixoneを作成します ユーザーcitizixoneの場合。

sudo useradd -d /opt/citizixone citizixone

/ etc / passwdにチェックインします

$ cat /etc/passwd | grep citizixone
citizixone:x:1002:1002::/opt/citizixone:/bin/bash

4。特定のユーザーIDを持つユーザー

作成するユーザーのユーザーIDを指定する必要がある場合は、引数 -uを使用します。 (-uid )このように:

sudo useradd -u 1009 citizix

5。特定のグループID

グループIDを指定するには、 -gを使用します (-gid )この例のようなオプション:

sudo useradd -g citizix citizixtwo

次のコマンドでユーザーのGIDを確認します:

$ sudo id citizixtwo
uid=1003(citizixtwo) gid=1001(citizix) groups=1001(citizix)

$ cat /etc/passwd | grep citizixtwo
citizixtwo:x:1003:1001::/home/citizixtwo:/bin/bash

6。複数のグループにユーザーを追加する

ユーザーを複数のグループに追加する場合は、 -Gを使用します (-グループ )この例のようなオプション:

ユーザーにcitizixを追加します グループへadmins webadmin 開発者

sudo usermod -a -G admins,webadmin,developers citizix

ユーザーを作成するcitizixtwo グループに追加するadmins webadmin 開発者

sudo useradd -G admins,webadmin,developers citizix

次のコマンドを使用して、ユーザーがグループに正常に追加されていることを確認します。

sudo id citizix
sudo id citizixtwo

7。ホームディレクトリを持たないユーザー

ホームディレクトリのないユーザーを作成する場合は、 -Mを使用します オプション:

sudo useradd -M citizix

8。アカウントの有効期限を持つユーザー

有効期限のあるユーザーを作成したい場合があります。このコマンドを使用して、ユーザー citizixfourを作成します 2021-12-30に期限切れになります :

sudo useradd -e 2021-12-30 citizixfour

アカウントとパスワードの有効期限を確認するには、 chageを使用します コマンド:

$ sudo chage -l citizixfour
Last password change                    : Oct 08, 2021
Password expires                    : never
Password inactive                   : never
Account expires                     : Dec 30, 2021
Minimum number of days between password change      : 0
Maximum number of days between password change      : 99999
Number of days of warning before password expires   : 7

9。パスワードの有効期限を持つユーザー

-f 引数は、パスワードの有効期限が切れた後にユーザーが非アクティブ化される日数を定義するために使用されます。 0の値 パスワードの有効期限が切れたらすぐにユーザーアカウントを無効にします。デフォルトでは、パスワードの有効期限の値は -1に設定されています 期限切れにならないことを意味します。

この例では、アカウントのパスワードの有効期限を45日に設定します。 ユーザーのcitizixfive -eを使用する および-f オプション。

sudo useradd -e 2021-12-30 -f 45 citizixfive
sudo chage -l citizixfive

10。ユーザーへのカスタムコメントの追加

-c -コメント )オプションは、新しいユーザーの簡単な説明を追加します。通常、ユーザーのフルネームまたは連絡先情報はコメントとして追加されます。

sudo useradd -c "Citizix User" citizixsix

/ etc / passwdを確認してください

$ cat /etc/passwd | grep citizixsix
citizixsix:x:1006:1006:Citizix User:/home/citizixsix:/bin/bash

11。ユーザーログインシェルの指定

-s -shell )オプションは、ログインシェルを指定するために使用されます。 / bin / bashのようなインストールされたシェルのいずれかを使用できます またはbin/ zsh または、ログインシェルとは関係のないユーザーの場合は、 / sbin / nologinを実行できます。 ログインシェルがないことを指定するには:

# Specify /bin/zsh
sudo useradd -s /bin/zsh citizix

# Specify no login
sudo useradd -s /sbin/nologin citizix

12。システムユーザーの作成

システムまたはシステムにインストールするアプリケーションのいずれかで使用されるシステムユーザーが必要になる場合があります。
-rを使用します。 (-システム )システムユーザーを定義するための引数:

sudo useradd -r grafana

13。引数の連鎖

ユーザーを作成するときに引数を連鎖させることもできます。

指定されたホームディレクトリ/var / www / citizixを作成しながらユーザーを作成するこの例を確認してください カスタムログインシェルを定義する/bin / zsh コメントを追加するCitizixWeb User

sudo useradd -m -d /var/www/citizix -s /bin/zsh -c "Citizix Web User" -U citizix

14。デフォルトのuseradd値の変更

useradd デフォルトはファイル/etc / default / useraddに保存されます 。

/ etc / default / useraddのコンテンツをチェックアウトする :

$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

引数-Dを使用してクエリすることもできます useraddの場合 コマンド:

$ sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

これらの値を更新または変更するには、ファイルを編集するか、 useradd -Dを使用します 値を渡します。

ログインシェルを/bin / bashから変更する例 / bin / zsh

sudo useradd -D -s /bin/zsh

更新されたことを確認しましょう:

$ sudo useradd -D | grep -i shell
SHELL=/bin/zsh

15。 Linuxからのユーザーの削除

ユーザーを削除するには、 userdelを使用します コマンド:

sudo userdel citizixfive

16。 Linuxでのグループの追加

グループを手動で作成するには、コマンドを使用します。

これにより、グループ sftp-usersが作成されます 私たちのシステムでは:

sudo groupadd sftp-users

グループが作成されたことを確認しましょう

$ sudo grep sftp-users /etc/group
sftp-users:x:1007:

コマンド-Gを使用します 他のグループの場合( -G ユーザーを新しいグループに追加しますが、古いグループに保持します(追加)。

idを使用する 確認するコマンド

sudo id citizix

17。ユーザーのグループを変更する

ユーザーを作成し、そのプライマリグループを指定されたものに変更するには、 -gを使用します オプション:

sudo useradd -g citizix citizixseven

結論

useraddを使用して基本的な操作を行う方法を検討しました コマンド。ユーザーを作成し、グループに追加し、変更または削除することができました。

マンページを使用して、useraddコマンドの詳細を確認できます。

man useradd

useraddのすべてのオプションを確認するには、オプションなしでターミナルにコマンドを入力します。

$ useradd
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

Linux
  1. systemd-homedを使用してLinuxユーザーのホームディレクトリを管理する

  2. Linuxでホームディレクトリのユーザーアカウントを削除する方法

  3. LinuxユーザーとLinuxグループを管理する

  1. Linuxで複数のユーザーアカウントを作成する方法

  2. Linuxでカスタムホームディレクトリを使用してユーザーを作成する方法

  3. Linuxでユーザーとグループを操作する方法

  1. LVMを使用してLinux上のストレージを管理する方法

  2. Linuxのグループにユーザーを追加する方法(例を含む)

  3. Linux でファイルとディレクトリのアクセス許可/所有権を管理する方法