/etc/passwd 文件中的所有用户是什么?

/etc/passwd 文件中的所有用户是什么?

/etc/passwd 应该为系统中的每个用户设置一行。除了常用用户名和 root 之外,还有许多其他用户。以下是一些示例:

timidity:x:114:127:TiMidity++ MIDI sequencer service:/etc/timidity:/bin/false
liquidsoap:x:115:128::/usr/share/liquidsoap:/bin/false
statd:x:116:65534::/var/lib/nfs:/bin/false
gdm:x:117:131:Gnome Display Manager:/var/lib/gdm:/bin/false
mysql:x:118:133:MySQL Server,,,:/nonexistent:/bin/false
  1. 这些用户的目的是什么?
  2. 我如何以 mysql 或 gdm 身份登录?密码是什么?

答案1

它们就是所谓的“服务账户”,用于分离权限(例如,mysql 无法读取它不拥有的文件)。

由于条目的原因,它们无法以交互方式登录/bin/false。相反,它们仅用于访问相应的文件。

答案2

这些帐户用于在后台运行服务。您的 Linux 系统将有一系列应用程序在后台执行一系列任务,正如您正确识别的 SQL 就是这样一种服务。为了使这些服务能够执行活动,必须附加一个用户。

为了保护系统的安全,这些任务不能以 root 身份执行,而是分配给没有 shell 或登录访问权限的账户,如/bin/false/sbin/nologin。这还允许仅向每个应用程序使用的文件分配权限。

由于此原因,您无法以这些用户的身份登录。

来源 -linuxquestions.com

答案3

这些用户不是传统意义上的交互式用户,而是在您的机器上运行服务的用户。因此,您无法轻易以这些用户的身份登录,也不应该这样做。这些帐户要么没有密码(登录被禁用),要么有随机生成的密码。root 可以使用 su 调用无密码帐户(通常在启动时)来运行实际服务。

相关内容