不使用useradd / adduser将用户添加到系统的步骤是什么?


10

我浏览了一些Linux问题,并看到了这个有趣的问题。

不使用useradd/ 将用户添加到系统的步骤是什么adduser

我想到的一种可能的方法是,

  • /etc/passwd文件中为用户添加一个条目。
  • /etc/group文件中为该组添加一个条目。
  • 为添加的用户创建主目录。
  • 使用passwd命令设置新的用户密码。

我测试了上述方法,效果很好。

这是唯一可能的方法,还是有其他解决方法可以实现?


4
好问题,但是这在什么地方有用?
2014年

1
@Networker,从我在答案中发布的同一链接中,我也找到了此信息。有时有必要创建未被人使用的虚拟帐户。例如,设置一个匿名FTP服务器
Ramesh 2014年

2
@Networker,可能是实际情况,可能没有用。但是,在某些面试问题中还是有用的,这正是我最初提出该问题的地方。serverfault.com/a/225954
Ramesh,2014年

1
感谢您的解释,您的回答确实很有用,以后我会尝试。
2014年

2
@Networker:这里是一个用例:Win10上的WSL Ubuntu拒绝工作,抱怨锁定文件,并在删除上述文件后继续拒绝工作(以root身份工作)。我敢打赌它与Win10版本有关,但我现在无法更新。因此,在这种情况下,我将使用此方法。
runlevel0

Answers:


13

添加用户的可能方式与我在问题中提出的方式大致相同。我从这里得到了这种方法。

若要手动创建一个新帐户,请按照下列步骤操作:

编辑/etc/passwdvipw和添加一个新行新帐户。请注意语法。不要直接使用编辑器进行编辑。vipw锁定文件,以便其他命令不会尝试同时更新它。您应该将密码字段设置为“ *”,以便无法登录。

同样,编辑/etc/groupvigr,如果你需要创建一个新的组为好。

使用创建用户的主目录mkdir

将文件从复制/etc/skel到新的主目录。

使用chown和修复所有权和权限chmod。该-R选项最有用。正确的权限从一个站点到另一个站点略有不同,但是通常以下命令可以正确执行操作:

  • cd /home/newusername
  • chown -R username.group .
  • chmod -R go=u,go-w .
  • chmod go= .

用设置密码passwd

在最后一步中设置密码后,该帐户即可使用。在完成所有其他操作之前,您不应该进行设置,否则在您仍在复制文件时,用户可能会无意中登录。


:应该用来代替.组中的用户名吗?
pqnet 2014年

@pqnet是的,请使用:
乔尼,

tnx @Ramesh用于此问题和材料。
Karthik Nedunchezhiyan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.