k.s*_*r31 1 unix linux sysadmin bash etcpasswd
我应该清除除root之外ID为0的所有用户.例如,我的passwd文件包含ID为0的用户root和ID为0的用户homer.
我试过类似的东西
grep :x:0: passwd | grep -v root:x: | awk -F : '{ print $1 }' | xargs userdel
Run Code Online (Sandbox Code Playgroud)
但我收到错误userdel:用户本垒打当前登录,即使我以root身份登录,而不是本垒打.我认为,这个错误来自他们的共享和ID.
有没有办法解决?我应该只编辑passwd和shadow文件吗?否则,有没有办法强制id 0是唯一的,这样我们就可以保证不会创建id为0的其他用户?谢谢.
"本垒打"和"根"是同一帐户.您可以为单个帐户拥有多个用户名.另见https://unix.stackexchange.com/questions/49993/another-account-with-same-uid-as-root-gets-prompted-to-set-new-password-for-root
你想要vipw并vipw -s解决这个问题.直接编辑vim或者sed是个坏主意.
有关此类型的未来问题,请考虑https://serverfault.com/或https://unix.stackexchange.com/.