我使用useradd
命令创建了一个新用户,例如:
sudo useradd acreddy
Run Code Online (Sandbox Code Playgroud)
然后创建了新用户,但它要求输入密码,密码是什么?
尝试将帐户切换到我新创建的帐户时出现黑屏,然后在输入正确的密码后返回主登录屏幕。
登录我以前存在的帐户后,我得到:
"System Program Problem Detected"
Details:
Executable path /usr/bin/Xorg
Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1
Details: Crash
... (tons more, but no way to copy paste or save)
Run Code Online (Sandbox Code Playgroud)
当我尝试 su
su -l penner
Run Code Online (Sandbox Code Playgroud)
我得到:
No directory, logging in with HOME=/
Run Code Online (Sandbox Code Playgroud)
我手动创建了主目录,这个错误消失了,但登录仍然没有运气。似乎用户创建出了问题?我该如何纠正?
我正在尝试从 bash 命令行在 Ubuntu 14.04 LTS 中创建一个新用户。我使用以下命令:
sudo useradd -c "Samwise the Brave" sam
sudo passwd sam
Enter new UNIX password: hello-1234
Retype new UNIX password: hello-1234
passwd: password updated successfully
Run Code Online (Sandbox Code Playgroud)
创建这个新用户后,我遇到了 3 个问题:
我无法使用用户 sam 登录 Ubuntu。每当我登录时,我都会被送回登录屏幕。
当我查看/etc/passwd
文件时,我可以看到没有为用户 sam 定义默认 shell:
cat /etc/passwd | grep sam
sam:x:1003:1003:Samwise the Brave:/home/sam:
Run Code Online (Sandbox Code Playgroud)未创建 Sam 的主文件夹,即/home/sam
不存在。
关于什么可能导致所有这些问题的任何线索?
这里需要注意的是,当我使用 Unity Control Center 创建用户时,不会出现这些问题。但是我希望能够使用命令行,因为我要创建数十个用户。
我正在运行 ubuntu 14.04 LTS。我运行以下命令来创建一个用户
$sudo useradd -m -p password1 guest_user
Run Code Online (Sandbox Code Playgroud)
然后尝试切换到用户
$su guest_user
Run Code Online (Sandbox Code Playgroud)
但我无法使用密码 1 登录
我错过了什么吗?我是否想使用 password1 或其他方式登录,如 -p 选项在 useradd 的手册页中所述
-p, --password PASSWORD
The encrypted password, as returned by crypt(3). The default is to disable the password.
Note: This option is not recommended because the password (or encrypted password) will be
visible by users listing the processes.
You should make sure the password respects the system's password policy.
Run Code Online (Sandbox Code Playgroud)
以上让我感到困惑,因为当我输入命令时
用户添加 -m -p 密码 1
密码 password1 在命令行上可见。如何使它在上述命令中不可见?
之间有什么区别
adduser user_name group_name
Run Code Online (Sandbox Code Playgroud)
和
usermod -G -a user_name group_name
Run Code Online (Sandbox Code Playgroud)
乍一看,他们似乎在做同样的事情:将用户添加到组中。
我有 Ubuntu Server 14.04 LTS。我默认启用了公钥身份验证。
我使用以下命令创建新用户:
sudo useradd -m -c "John T." john -s /bin/bash
Run Code Online (Sandbox Code Playgroud)
该命令显然创建了用户,用户的主文件夹......但显然用户无法登录,因为用户没有密钥。下一步是什么?如何创建密钥并将其附加到用户?
-c -- User's full name
-m -- Creates user's home directory
-s -- Specify user's login shell
Run Code Online (Sandbox Code Playgroud) /etc/skel
是一个将为新用户克隆的文件夹。有没有一种可能的方法可以定义从/etc/skel
文件夹复制什么的规则?
例如,我正在寻找一种方法,如果创建用户并属于名为 的组A
,则克隆/etc/skel
文件夹除外/etc/skel/not_for_a.txt
. 可能的?
我想创建一个没有登录、没有主页且不会显示在 lightdm 登录屏幕窗口或用户帐户工具中的用户。就像 /etc/passwd 中的其他用户一样:sshd、syslog、avahi...
我尝试过使用这个命令行:
useradd -r -u 1001 -M -g 1001 media
Run Code Online (Sandbox Code Playgroud)
但我仍然可以在用户帐户工具中看到该用户:
提前致谢!!
注意:这个问题据称是重复的,但我不这么认为。主要区别是我想要创建一种永远不会在 lightdm 登录屏幕窗口和用户帐户工具中显示的用户。没有正确定义 $home 的用户是另一回事。
我使用以下命令创建用户和主目录,但由于某种原因,新创建的主目录由 root 用户拥有:
useradd --user-group --create-home --base-dir /opt --shell /bin/bash testuser
Run Code Online (Sandbox Code Playgroud)
我正在创建一个基于 eclipse-temurin:11.0.15_10-jre-focal(基于 Ubuntu 20.04)的 Docker 映像。上面的命令包含在我的 Dockerfile 中,奇怪的是,当我在 Windows 机器上本地构建它时,主目录由新用户拥有,但是当我使用 Azure、DevOps 管道构建它时,主目录目录归 root 所有。我不明白什么会导致 useradd 命令表现不同。我发现帖子中存在与 NFS 卷上的主目录相关的类似问题,但这里的情况并非如此:/opt 在容器内。