2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

定時帰る術-Linuxユーザー管理(useradd、groupadd系コマンド)

Posted at

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:::

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?