我是靠谱客的博主 和谐毛衣,最近开发中收集的这篇文章主要介绍linux useradd 没有家目录,Linux下不使用useradd创建用户,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Linux下手动创建用户的全过程:需要管理员权限。

1.在/etc/group中添加用户所属组的相关信息。如果用户还有辅助组则在对应组中加入该用户作为成员。

2.在/etc/passwd和/etc/shadow中添加用户相关信息。此时指定的家目录还不存在,密码不存在,所以/etc/shadow的密码位使用“!!”代替。

3.创建家目录。cp -r /etc/skel /home/user_name。

4.修改家目录及子目录的所有者和属组。

chown -R user_name:user_name /home/user_name

5.修改家目录及子目录的权限。例如设置组和其他用户无任何权限但所有者有:chmod -R go= /home/user_name

到此为止,用户已经创建完成了,只是没有密码,所以只能su,不能登录。

6.生成密码。使用openssl passwd -1 -salt '12345678'生成使用md5算法的密码,此时要求输入密码,然后将生成的密码复制到/etc/shadow对应用户的密码位。

其中-1是指md5,-salt '12345678'是使用8位的字符创建密码的杂项,8位字符任意指定。虽然新版本的passwd文件中的算法是SHA512(6),但也支持md5(1)。

这里也可以使用passwd命令直接修改密码。

7.测试手动创建的用户是否可以正确登录。

以下为步骤:请千万记得备份这些相关文件。

mkdir /tmp/12;cp /etc/group /etc/passwd /etc/shadow /tmp/12/    /*备份这几个文件*/

echo "userX:x:666" >> /etc/group

echo "userX:x:666:666::/home/userX:/bin/bash" >> /etc/passwd

echo 'userX:!!:17121:0:99999::::' >> /etc/shadow

cp -r /etc/skel /home/userX

chown -R userX:userX /home/userX

chmod -R go= /home/userX

passwd --stdin userX <<< '123456'

测试使用userX是否可以登录。

如果是使用openssl passwd创建的密码。那么使用下面的方法将这部分密码替换到/etc/shadow中。

field=$(cat /etc/shadow | cut -d":" -f2)

password=$(openssl passwd -1 -salt 'abcdefg' 123456)

sed -i '$s%'$field'%'$password'%' /etc/shadow

0b1331709591d260c1c78e86d0c51c18.png

最后

以上就是和谐毛衣为你收集整理的linux useradd 没有家目录,Linux下不使用useradd创建用户的全部内容,希望文章能够帮你解决linux useradd 没有家目录,Linux下不使用useradd创建用户所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部