Linux学習のユーザとユーザグループ管理-ユーザ管理コマンド-useradd

9370 ワード

三、ユーザー管理命令
1、ユーザー追加コマンドuseradd
  1)
useraddコマンドフォーマット:
useradd【オプション】ユーザー名
オプション:
-u UID:ユーザのUID番号を手動で指定する
-dホームディレクトリ:手動で指定したユーザーのホームディレクトリdirectoryはデフォルト/homeで、-dで指定したホームディレクトリの場所などの情報を変更できます.
-cユーザ説明:ユーザを手動で指定する説明
-gグループ名:ユーザの初期値を手動で指定ユーザごとに1つの初期グループのみ
-Gグループ名:ユーザーの追加グループを指定各ユーザーはセミコロンで指定して複数のグループに追加することができます
-s shell:ユーザーのログインshellを手動で指定します.デフォルトは/bin/bash
ただし、手動で情報を変更する場合は、手動で適切な権限を指定する必要があります.そうしないと、一部の機能が制限されます.
2)、ユーザーを追加し、パスワードを設定した後、ユーザーがデフォルトで追加したその他の情報を問い合わせる
      ,   root         
[root@localhost ~]# useradd sc

        
[root@localhost ~]# passwd sc
     sc     。
     :
     :      /   
     :     
         :
passwd:                。
[root@localhost ~]# 
[root@localhost ~]# 

         ,  grep     ,           ,            
       shell                        shadow             
[root@localhost ~]# grep sc /etc/passwd
sc:x:501:501::/home/sc:/bin/bash
[root@localhost ~]# grep sc /etc/sh
shadow   shadow-  shells   
[root@localhost ~]# grep sc /etc/shadow
sc:$6$zq5gkudC$QAdnnhSfvbFnjIfwvlvsOjEvngBva3AOhissNXM.36Ccw.vwcUTERDuMyintbciClI14vPq/1v6Ey1S9fQ.9J0:17867:0:99999:7:::
[root@localhost ~]# grep sc /etc/group
sc:x:501:
[root@localhost ~]# grep sc /etc/gshadow
sc:!::
[root@localhost ~]# ll -d /home/sc/
drwx------. 4 sc sc 4096 12   2 22:13 /home/sc/
[root@localhost ~]# ll /var/spool/mail/sc 
-rw-rw----. 1 sc mail 0 12   2 22:13 /var/spool/mail/sc
[root@localhost ~]# 


3)オプションを指定してユーザーを追加する
》useradd -u 550 -G root,bin -d/home/lampl\
   -c "test user"-s/bin/bash sc
上のコマンドでは、最初の行の末尾にがあります.この記号は改行に使用されるので、直接1行に書くこともできます.
》useradd -u 550 -G root,bin -d/home/lampl  -c "test user"-s/bin/bash sc
[root@localhost ~]# useradd -u 550 -G root,bin -d /home/lampl  -c "test user" -s /bin/bash sc
  :useradd [  ]   
      useradd -D
      useradd -D [  ]

  :
  -b, --base-dir BASE_DIR	           
  -c, --comment COMMENT              GECOS   
  -d, --home-dir HOME_DIR              
  -D, --defaults		         useradd   
 -e, --expiredate EXPIRE_DATE          
  -f, --inactive INACTIVE                 
  -g, --gid GROUP		          ID
  -G, --groups GROUPS	         
  -h, --help                              
  -k, --skel SKEL_DIR	           
  -K, --key KEY=VALUE               /etc/login.defs      
  -l, --no-log-init	                     
  -m, --create-home	        
  -M, --no-create-home		         
  -N, --no-user-group	       
  -o, --non-unique		        UID     
  -p, --password PASSWORD		         
  -r, --system                          
  -R, --root CHROOT_DIR         chroot     
  -s, --shell SHELL		       shell
  -u, --uid UID			       ID
  -U, --user-group		         
  -Z, --selinux-user SEUSER		  SELinux          SEUSER


4、ユーザーのデフォルト設定ファイル
[root@localhost ~]# vim /etc/default/useradd 

