useraddのデフォルト設定を確認する
[root@mgmt ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
「/etc/skel」について
/etc/skel配下に格納されているファイルが、新しい追加ユーザーのhomeディレクトリ配下に格納される
[root@mgmt ~]# ll -a /etc/skel
合計 24
drwxr-xr-x. 2 root root 62 12月 15 2022 .
drwxr-xr-x. 117 root root 8192 10月 20 17:32 ..
-rw-r--r--. 1 root root 18 6月 20 2022 .bash_logout
-rw-r--r--. 1 root root 141 6月 20 2022 .bash_profile
-rw-r--r--. 1 root root 376 6月 20 2022 .bashrc
/etc/skel配下に新しいファイルを作る
[root@mgmt ~]# touch /etc/skel/snow
[root@mgmt ~]# ll -a /etc/skel
合計 24
drwxr-xr-x. 2 root root 74 10月 21 16:12 .
drwxr-xr-x. 117 root root 8192 10月 20 17:32 ..
-rw-r--r--. 1 root root 18 6月 20 2022 .bash_logout
-rw-r--r--. 1 root root 141 6月 20 2022 .bash_profile
-rw-r--r--. 1 root root 376 6月 20 2022 .bashrc
-rw-r--r-- 1 root root 0 10月 21 16:12 snow
テストユーザーを追加し、ホームディレクトリを確認
[root@mgmt ~]# useradd snowtest1
[root@mgmt ~]# ll -a /home/snowtest1/
合計 12
drwx------ 2 snowtest1 snowtest1 74 10月 21 16:14 .
drwxr-xr-x. 5 root root 50 10月 21 16:14 ..
-rw-r--r-- 1 snowtest1 snowtest1 18 6月 20 2022 .bash_logout
-rw-r--r-- 1 snowtest1 snowtest1 141 6月 20 2022 .bash_profile
-rw-r--r-- 1 snowtest1 snowtest1 376 6月 20 2022 .bashrc
-rw-r--r-- 1 snowtest1 snowtest1 0 10月 21 16:12 snow
ユーザー追加/グループ追加
ユーザー追加するのに、グループも必要となり、グループから追加する手順となる。
(グループを追加しなくても、自動的にユーザー名と同じ名前のグループが追加される)
ユーザー変更(usermod)/グループ変更(groupmod)の使い方はユーザー追加/グループ追加と大体同じ考えたでいいだろうということで、ここで略す
追加する前の確認
[root@mgmt ~]# grep 1111 /etc/passwd /etc/group
追加されることを確認(グループがない場合)
[root@mgmt ~]# useradd --uid 1111 snowtest2
[root@mgmt ~]# grep 1111 /etc/passwd /etc/group
/etc/passwd:snowtest2:x:1111:1111::/home/snowtest2:/bin/bash
/etc/group:snowtest2:x:1111:
追加する前の確認
[root@mgmt ~]# grep 1112 /etc/passwd /etc/group
グループ作成
--gidでグループIDを指定する
[root@mgmt ~]# groupadd --gid 1112 snow-test-group
[root@mgmt ~]# grep 1112 /etc/passwd /etc/group
/etc/group:snow-test-group:x:1112:
ユーザー作成
--uid:ユーザーID
--gid:グループID
-c:コメント
-s:ログインシェル
[root@mgmt ~]# useradd --uid 1112 --gid 1112 -c 'snow test user' -s /sbin/nologin snowtest3
[root@mgmt ~]#
[root@mgmt ~]# grep 1112 /etc/passwd /etc/group
/etc/passwd:snowtest3:"x":1112:1112:snow test user:/home/snowtest3:/sbin/nologin
/etc/group:snow-test-group:"X":1112:
(表示上のことで"x"の「"」を付けたが、実際には「"」がない)
ユーザー削除/グループ削除
-rを付けないとホームディレクトリが削除されない
[root@mgmt ~]# ll -d /home/snowtest3
drwx------ 2 snowtest3 snow-test-group 74 10月 22 07:02 /home/snowtest3
[root@mgmt ~]#
[root@mgmt ~]# userdel -r snowtest3
[root@mgmt ~]# ll -d /home/snowtest3
ls: '/home/snowtest3' にアクセスできません: そのようなファイルやディレクトリはありません
[root@mgmt ~]# grep 1112 /etc/passwd /etc/group
/etc/group:snow-test-group:x:1112:
[root@mgmt ~]# groupdel snow-test-group
[root@mgmt ~]# grep 1112 /etc/passwd /etc/group
/etc/passwdの見方
「:」で区切って見ればOK
例:
snowtest3:x:1112:1112:snow test user:/home/snowtest3:/sbin/nologin
ユーザー名:パスワード:ユーザーID:グループID:コメント:ホームディレクトリ:ログインシェル
(/etc/passwdのXだが、昔では、パスワードが記載され、何かがあって、パスワードを/etc/shadowに移行した記憶。今は/etc/passwdにxに固定され、実際のパスワードが/etc/shadowに保存されている(暗号化後))
ログインシェルを指定しない場合、「/bin/bash」となる。
↑での「/sbin/nologin」は、ログインできないということで、samba専用ユーザーに最適かもしれない
/etc/groupも同じ考え方でいいだろう
/etc/shadow見方
/etc/shadowは、パスワードポリシーに関する情報があり、具体的な内容はgoogle先生に聞けばと思う
ここではパスワードについて話したいと思う
第2フィールドが暗号化後のパスワードとなり、そのパスワードそのままでコピーしても利用できる
(システム移行する際によくやる方法)
また、パスワードの前に「!!」に付けることもがある、ロック(passwd -l)されているという意味
root:$6$jqGrH.QyRi45UUfe$fjla7LYArfMOas9oS9qkyWxqStFlO.g7mxj0rWwzT3I8mlEjrNYiTACPN2y71g0qiZcsn2iOCxsr9yPzi3OdW0::0:99999:7:::