Eu não sei se isso vai te ajudar ou não, apenas veja isso.
I want to restrict these user accounts as much as possible, so that they dont have a shell login
Para isso, antes de criar uma conta de usuário, basta editar o arquivo /etc/default/useradd
Isso
1 # useradd defaults file
2 GROUP=100
3 HOME=/home
4 INACTIVE=-1
5 EXPIRE=
6 SHELL=/bin/bash
7 SKEL=/etc/skel
8 CREATE_MAIL_SPOOL=yes
Para isso
1 # useradd defaults file
2 GROUP=100
3 HOME=/home
4 INACTIVE=-1
5 EXPIRE=
6 SHELL=/bin/nologin
7 SKEL=/etc/skel
8 CREATE_MAIL_SPOOL=yes
Depois de alterar isso, se você criar uma conta de usuário, para todas essas contas, não é possível fazer login no sistema
Isso é por causa disso
user:x:1017:1017::/home/user:/bin/nologin -----> /etc/passwd file entry
veja aqui
[max@localhost ~]$ su - user
Password:
su: /bin/nologin: No such file or directory
[max@localhost ~]$
você pode obter isso editando o arquivo /etc/passwd
diretamente, sem precisar editar /etc/default/useradd
arquivo se o usuário for menor
altere apenas o último preenchido
Isso
user:x:1017:1017::/home/user:/bin/bash
Para isso
user:x:1017:1017::/home/user:/bin/nologin