# useradd defaults file
GROUP=100       #     
HOME=/home      #     
INACTIVE=-1     #        (shadow  7  )
EXPIRE=         #     
SHELL=/bin/bash  #  shell 
SKEL=/etc/skel   #    
CREATE_MAIL_SPOOL=yes      #      

~                                                                                           
~                                                                                 

以上の情報はshadowファイルの2つにすぎず、ユーザーのデフォルト情報の別のファイルにいくつかあります.
[root@localhost home]# vim /etc/lo
localtime       login.defs      logrotate.conf  logrotate.d/    
[root@localhost home]# vim /etc/login.defs 

#
# Please note that the parameters in this configuration file control the
# behavior of the tools from the shadow-utils component. None of these
# tools uses the PAM mechanism, and the utilities that use PAM (such as the
# passwd command) should therefore be configured elsewhere. Refer to
# /etc/pam.d/system-auth for more information.
#

# *REQUIRED*
#   Directory where mailboxes reside, _or_ name of file, relative to the
#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
#   QMAIL_DIR is for Qmail
#
#QMAIL_DIR      Maildir
MAIL_DIR        /var/spool/mail
#MAIL_FILE      .mail

# Password aging controls:
#
#       PASS_MAX_DAYS   Maximum number of days a password may be used.
#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
#       PASS_MIN_LEN    Minimum acceptable password length.
#       PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS   99999
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7

#
# Min/max values for automatic uid selection in useradd
#
UID_MIN                   500
UID_MAX                 60000

#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN                   500
GID_MAX                 60000

#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD    /usr/sbin/userdel_local

#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME     yes

# The permission mask is initialized to this value. If not specified, 
# the permission mask will be initialized to 022.
UMASK           077

# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes

# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512

                                                              

