最好的方法来创build一个没有密码的用户

创build没有密码的用户的好方法是什么? 没有密码,我的意思是一个帐户,只能使用su / sudo命令(如Apache或Nginx使用的“nobody”用户)的root帐户使用。

我读过在/ etc / shadow文件的密码字段中添加一个*,但是我想知道是否有办法使用useradd命令来完成。

我想到了:

useradd my_new_user -s /sbin/nologin -p '*' 

但我不确定useradd命令可以这样使用。 我还没有find任何参考。

这种方式按照你描述的方式工作(当然你可以指定你想用/bin/bash shell):

 root# useradd temp_test1 -s /bin/bash -p '*' root# su temp_test1 temp_test1# 

执行上面的useradd命令后,以下条目位于我的/etc/shadow文件中:

 temp_test1:*:15842:0:99999:7::: 

当使用John Smith可选的答案时,以下将起作用:

 root# useradd temp_test2 -s /sbin/nologin root# su -s /bin/bash temp_test2 temp_test2# 

编辑:我想指出的是,不同的是,你不能su到一个帐户有一个指定为/sbin/nologin的shell,除非你发出su命令时指定一个可用的shell:

 root# useradd temp_test3 -s /sbin/nologin root# su temp_test3 This account is currently not available. root# 

(testing在CentOS 6.4 – 应该在各种发行版中工作)。

 useradd my_new_user -s /sbin/nologin 

如果没有指定密码,则不会创build/帐户禁用。