Linuxでnologinユーザーをログイン出来るようにしたり、ログインユーザーをnologinユーザーに変更する検証をしたのでまとめました。
検証環境
- AWS
- Ubuntu20.04
検証内容
1.デフォルトだとwww-data
ユーザーがnologin
の設定になっているので、このユーザーで検証する
$ cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
2./var/www
ディレクトリが存在していないので作成する
$ sudo mkdir -p /var/www
$ sudo chown www-data:www-data /var/www
$ ls -alF /var/www
total 8
drwxr-xr-x 2 www-data www-data 4096 Nov 7 05:34 ./
drwxr-xr-x 14 root root 4096 Nov 7 05:34 ../
3.設定変更しないで、nologinユーザーにログインする
$ sudo su - www-data --shell=/bin/bash
4.デフォルトで作成されている www-data
ユーザーをログインできるよう設定する
### ログインできないことを確認
$ sudo su - www-data
This account is currently not available.
### ログインできるように設定
$ sudo usermod -s /bin/bash www-data
$ cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/bin/bash
5.ログインユーザーからnologinユーザーに設定変更
### ログインできないように設定
$ sudo usermod -s /usr/sbin/nologin www-data
$ cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
### ログインできないことを確認
$ sudo su - www-data
This account is currently not available.