今天在国产操作系统【凝思磐石60】上进行用户的添加删除操作时,使用useradd删除用户时遇到用户删除失败,并返回"usermod:无改变"的情况,在这里记录下分析结果,分享给遇到同样问题的朋友们~
问题重建步骤
- 添加一个新用户,结果成功
useradd xiaoming
- 删掉该用户,没有报错
userdel xiaoming
- 再次添加用户xiaoming, 报用户已存在"useradd : user ‘xiaoming’ already exists":
useradd xiaoming
- 再次删除用户小明,提示"usermod:无改变"
userdel xiaoming
原因分析
在这款国产操作系统中,使用userdel并未真正的删掉用户,而是将账户的过期时间修改成了1970-01-01
- 查看下用户xiaoming的账户过期时间
chage -l xiaoming
显示 “账户过期时间” 为 “1970年01月01日”
- 查看/etc/passwd和/etc/group文件,是否还存在xiaoming
grep xiaoming /etc/passwd
grep xiaoming /etc/group
发现仍然存在用户xiaoming
解决办法
找到了问题的原因,解决起来也就简单了
- 可以修改用户的账户过期时间为 未来的某一天 或者 “从不”
# -E后可以跟未来的某一天,如2022-12-12,-1代表永不过期
chage -E -1 xiaoming
- 也可以修改/etc/passwd和/etc/group文件,删除用户相关的行,这样会彻底删除用户和用户组