linuxユーザーの追加、変更、削除


useradd[-パラメータ]アカウント
-u:次の数字に続いて、この数字をこのアカウントのuidに指定します.
-g:後にグループ名を付けて、このグループをアカウントの初期ユーザーグループとして、このユーザーグループのGIDは/etc/passwdの4番目のアカウントに置かれます
-G:後にグループ名を付けて、このグループをアカウントのサブユーザーグループとして、このパラメータは/etc/group内の関連データを修正します.
M:ユーザーホームフォルダを作成しないように強制します.
-m:ユーザーマスターフォルダを作成するように強制します.
-c:これが/etc/passwdの5列目の説明です.
-d:システムのデフォルトのディレクトリではなく、メインフォルダディレクトリを指定します.(絶対パスでなければなりません)
-r:システムアカウントを作成します.このアカウントのuidには制限があります.
-s:shellに続き、指定しない場合はデフォルト/bin/bashです.
-e:次の日付で、フォーマットは「yyyy-mm-dd」で、shadowの8文字目のセグメントで、アカウントの失効日を指定します.
-f:shadowの7番目のフィールドに続き、パスワードが無効になったかどうかを指定します.0はすぐに無効になります.-1は無効になりません(パスワードは期限切れになり、ログイン時に再設定されます).
 
ユーザーfdsを作成するには:
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# useradd fds
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# ll -d /home/fds  #         
drwx------. 2 fds fds 4096 Sep 11 09:52/home/fds
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# grep fds /etc/passwd /etc/shadow /etc/group
/etc/passwd:fds:x:1011:1011::/home/fds:/bin/bash
/etc/shadow:fds:!!:17420:0:99999:7:::
/etc/group:fds:x:1011:

 
#uidは700、初期ユーザーグループはhiveに設定
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# useradd -u 700 -g hive fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# ll -d /home/fds1
drwx------. 2 fds1 hive 4096 Sep 11 09:54/home/fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# grep fds1 /etc/passwd /etc/shadow /etc/group
/etc/passwd:fds1:x:700:491::/home/fds1:/bin/bash
/etc/shadow:fds1:!!:17420:0:99999:7:::

 
#システムユーザの作成
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]#  useradd -r fds2
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# ll -d /home/fds2
ls: cannot access /home/fds2: No such fileor directory
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# grep fds2 /etc/passwd /etc/shadow /etc/group
/etc/passwd:fds2:x:494:490::/home/fds2:/bin/bash
/etc/shadow:fds2:!!:17420::::::
/etc/group:fds2:x:490:

 
一般ユーザーのuidはすべて500より大きくて、ユーザーが自分で作成したシステムアカウントのuidは一般的に100より大きいので、-rパラメータを加えると、システムは自動的にアカウントと同じ名前のユーザーグループのuid/gidを500より小さく指定します.システムアカウントは主にシステムを実行するために必要なサービスの権限設定を行うためです.したがって、システムアカウントのデフォルトでは、メインフォルダは自動的に作成されません.
 
-Dパラメータを使用してuseraddのデフォルト値を表示
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# useradd -D
GROUP=100  #      
HOME=/home #           
INACTIVE=-1   #       , shadow   7 
EXPIRE=       #       , shadow  8 
SHELL=/bin/bash   #   shell
SKEL=/etc/skel     #              
CREATE_MAIL_SPOOL=yes  #           (mailbox)

 
アカウントのデフォルト設定に関するデータは/etc/default/useradd/etc/shadowを表示できます
uid/gidについては、パスワードの設定は/etc/loginを表示できます.defs  /etc/passwd /etc/group
 
passwd[-パラメータ]アカウント
--stdin:パスワードの入力としてパイプのデータを使用できます.常用語shellです.
-l:鍵をかけるという意味で、パスワードを無効にします.
-u:ロックを解除するという意味です.-lの逆操作です.
-S:パスワードに関するパラメータを一覧表示
-n:パスワードの変更はどのくらいできないかを示す後続日数
-x:次の日数で、パスワードを変更する必要がある時間を示します.
-w:後続日数、パスワードが期限切れになる前の警告日数
-i:受信日、パスワードの有効期限
 
