![使用 newusers 命令创建的用户无法登录 Ubuntu 18.04](https://linux22.com/image/1165053/%E4%BD%BF%E7%94%A8%20newusers%20%E5%91%BD%E4%BB%A4%E5%88%9B%E5%BB%BA%E7%9A%84%E7%94%A8%E6%88%B7%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%20Ubuntu%2018.04%20.png)
背景:
我打算为新设置的 Ubuntu 18.04 服务器创建一个用户列表,并且认为手动逐个创建用户会很耗时,因此我考虑使用新用户命令,但在命令成功执行后遇到问题
错误
运行以下命令后:
newusers [file-path]
该文件的内容如下:
user_1:password_1:1001:1001:user_1:/home/user_1:/bin/bash
user_2:password_2:1002:1002:user_2:/home/user_2:/bin/bash
我遇到的错误是,我可以以 user_2 身份登录,但不能以 user_1 身份登录,我遇到的错误是:没有这样的文件或目录
有人能指出我可能犯了什么错误吗?
答案1
如果传递给命令的文件newusers
具有 DOS 样式(CRLF)的行尾,导致新用户的登录 shell 被记录为,则会发生这种情况/bin/bash\r
。
前任。
$ cat > singleuser.txt
user_1:password_2:1002:1002:user_1:/home/user_1:/bin/bash
$ unix2dos singleuser.txt
unix2dos: converting file singleuser.txt to DOS format ...
$ sudo newusers singleuser.txt
[sudo] password for steeldriver:
$ sudo su - user_1
: No such file or directory
$ getent passwd user_1 | cat -A
user_1:x:1002:1002:user_1:/home/user_1:/bin/bash^M$
您可以使用以下方法修复已经存在的用户chsh
:
$ sudo chsh -s /bin/bash user_1
$ sudo su - user_1
user_1@xenial-vm:~$