And*_*e M 8 macos daemon user-accounts server
从命令行在MacOS X上创建用户的正确方法是什么,该命令行仅用于运行服务器应用程序?例如,Apache httpd已经有'_www'用户,但对于新应用程序,我希望它使用自己的帐户.
And*_*e M 12
没有"adduser"命令.Mac方法是使用dscl命令,它是"目录服务命令行实用程序".目录服务与LDAP概念类似,但它是一种不同的解决方案.
下面的示例将使用"mydaemon"作为预期帐户,但通常您将使用与守护程序应用程序名称匹配的值.
所有守护程序用户都以下划线为前缀,例如_www.
列出现有条目的属性:
sudo dscl . -read /Users/_www
Run Code Online (Sandbox Code Playgroud)
在创建用户之前,创建一个组,选择一个未使用的组ID(这里我们选择300):
sudo dscl . -create /Groups/_mydaemon
sudo dscl . -create /Groups/_mydaemon PrimaryGroupID 300
Run Code Online (Sandbox Code Playgroud)
完成后,我们创建一个新用户(我们使用与我们为该组所做的相同的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
Run Code Online (Sandbox Code Playgroud)
以上内容基于阅读各种信息来源并自行验证过程.我发现有用的一个参考是:
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/