这是一个非常新的问题,但我还没有完全掌握unix用户。
如果我cat /etc/passwd有不同的用户:
me:x:1000:1000:me,,,:/home/me:/bin/bash
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
sddm:x:127:134:Simple Desktop Display Manager:/var/lib/sddm:/bin/false
mongodb:x:128:65534::/home/mongodb:/usr/sbin/nologin
sshd:x:129:65534::/run/sshd:/usr/sbin/nologin
tftp:x:130:138:tftp daemon,,,:/srv/tftp:/usr/sbin/nologin
_rpc:x:131:65534::/run/rpcbind:/usr/sbin/nologin大多数用户都不是登录用户(因此我们会说,除非是/bash用户,否则您无法登录),但是如果我尝试以下命令:
su - mongodb它提示我输入密码。问题是在这种情况下我不知道密码。
发布于 2022-01-31 13:34:45
简短答覆:
如果您是超级用户(id=0)或通常称为root用户,则如果shell设置为/usr/sbin/nologin或/usr/bin/false,则无法登录该用户。
根据命令页对新词的描述:
**DESCRIPTION**
nologin displays a message that an account is not available and
exits non-zero. It is intended as a replacement shell field to
deny login access to an account.
If the file /etc/nologin.txt exists, nologin displays its
contents to the user instead of the default message.
The exit status returned by nologin is always 1.但是(通常,如果您是root用户或sudo命令),您可以根据一个用户执行bash,而这个用户是nolo传用户,以模拟他进行故障排除。
数独:
sudo -u mongodb /bin/bash 根:
su -s /bin/bash mongodb上面的命令不执行登录,而只是以mongodb用户的身份执行带有用户权限的bash。
注意:通常情况下,这些用户都是无密码的,这意味着即使su进程也会要求您提供一个永远不会与空密码匹配的密码。
https://askubuntu.com/questions/1390303
复制相似问题