kali和centOS在用户创建相关方面命令的差别
kali和centOS在用户创建相关方面命令的差别
问题根源
- useradd 是极简创建
在 Kali 这类系统里, useradd 只会在系统数据库里创建用户条目,默认不会自动创建主目录( /home/flora1 )和邮件池。
这就是为什么你用 userdel -r 删除时,系统会提示找不到主目录和邮件池。 - userdel -r 彻底删除
你执行了 userdel -r flora1 ,这个命令会:
- 删除用户本身
- 删除用户的主目录(如果存在)
- 删除用户的邮件池(如果存在)
虽然它提示找不到主目录,但用户本身已经被删掉了,所以后续再用 su flora1 就会提示用户不存在。
正确创建用户的方式
如果你想创建一个带主目录、能正常登录的用户,应该用 adduser 而不是 useradd :
bash
adduser flora1 -g father
adduser 是一个更友好的交互式脚本,会帮你自动创建主目录、设置默认 Shell,还会提示你设置密码。
或者,如果你坚持要用 useradd ,需要加上参数来手动创建主目录:
useradd flora1 -g father -m -s /bin/bash
- -m :自动创建用户主目录
- -s /bin/bash :指定默认的登录 Shell
其他类似命令
在 Linux 里,很多命令都有这种“极简工具”和“友好脚本”的区别,我给你整理几个常见的:
- userdel vs. deluser
-
userdel :系统底层命令,功能基础。
-
仅删除用户条目,默认不删除主目录和邮件池。
-
要彻底删除所有相关文件,需要加上 -r 参数:
bash
userdel -r username -
deluser :是 userdel 的友好封装脚本(Debian/Ubuntu/Kali 体系下才有)。
-
默认只删除用户条目,不会动主目录。
-
要彻底删除主目录和邮件池,需要加上 --remove-home 参数:
bash
deluser --remove-home username -
还可以用 --remove-all-files 来删除用户拥有的所有文件。
- groupadd vs. addgroup
- groupadd :底层命令,仅创建用户组,不会做额外配置。
- addgroup :友好脚本,会自动处理组 ID 分配,还能交互式创建。
bash
addgroup groupname
- groupdel vs. delgroup
- groupdel :底层命令,直接删除组,若组里还有用户会报错。
- delgroup :友好脚本,会先检查组是否为空,还可以用 --only-if-empty 确保安全删除。
bash
delgroup --only-if-empty groupname
- passwd vs. chpasswd
-
passwd :交互式修改密码,一次改一个用户。
bash
passwd username -
chpasswd :批量修改密码,适合脚本里用,非交互式。
bash
echo "username:newpassword" | chpasswd
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1190965.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!