Eri*_*rik 86 users ubuntu git not-root-user
我正在尝试创建一个没有密码的用户,如下所示:
sudo adduser \
--system \
--shell /bin/bash \
--gecos ‘User for managing of git version control’ \
--group \
--disabled-password \
--home /home/git \
git
Run Code Online (Sandbox Code Playgroud)
它创建得很好。但是当我尝试在 git 用户下登录时,我输入了密码:
su git
Password:...
Run Code Online (Sandbox Code Playgroud)
当我把它留空时,我收到一个错误:
su: Authentication failed
Run Code Online (Sandbox Code Playgroud)
怎么了?
pal*_*lxk 59
该--disabled-password选项不会设置密码,这意味着没有密码是合法的,但仍然可以登录(例如使用 SSH RSA 密钥)。
要创建没有密码passwd -d $username的用户,请在创建用户后使用,使密码为空。请注意,并非所有系统都允许使用空密码的用户登录。
Gil*_*il' 40
您已经创建了一个具有“禁用密码”的用户,这意味着没有密码可以让您像使用的那样登录。这与创建一个任何人都可以在不提供密码的情况下登录的用户不同,这是通过指定一个空密码来实现的,很少有用。
为了像“系统”用户这样不正常登录的用户执行命令,需要通过root账号跳转:
su -c 'su git -c "git init"'
Run Code Online (Sandbox Code Playgroud)
或者
sudo -u git git init
Run Code Online (Sandbox Code Playgroud)
如果您希望某些用户能够以用户身份运行命令git而不让他们以 root 身份运行命令,请设置 sudo(visudo以 root 身份运行并添加类似 的行%gitters ALL = (git) ALL)。
Did*_*hen 10
如果你想在 git 用户下访问系统,你应该使用 sudo:
sudo -s -u git
Run Code Online (Sandbox Code Playgroud)
或者
sudo su - git
Run Code Online (Sandbox Code Playgroud)
创建一个密码为空的用户
sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0
Run Code Online (Sandbox Code Playgroud)
不幸的是,密码提示仍然显示。
但是,如果您只按 Enter 键而不输入任何内容,它就会以 user 身份登录test-user-0。
该-e标志告诉chpasswd口令已经加密,并且U6aMy0wojraho是空字符串的哈希值。
在 Ubuntu 18.04 上测试。
终端自动登录 getty -a
至少在终端上,你不需要创建一个没有密码的用户来允许某人每次都不要输入他们的密码。
我可以通过修改在 BusyBox 上做到这一点inittab:如何在 Buildroot BusyBox init 中不输入 root 用户名或密码自动登录?
因此,我相信通过修改 Ubuntu 18.04 的 systemd init 系统脚本来设置getty -a <user>该答案中提到的终端来适应该技术应该不是很困难,尽管我自己还没有尝试过。
小智 7
我认为这就是你想要的:
adduser --disabled-password --shell /bin/bash --gecos "User" $username
Run Code Online (Sandbox Code Playgroud)
你将能够
su $username
Run Code Online (Sandbox Code Playgroud)
以该用户身份运行命令,/bin/bash或在您指定的任何 shell 中运行。--gecos "User"只需放入"User"评论字段,这样就不会提示您输入该信息。你可以把任何你想要的东西放进那个领域。
| 归档时间: |
|
| 查看次数: |
260551 次 |
| 最近记录: |