我想在系统上创建一个新用户来运行一个服务,但是不想为它创建/home和其他配置文件。就像有一个用于postgres的用户,但它没有任何/home目录一样。
默认情况下,useradd命令不会创建主目录,但对于守护程序,我建议您使用system选项并将shell更改为不存在的选项,以便没有人可以使用该帐户登录(例如在ssh中):
sudo useradd -r -s /bin/false USERNAME
man useradd
和man groupadd
命令查看所有选项,如果你想为用户创建一个组的话。/sbin/nologin
作为登录 shell,尽管使用/bin/false
也不会有任何区别。 - Meowadduser --system --no-create-home USERNAME
或者简单地查看man adduser
,它声称是一个“更友好的前端工具,用于低级别工具如useradd...”。adduser
和useradd
的区别,并且使用这些选项运行命令useradd
并没有产生任何错误,但创建了带有shell /bin/bash
的账户。 "买家要谨慎"。 - isapiradduser --system --no-create-home --group USERNAME
创建一个与用户同名的系统组,并将其作为主要组与用户关联。这可以通过使用groups USERNAME
或 id USERNAME
命令进行验证。添加没有主目录的用户的命令是:
useradd -M username
或者
useradd --no-create-home username
或者
adduser -M username
或者
adduser --no-create-home username
/home/vivek
目录将会自动创建。 - Meow创建所需的带有主目录的组和用户。
mkdir <HOME-DIR>
sudo adduser --disabled-password --home <HOME-DIR> --group <GROUP-NAME>
sudo useradd -s /bin/bash -d <HOME-DIR> -g <GROUP-NAME> <USER-NAME>
sudo chown <USER>:<USER> -R <HOME-DIR> # Owner permissions
sudo chmod 775 -R <HOME-PATH> # Optional
sudo usermod -a -G <GROUP-NAME> <PRIMARY-USER-NAME>
要查看所有的组,请使用:$ id
,$ groups
。登录到用户:$ sudo su - <USER>
。需要重新登录或重置电脑。
sudo deluser --remove-home <USER-NAME>