linuxでのユーザーの一括追加(newusers,chpasswd)


Linuxユーザー管理では、大量のユーザーを追加することがよく必要です.useraddまたはadduserを使用して大量のユーザーを追加する場合、システム管理者の体力と耐力には大きな挑戦です.幸いLinuxには大量のユーザー追加ツールnewusersがあり、newusersとchpasswdを通じて大量のユーザーの追加を簡単に完了することができます.
 
二、なぜ大量のユーザーを追加する必要があるのか.
私たちはいつ大量のユーザーを追加する必要がありますか?数十人以上のユーザーがホスト上で同じまたは類似のタスクを完了する必要がある場合があります.例えば、同じグループに属しているftpユーザーを同時に追加したい場合がありますが、端末またはリモートでサーバにログインすることはできません.私たちは50人の学生がいて、各学生がサーバーに独立したユーザー名を持っていて、システムにログインして、自分のアカウントを管理したり、自分の権限の下で宿題を完成したりすることができます.
三、ロットユーザー追加プロセス;
一括追加ユーザープロセスは、newusersによって/etc/passwdの書式に厳格に従ってコンテンツを書くファイルをインポートすることによって、ユーザーの追加を完了し、chpasswdによってユーザーパスワードファイルをインポートすることによって、一括更新ユーザーパスワードを完了するプロセスである.
1、newusersユーザーを一括追加するツール;
その使い方は簡単で、newusersの後ろに直接ファイルが付いています.ファイルフォーマットと/etc/passwdのフォーマットは同じです.
ユーザ名1:x:UID:GID:ユーザ説明:ユーザのホームディレクトリ:使用するSHELL
例:win00:x:520:520::/home/win00:/sbin/nologin
win01:x:521:521::/home/win01:/sbin/nologin
......

注目すべきはSHELLタイプについて、ホスト上のすべてのSHELLを表示して、chshで表示することができます;[root@localhost beinan]# chsh --list
/bin/sh
/bin/bash
/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh

このうち/sbin/nologinを除いて、他のタイプのSHELLはシステムにログインすることができます.Nologinの多くは仮想ユーザー用のSHELLであり、つまり彼はシステムユーザーであるが、システムにログインする権限がない.このようなユーザーを追加したい場合は、上記の例のように、彼のSHELLを/sbin/nologinに設定します.
ユーザー名、UID、GID、ユーザーのホームディレクトリについては、対応する参考ドキュメントを読むことができます.
2、chpasswd一括更新ユーザーパスワードツール;
chpasswdツールは、ユーザーのパスワードを一括更新するツールであり、ファイルの内容を/etc/shadowに再指向して追加します.
chpasswd<ファイル
しかし、書類の内容は約束がないわけではなく、以下の形式で書かなければならず、空行があってはならない.
≪ユーザー名|Username|ldap≫:≪パスワード|Password|ldap≫
ユーザ名1:パスワード1
ユーザ名2:パスワード2
例:
win00:123456
win01:654321
... ...
四、ユーザーインスタンスを一括追加する.
1、まずユーザーファイルとパスワードファイルを作成します.
新しいユーザーを含むファイルを作成します.txt ;もう1つは、新しく追加したユーザにパスワードを設定userpwdfile.txt; [root@localhost ~]# touch userfile.txt
[root@localhost ~]# touch userpwdfile.txt

テキストエディタでファイルを開くtxt、以下の内容を追加します.win00:x:520:520::/home/win00:/sbin/nologin
win01:x:521:521::/home/win01:/sbin/nologin
win02:x:522:522::/home/win02:/sbin/nologin
win03:x:523:523::/home/win03:/sbin/nologin
win04:x:524:524::/home/win04:/sbin/nologin
win05:x:525:525::/home/win05:/sbin/nologin
win06:x:526:526::/home/win06:/sbin/nologin
win07:x:527:527::/home/win07:/sbin/nologin
win08:x:528:528::/home/win08:/sbin/nologin
win09:x:529:529::/home/win09:/sbin/nologin

userfile.txtファイルの内容フォーマットは/etc/passwdのフォーマットと同じで、/etc/passwdのフォーマットに厳格に従って書かなければならない.上に追加したユーザーはシステムにログインできませんが、ftpログインには完全に使用できますが、対応するftpサーバのプロファイルでローカルユーザーに読み書き権限を与えるように開く必要があります.上のユーザーの一部をシステムにログインさせたい場合は、SHELLを/bin/bashに変更するなど、変更することができます.
新しいユーザーのパスワードファイルを書きます.txtコンテンツ;このファイルの内容のユーザー名はuserfile.txtユーザー名は同じです.つまり、私たちはまずwin 00からwin 09のユーザーを追加して、今これらのユーザーのためにパスワードを更新します.例えば以下の;win00:123456
win01:654321
win02:123321
win03:qweewq
win04:google
win05:adadwc
win06:wsscee
win07:xxec32
win08:543wew
win09:3ce3wf

2、newusersとchpasswdでユーザーの一括追加を完了する.[root@localhost ~]# newusers userfile.txt
[root@localhost ~]# chpasswd < userpwdfile.txt

これにより、追加が完了しても、/etc/passwdでユーザーのパスワードが発見された場合は、次のコマンドで/etc/shadowファイル名にマッピングできます.[root@localhost ~]# pwconv