我在远程机器上安装了一个最小的服务器,root 密码设置为临时但选择的值。
我添加了一个单独的管理员用户。此用户拥有 SSH 的授权密钥、无密码访问权限和无密码 sudo。
我想删除 root 密码的任何痕迹并锁定 root 用户。
这可以通过passwd -d root && passwd -l root
. 但是,这会在两个操作之间为不良行为留下一个窗口。你怎么能一步完成这两个动作呢?
这更像是一个学术问题,而不是一个实际问题。我的解决方案是sed -e -i -e 's/^root:\([^:]*\)\(.*\)$/root:!!\2/' /etc/shadow
,但感觉应该有一个不易出错的幂等操作。