在MacOS X上创建用于运行守护程序的用户?

时间:2015-09-27 17:48:12

标签: macos server daemon user-accounts

从命令行在MacOS X上创建用户的正确方法是什么,该命令行仅用于运行服务器应用程序?例如,已有Apache httpd的'_www'用户,但对于新应用程序,我希望它使用自己的帐户。

1 个答案:

答案 0 :(得分:11)

没有" adduser"命令。 Mac方法是使用dscl命令,它是"目录服务命令行实用程序"。目录服务与LDAP概念类似,但它是一种不同的解决方案。

以下示例将使用' mydaemon'作为预期帐户,尽管通常使用与守护程序应用程序名称匹配的值。

所有守护程序用户都以下划线为前缀,例如_www。

列出现有条目的属性:

   sudo dscl . -read /Users/_www

在创建用户之前,请创建一个组,选择一个未使用的组ID(这里我们选择300):

   sudo dscl . -create /Groups/_mydaemon
   sudo dscl . -create /Groups/_mydaemon PrimaryGroupID 300

完成后,我们会创建一个新用户(我们使用与我们为该组所做的相同的ID,但不会使用shell:

   sudo dscl . -create /Users/_mydaemon UniqueID 300
   sudo dscl . -create /Users/_mydaemon PrimaryGroupID 300
   sudo dscl . -create /Users/_mydaemon UserShell /usr/bin/false

以上内容基于阅读各种信息来源并自行验证过程。我发现有用的一个参考是:

http://minecraft.gamepedia.com/Tutorials/Create_a_Mac_OS_X_startup_daemon

注意,还有dscl的GUI版本(基于MacOS X 10.10的位置):

/ System / Library / CoreServices / Applications / Directory \ Utility.app /