0

假设节点以 root 身份运行,我该如何:

  • 添加新的本地 (OS) 用户帐户并获取其 uid?
  • 按名称删除帐户?

这些帐户将用于守护进程,因此它们不必是成熟的用户帐户。

在 Linux 上执行此操作是第一要务,在 OS X 上执行此操作会很好,并且支持 Windows 的超级奖励。

在 Linux 上,我想你可以 spawn useradd,但你将如何确定新用户的 uid?/etc/passwd直接修改加好友会更好(或更糟)吗?

在 Windows 上,它看起来NetUserAdd是正确的地方;有人已经写了一个插件来调用它吗?

4

2 回答 2

1

对于 Linux,一旦您创建了帐户useradd,您就可以调用getent passwd <username>以查看所有主要的相关帐户详细信息,包括第三个字段中的 uid。

例子:

# useradd -c "Jamie Carter" jamiec

# getent passwd jamiec

产量:

jamiec:x:2722:500:Jamie Carter:/home/jamiec:/bin/false

要在单行中获取 uid,您可以结合 cut 命令来获取第三个字段,同时将:其视为分隔符:

$ getent passwd jamiec | cut -d: -f 3

2722

一般来说,不直接操作 /etc/passwd 和朋友会更安全、更容易。您需要做的大部分事情可能已经在某处的系统命令中。例如,userdel <username>将按名称从 /etc/passwd 中删除一个帐户,但还负责从 /etc/groups 中删除用户,这样您就不会留下孤立的信息。(如果您编写自己的用户删除器,则必须自己处理。)

于 2013-04-29T14:46:39.517 回答
0

这是一个大而广泛的问题(MacOS、Windows、Linux 一起),但在 Macintosh 上从命令行创建新用户并非易事需要您以 root / admin 身份进行身份验证

于 2013-04-25T03:59:46.710 回答