ユーザの管理

ユーザの管理で使用する一般的なコマンドをご案内します。

 

ユーザ作成:useradd

ユーザ作成時に適用されるデフォルトの値を確認するには、オプション-Dを指定します。

[root@host1 ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@host1 ~]#

 

実際にユーザを作成してみます。パスワードも設定する場合は、オプション-pです。

[root@host1 ~]# useradd Taro -p Abcd123$

[root@host1 ~]#

 

作成されたユーザを確認してみます。

[root@host1 ~]# id Taro
uid=1009(Taro) gid=1010(Taro) groups=1010(Taro)
[root@host1 ~]#

※UserID:1009、GroupID:1010で作成されていることがわかります。

 

[root@host1 ~]# finger Taro
Login: Taro Name:
Directory: /home/Taro Shell: /bin/bash
Never logged in.
No mail.
No Plan.
[root@host1 ~]#

ホームディレクトシェルがわかります。

※fingerコマンドはデフォルトで入っていなかったので、yumでインストールしました。

 

基本、Linuxのユーザは、次のファイルに追記されています。


[root@host1 ~]# grep Taro /etc/passwd
Taro:x:1009:1010::/home/Taro:/bin/bash
[root@host1 ~]#

※UserIDとGroupID、ホームディレクトリ、シェルが記載されていますね。


[root@host1 ~]# grep Taro /etc/shadow
Taro:Abcd123$:17527:0:99999:7:::
[root@host1 ~]#

※パスワードが見えますね。/etc/passwdと/etc/shadowはUserName(Taro)でリンクされています。

 

また、パスワードのポリシーは下記のコマンドで確認できます。

[root@host1 ~]# chage -l Taro
Last password change : Dec 27, 2017
Password expires : never
Password inactive : never
Account expires : never
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
[root@host1 ~]#

 

ユーザ情報を変更してみる。

セカンダリグループを変えてみる。

useraddのオプション-Gを使って、所属するグループ名を指定します。

[root@host1 ~]# usermod -G dba Taro
[root@host1 ~]#
[root@host1 ~]# id Taro
uid=1009(Taro) gid=1010(Taro) groups=1010(Taro),1009(dba)
[root@host1 ~]#

※1009(dba)が追加されました。

ただ、/etc/passwdでは、追加したグループが見えてきません。

[root@host1 ~]# grep Taro /etc/passwd
Taro:x:1009:1010::/home/Taro:/bin/bash
[root@host1 ~]#

セカンダリグループの情報は、/etc/groupに記載されます。

[root@host1 ~]# grep Taro /etc/group
dba:x:1009:larry,gary,Taro
Taro:x:1010:
[root@host1 ~]#

※dbaに対して、Taroが割り当てられています。

 

 

ちなみに、追加したセカンダリグループの削除は、””(ブランク)を指定します。

[root@host1 ~]# usermod -G "" Taro
[root@host1 ~]# id Taro
uid=1009(Taro) gid=1010(Taro) groups=1010(Taro)
[root@host1 ~]#

1009(dba)が消えました。


複数のセカンダリグループに参加していた場合は、削除したいグループを抜いた形で指定します。

 

一旦、複数のセカンダリーグループにTaroを追加。

[root@host1 ~]# usermod -G dba,harry,barry Taro
[root@host1 ~]# id Taro
uid=1009(Taro) gid=1010(Taro) groups=1010(Taro),1004(barry),1005(harry),1009(dba)
[root@host1 ~]#

セカンダリグループからdbaだけを削除

[root@host1 ~]# usermod -G harry,barry Taro
[root@host1 ~]# id Taro
uid=1009(Taro) gid=1010(Taro) groups=1010(Taro),1004(barry),1005(harry)
[root@host1 ~]#

結論としては、グループを削除しているのではなく参加するグループを指定し直しているだけの動きとなります。

 

パスワードのポリシーを変えてみる。

パスワードのポリシーを変えるには、chageコマンドを使用します。

ユーザを作成した時は、パスワード期限が決められていないので、設定してみます。


[root@host1 ~]# chage -E 2017-12-31 Taro
[root@host1 ~]#
[root@host1 ~]# chage -l Taro
Last password change : Dec 27, 2017
Password expires : never
Password inactive : never
Account expires : Dec 31, 2017
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
[root@host1 ~]#

※期限が変わりました。