上記のように:
》PASS_MAX_DAYS 9999#パスワード有効期間(5)
》PASS_MIN_DAYS 0#パスワード変更間隔(4)
》PASS_MIN_LEN 5#パスワード最小5ビット(PAM)
》PASS_WARN_AGE 7#パスワード期限切れ警告(6)
》UID_MIN 500#最小および最大UID範囲
》GID_MAX  60000
》ENCRYPT_METHOD SHA 512#暗号化モード
以上のファイルが変更されると、shadowファイルのデフォルトで作成される情報値は上記の値になります.
2、ユーザーパスワードpasswdの変更
passwdコマンドフォーマット
passwd【オプション】ユーザー名
オプション:
-Sユーザーパスワードのパスワードステータスを問い合わせる.rootユーザーのみ使用可能
-lユーザーを一時的にロックします.rootユーザーのみが使用できます.ユーザーをロックすると、ユーザーはログインできません./etc/shadowファイルを表示すると、ロックされたユーザーパスワードフラグの値が最初に表示されます.開始します.
shadowファイルを手動で変更することでロックを解除するのが面倒な場合は、ロック解除オプションでユーザーをロック解除できます.
-uユーザーのロックを解除します.rootユーザーのみ使用可能
--stdinは、パイプシンボルから出力されるデータをユーザーのパスワードとして使用できます.
注意:一般ユーザーのパスワードは、パスワードが複雑であるという一定のパスワードルールに合致する必要があります.以上のコマンドは特殊な場合に使用され、一般的には使用されません.
2)ユーザーのパスワードとして文字列を使用する
echo"123"|passwd--stdin scこのコマンドは、scユーザのパスワードを受信した入力文字列123に設定することができる
この方法は主にshellのプログラミングに用いられ,ユーザの一括追加などに用いられる.
3、ユーザー情報の変更usermod
ユーザーパスワードステータスchageの変更スペルに特に注意
注意:useraddコマンドなどで使用するオプションusermodもサポートされています.useraddとusermodの違いは主に使用時間が異なるため、useraddはユーザーが追加したばかりのものに使用されます.
さらに、usermodは、ユーザーがすでに存在する場合の構成の変更に使用されます.
useradd【オプション】ユーザー名
オプション:
-u UID:ユーザのUID番号を変更する
-cユーザ説明:ユーザの説明情報を変更する
-Gグループ名:一時ユーザの追加情報
-L:ユーザを一時的にロック(lock)
-U:ユーザロック解除(Unlock)
ユーザーのロックとロック解除のコマンドはどちらでも構いません.
2)ユーザーパスワード状態chageの変更
chage【オプション】ユーザー名
オプション:
-l:ユーザーの詳細なパスワードのステータスをリストします
-d日付:パスワードの変更最後の変更日(shadow 3フィールド)
-m日数:パスワード変更間隔2回(shadow 4フィールド)
-M日数:パスワード有効期間(shadow 5フィールド)
-W日数:パスワードが期限切れになる前の警告日数(shadow 6フィールド)
-I日数:パスワード後猶予日数(shadow 7フィールド)
-E日付:アカウント失効時間(shadow 8フィールド)
例:
chage  -d 0 sc     
#以上のコマンドは、パスワードの変更日を0にします(shadow第3フィールド).これにより、ユーザーがログインするとパスワードが変更されます.
注意:サーバ上で一般ユーザーにパスワードを設定-dオプションが0の場合、一般ユーザーがログインするとパスワードを変更する必要があります.このコマンドもchageで最もよく使われるコマンドです.
4、ユーザーuserdelの削除
1)userdel[-r]ユーザー名
オプション:
-rユーザを削除しながらユーザホームディレクトリを削除する
注意:ユーザーを削除するときにホームディレクトリを削除しないと、そのホームディレクトリはコンテンツ指向のないゴミファイルになります.
拡張:ユーザーの手動削除
vi/etc/passwdはまずパスワードに基づいて、暗号化アルゴリズムを通じて、この値を見つけて、それから削除しますが、基本的に難しいです.
vi/etc/shadow
vi/etc/group
vi/etc/gshadow
rm-rf/var/spool/mail/ユーザー名
rm-rf/home/ユーザー名
ユーザーが完全に削除されたことを確認するにはどうすればいいですか?
答:ユーザーを再度追加すれば、追加に成功すればヒントがなく、説明は完全に削除されました(もちろん、この仕事は練習用です)
以上の手作業で削除する方法は、ユーザー情報の位置を熟知し、対応する内容をよりよく理解するために使用されます.
よく使われる削除はuserdel-rユーザー名です
2)ユーザーIDの表示
idコマンド:
idユーザー名
5、ユーザ切替コマンドsu
ユーザーID suの切り替え
コマンド:
su【オプション】ユーザー名
オプション:
-:オプションは「-」のみを使用して、ユーザーを関連付ける環境変数を表します.
-c:ユーザーIDを切り替えずにコマンドを1回のみ実行
[zhouxueli@localhost /]$ su - root
  :root    
[zhouxueli@localhost /]$ 

            root,              ,  
       ,         

              ,             

su    

          root  ,      root           。

6、ユーザーグループの追加コマンド
1)groupadd【オプション】グループ名
オプション:
-g GID:グループIDの指定
[zhouxueli@localhost /]$ groupadd tg
-bash: /usr/sbin/groupadd:     
[zhouxueli@localhost /]$ su groupadd tg
su:   groupadd    
[zhouxueli@localhost /]$ su root
  :
[root@localhost /]# groupadd tg
[root@localhost /]# vim  /etc/group    #       

2)ユーザーグループの変更
グループ名
オプション:
-g GID:グループIDの変更
-n新規グループ名:グループ名の変更
例:
  groupmod -n testgrp  group1
変更後の効果の表示
vim  /etc/group
注意:ユーザーグループを変更しないことを提案し、グループ変更に不慣れになり、一部のユーザーなどのシステム情報が失われることを防止する.
3)ユーザーグループの削除
グループ名
以上のコマンドで、ユーザー・グループを削除できます.
例:groupdel tg
万一、このグループにユーザがいる場合、削除時にそのグループに初期グループユーザがいる場合、そのグループは削除できません.その初期ユーザには初期ユーザグループがないため、削除できません.
グループに追加のグループユーザーがいる場合は、グループを削除できます.すなわち、あるユーザグループを削除する場合、初期ユーザが存在するユーザグループは削除できません.
4)ユーザをグループに追加または削除する
gpasswd【オプション】グループ名
オプション:
-aユーザー名:ユーザーをグループに追加
-dユーザ名:ユーザをグループから削除する