创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/帐户禁用。