使用環境
[user01@localhost ~]$ ls -l /usr/sbin/useradd
-rwxr-xr-x. 1 root root 137616 8月 9 2019 /usr/sbin/useradd
[user01@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
ルートユーザーへ変更
[user01@localhost ~]$ su
パスワード:
[root@localhost user01]# id
uid=0(root) gid=0(root) groups=0(root)
[root@localhost user01]#
現在のユーザー一覧
[root@localhost user01]# cat /etc/passwd | tail
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
user01:x:1000:1000:user01:/home/user01:/bin/bash
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
zabbix:x:988:982:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
'user01:x:1000:1000:user01:/home/user01:/bin/bash'
ユーザーを追加するコマンド
[root@localhost user01]# useradd Shirley
追加されたことを確認する
[root@localhost user01]# cat /etc/passwd | tail
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
user01:x:1000:1000:user01:/home/user01:/bin/bash
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
zabbix:x:988:982:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
'Shirley:x:1002:1002::/home/Shirley:/bin/bash'
ユーザーのパスワードを設定する
[root@localhost user01]# passwd Shirley
ユーザー Shirley のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードには一部に何らかの形でユーザー名が含まれています。
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
よくないパスワード: このパスワードは辞書チェックに失敗しました。 - 単純/系統的すぎます
パスワードポリシーに準拠していないと上記メッセージなどが表示されるが、再入力すれば設定は可能。
Shirley:x:1002:1002::/home/Shirley:/bin/bash
表示されている情報 : で区切られている
項目 | 情報 | |
---|---|---|
1 | ユーザー名 | Shirley |
2 | ダミーパスワード | x |
3 | ユーザーID | 1002 |
4 | グループID | 1002 |
5 | コメント | 空白 |
6 | ホームディレクトリ | /home/Shirley |
7 | シェル | bin/bash |
パスワードの詳細情報
[root@localhost user01]# cat /etc/shadow | tail
sshd:!!:19330::::::
avahi:!!:19330::::::
postfix:!!:19330::::::
ntp:!!:19330::::::
tcpdump:!!:19330::::::
user01:$6$MEXas/0QYtMA7qc4$SiQUbFsKiwvOZcNjfDtUV562nkmFvbqwCHcVAkmwhmk43t.1LMj8p8kiQ20MrsoCJ0vZBDGylDeq2rX2mHO.x0::0:99999:7:::
mysql:!!:19380::::::
zabbix:!!:19380::::::
apache:!!:19380::::::
Shirley:$6$JPF.3Dac$CyDNnI6VHveZcYmR2myNHqUbRwEKaI6CKaacIfh6wh6kYO64aypJp09iYv2FSPCS3koATdcA4lPVQH4a.Yqtc1:19450:0:99999:7:::
項目 | 情報 | |
---|---|---|
1 | ユーザー名 | Shirley |
2 | パスワード | 暗号化 |
3 | 最終パスワード更新日 | 19450 |
4 | パスワード変更可能日 | 0 |
5 | パスワード有効期限 | 99999 |
6 | パスワード有効期限前の警告通知 | 7 |
7 | *アカウント無効までの日数 | 空白 |
8 | **アカウント有効期限 | 空白 |
*アカウント有効期限後にパスワードを変更しなかった場合にアカウントが無効になるまでの日数
**アカウントが使用不可能になるまでの日数
useradd -e
'ユーザーのアカウントが期限切れとなる日付を指定する'
useradd -f
'ユーザーのパスワードが期限切れになってからアカウントが無効化されるまでの日数'
ユーザーの変更
[root@localhost user01]# su Shirley
[Shirley@localhost user01]$
[Shirley@localhost user01]$
ユーザーの削除
[root@localhost user01]# userdel -r Shirley
userdel: user Shirley is currently used by process 22328
先ほどユーザー変更したので、プロセスが起動したままだと削除できないと怒られた。
[root@localhost user01]#
[root@localhost user01]# su Shirley
[Shirley@localhost user01]$
[Shirley@localhost user01]$
[Shirley@localhost user01]$ exit
exit
[root@localhost user01]#
これでもプロセスは起動したままだったので
プロセス一覧で確認する。
[root@localhost user01]# ps -ax | tail
22386 ? S 0:00 [kworker/0:0]
22524 pts/0 S 0:00 su
22531 pts/0 S 0:00 bash
22674 ? S 0:00 [kworker/0:2]
22722 ? S 0:00 [kworker/u256:0]
22726 ? S 0:00 [kworker/1:2]
22943 ? R 0:00 [kworker/0:1]
22953 ? S 0:00 [kworker/1:1]
22980 ? S 0:00 sleep 60
22986 pts/0 R+ 0:00 ps ax
[root@localhost user01]# userdel -r Shirley
userdel: user Shirley is currently used by process 22328
PID(プロセスID)を調べて
kill
コマンドで停止
[root@localhost user01]# kill 22328
[root@localhost user01]#
[root@localhost user01]# ps -ax |tail
22524 pts/0 S 0:00 su
22531 pts/0 S 0:00 bash
22674 ? S 0:00 [kworker/0:2]
22722 ? S 0:00 [kworker/u256:0]
22726 ? S 0:00 [kworker/1:2]
22943 ? S 0:00 [kworker/0:1]
22953 ? S 0:00 [kworker/1:1]
23062 ? S 0:00 sleep 60
23068 pts/0 R+ 0:00 ps -ax
23069 pts/0 S+ 0:00 tail
[root@localhost user01]#
表示が消えたことを確認
したけど、削除できなかった。
[root@localhost user01]# userdel -r Shirley
userdel: user Shirley is currently used by process 22328
[root@localhost user01]# exit
exit
[Shirley@localhost user01]$ exit
exit
[root@localhost user01]# exit
exit
[user01@localhost ~]$ su
パスワード:
[root@localhost user01]# userdel -r Shirley
[root@localhost user01]#
もう一つシェル開いてたみたいだ...
userdel
は -r
をつけないとホームディレクトリなどが残ってしまうので注意。
終わり。