How to add a user without /home?
By default the command useradd doesn't create home directories, but for a daemon I recommend you to use the system option and change the shell to a non-existent one so no one can login with said account (in ssh for example):
sudo useradd -r -s /bin/false USERNAME
You can see all the options with man useradd
and man groupadd
if you want to create a group for the user too.
Try adduser --system --no-create-home USERNAME
or simply have a look at the man adduser
which claims to be a "friendlier front end to the low level tools like useradd...".
I needed something similar - a new user without login privileges and tied to a system service. However, the answer by Clausi creates a user with the primary group as 'nogroup', which wasn't really desirable.
adduser --system --no-create-home --group USERNAME
creates a system group with the same name as the user and associates it with the user as the primary group. This can then be verified by using the groups USERNAME
or the id USERNAME
command.