首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您能否将终端用户切换为/etc/passwd中定义的任何用户?

您能否将终端用户切换为/etc/passwd中定义的任何用户?
EN

Ask Ubuntu用户
提问于 2022-01-31 13:13:45
回答 1查看 592关注 0票数 1

上下文

这是一个非常新的问题,但我还没有完全掌握unix用户。

如果我cat /etc/passwd有不同的用户:

代码语言:javascript
复制
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用户,否则您无法登录),但是如果我尝试以下命令:

代码语言:javascript
复制
su - mongodb

它提示我输入密码。问题是在这种情况下我不知道密码。

问题

  • 但这是否意味着我可以在终端中切换到这个用户,并像systemd服务那样运行这个进程呢?
  • 因此,我们会说,除非它是/bash用户,否则您无法登录?
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2022-01-31 13:34:45

简短答覆:

如果您是超级用户(id=0)或通常称为root用户,则如果shell设置为/usr/sbin/nologin或/usr/bin/false,则无法登录该用户。

根据命令页对新词的描述:

代码语言:javascript
复制
   **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传用户,以模拟他进行故障排除。

数独:

代码语言:javascript
复制
sudo -u mongodb /bin/bash 

根:

代码语言:javascript
复制
su -s /bin/bash mongodb

上面的命令不执行登录,而只是以mongodb用户的身份执行带有用户权限的bash。

注意:通常情况下,这些用户都是无密码的,这意味着即使su进程也会要求您提供一个永远不会与空密码匹配的密码。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1390303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档