[root@Acheron ~]# systemctl status shadow
● shadow.service - Verify integrity of password and group files
Loaded: loaded (/usr/lib/systemd/system/shadow.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2019-05-14 13:59:34 EDT; 1s ago
Process: 25502 ExecStart=/bin/sh -c /usr/bin/pwck -r || r=1; /usr/bin/grpck -r && exit $r (code=exited, status=1/FAILURE)
Main PID: 25502 (code=exited, status=1/FAILURE)
May 14 13:59:34 Acheron systemd[1]: Started Verify integrity of password and group files.
May 14 13:59:34 Acheron sh[25502]: user 'netdata': directory '/home/netdata' does not exist
May 14 13:59:34 Acheron sh[25502]: pwck: no changes
May 14 13:59:34 Acheron systemd[1]: shadow.service: Main process exited, code=exited, status=1/FAILURE
May 14 13:59:34 Acheron systemd[1]: shadow.service: Failed with result 'exit-code'.
此用户不应拥有主目录。我想更新其条目/etc/passwd
以删除主目录。我可以直接编辑此文件,但这似乎不安全。有没有更好的方法?
答案1
查看中的其他条目/etc/passwd
似乎“没有主目录”的用户实际上只是将其主目录设置为/
。
我曾经usermod -d / netdata
更新用户的主目录来匹配。
答案2
这取决于您的意图。您是希望用户使用交互式 shell 登录,还是希望用户帐户无法通过正常方式登录?我没有资格直接评论您的问题,因此我通过“答案”来澄清问题。
答案3
您的意图似乎是确保用户帐户存在,但无法用于登录系统。
假设我是正确的,我会采取三个步骤。
- 修改用户记录并指定共享主目录
- 修改用户记录并指定'nologin'shell
- 删除用户以前的主目录。
首先删除用户的主目录(在更改用户主目录之前执行此操作非常重要)。
rm -rf ~username
前两个可以使用 usermod 命令实现:
usermod -d /new/shared/directory -s /sbin/nologin
请注意,当使用 useradd 创建新帐户时,您可以指定这些选项(以及更多选项)。