如何使用useradd或类似命令在linux bash脚本上添加用户。
还要复制位于/etc/skel/中的启动脚本,并更改已添加用户的密码。

user1=$1
read -p "Enter your home name" home_name
read -p "Enter your login shell" loginshell
echo "$user1:x:500:500:$user1:/home/$home_name:$loginshell" >> /etc/passwd
echo "$user1:x:500:" >> /etc/group
mkdir /home/$home_name
chmod 744 /home/$home_name
cp -pr /etc/skel/.bashrc /home/$home_name
echo "$user1: " >> /etc/shadow
echo "`passwd` $user1"

执行此脚本后出现的错误
passwd: Authentication token manipulation error

如果有什么错误,你能告诉我吗?

最佳答案

你应该解释你为什么要这么做。在我看来,这是个坏主意。特别是,因为它不能很好地处理所有类型的系统(例如,一些linux系统使用ldap进行用户身份验证等)。
我相信你的台词是错的。查看/etc/shadow文件的内容(使用sudo),您将了解其中的条目不仅仅是用户名和冒号。
但实际上,您应该使用useradd或adduser来实现这一点。你冒着完全破坏你的系统的风险。

关于linux - 如何不使用useradd或类似命令添加用户?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7859281/

10-10 14:16
查看更多