注:passwdの後にアカウントを付けないと、現在ログインしているアカウントのパスワードを変更します.
 
fdsアカウントのパスワードを設定します.
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# passwd  fds
Changing password for user fds.
New password:
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updatedsuccessfully.

 
追加-stdinパラメータはパイプを使用してパスワードを設定します(ここでは2つの短い横棒で、1つの横棒ではありません):
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# echo 'fds1'|passwd --stdin fds1
Changing password for user fds1.
passwd: all authentication tokens updatedsuccessfully.

 
指定したアカウントのパスワードにロック/ロック解除を加える:
 [root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# passwd -S fds1
fds1 PS 2017-09-11 0 99999 7 -1 (Passwordset, SHA512 crypt.)
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# passwd -l fds1
Locking password for user fds1.
passwd: Success
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# passwd -S fds1
fds1 LK 2017-09-11 0 99999 7 -1 (Passwordlocked.)
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# grep fds1 /etc/shadow
fds1:!!$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17420:0:99999:7:::
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# passwd -u fds1
Unlocking password for user fds1.
passwd: Success
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# grep fds1 /etc/shadow
fds1:$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17420:0:99999:7:::
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]#

 
passwd-Sは単純な情報をリストするだけで、changeコマンドを使用してより詳細な情報を表示するには、
chage[-パラメータ]アカウント
-l:アカウントの詳細なパスワードパラメータをリストします
-d:日付を後にして、最後に面を修正する時間、フォーマットはyyyy-mm-dd
-E:後接日、アカウントの失効日、フォーマットは同じです.
-I:受信日、パスワードの有効期限、
-m:後続日数、パスワードの最短保存日数
M:次の日数、パスワードはどのくらい変更する必要がありますか.
-W:後続日数、パスワードが期限切れになる前の警告日
 
chageを使用してアカウントの元の情報を表示します.
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# chage -l fds1
Last password change                                    : Sep 11,2017
Password expires                                        : never
Password inactive                                       : never
Account expires                                         :never
Minimum number of days between passwordchange          : 0
Maximum number of days between passwordchange          : 99999
Number of days of warning before passwordexpires       : 7

 
パスワードの最終変更日:
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]#  chage -d '2017-09-12' fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# chage -l fds1
Last password change                                    : Sep 12, 2017
Password expires                                        : never
Password inactive                                       : never
Account expires                                         :never
Minimum number of days between passwordchange          : 0
Maximum number of days between passwordchange          : 99999
Number of days of warning before passwordexpires       : 7

 
usermod[-パラメータ]アカウント
-c:アカウントの説明に続く
-d:後付けアカウントのメインフォルダ、絶対パス
-e:後続日付、yyyy-mm-dd形式
-f:後続日数
-g:初期ユーザグループに続く
-G:マイナーユーザーグループに続く
-a:-Gと一緒に使用すると、設定ではなくサブユーザーのサポートが追加されます.
-l:新しいアカウント名に続く
-s:shellの実際のファイルを後で接続
-u:次のUID番号
-L:ユーザーを一時的にフリーズし、ログインできないようにユーザーパスワードをロックします.
-U:ユーザーを解凍し、ユーザーパスワードを解錠し、アカウントを凍結して再利用する
 
fds 1アカウントにコメントを追加します.
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# usermod -c "just a test account" fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# grep fds1 /etc/passwd
fds1:x:700:491:just a testaccount:/home/fds1:/bin/bash
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# usermod -e '2019-12-31' fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# grep fds1 /etc/shadow
fds1:$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17421:0:99999:7::18261:

fds 1のアカウントをfds 1_に変更new:
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]# usermod -l fds1_new fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]# grep fds1 /etc/shadow
fds1_new:$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17421:0:99999:7::18261:

 
userdel[-パラメータ]アカウント
-r:メインフォルダとともに削除
 
fds 2と彼のメインフォルダを削除します.
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# userdel -r fds2
userdel: fds2 mail spool(/var/spool/mail/fds2) not found
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]# userdel -r fds2
userdel: user 'fds2' does not exist