使用 newusers 命令创建的用户无法登录 Ubuntu 18.04

使用 newusers 命令创建的用户无法登录 Ubuntu 18.04

背景:

我打算为新设置的 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:~$

相关内容