從命令行創建MacOS X用戶的正確方法是什麼?只能用於運行服務器應用程序?例如,Apache httpd已經有'_www'用戶,但是對於新應用程序,我希望它使用自己的帳戶。在MacOS X上創建運行守護進程的用戶?
5
A
回答
7
沒有「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,不會使用外殼:
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
注,還有(基於MacOS X的10.10位置)DSCL的GUI版本:
/系統/圖書館/ CoreServices /應用/目錄\ Utility.app/
相關問題
- 1. Python:在Windows7中運行守護進程
- 2. 創建守護進程線程
- 3. Cron守護進程正在運行,系統日誌守護進程正在運行,但cron不會運行
- 4. 創建自定義Ubuntu守護進程
- 5. fork創建守護進程失敗
- 6. heroku運行一個守護進程
- 7. 通過rsh運行守護進程
- 8. 將SBT作爲守護進程運行
- 9. 像守護進程運行solr
- 10. Celeryd運行多個守護進程
- 11. 運行web.py作爲守護進程
- 12. 運行Django FCGI守護進程同時
- 13. 運行celeryd_multi作爲守護進程
- 14. 在守護進程線程中創建的進程的主線程是守護進程本身嗎?
- 15. 如何運行docker守護進程?
- 16. 如何以特定用戶身份運行Ruby守護進程?
- 17. 如何在Java中創建用戶定義的守護進程線程?
- 18. 在Ubuntu上運行Sidekiq作爲守護進程
- 19. 如何在Linux上運行守護進程?
- 20. 可以在React上運行守護進程嗎?
- 21. 我想在共享主機上運行PHP守護進程?
- 22. 在Linux上運行jar文件作爲守護進程Ubuntu
- 23. 如何在Windows上運行Apache Ignite作爲守護進程
- 24. 在raspban上運行一個php腳本作爲守護進程
- 25. 什麼是創建Python守護進程的事實上的庫
- 26. 寶石守護程序 - 如何運行幾個不同的守護進程
- 27. 爲Mac OS X安裝守護進程
- 28. OS X雙叉 - 守護進程腳本
- 29. 爲正在運行的守護進程啓用PAM配置(limits.conf)
- 30. 使用gdb調試正在運行的守護進程
最後使用的GID可以通過命令'dscacheutil -q group | grep gid | tail -n 1' – Sphinges
[@sphinges](https://stackoverflow.com/users/1710017/sphinges)建議的命令是錯誤的。組ID不一定按升序排列,所以最後一個,但不一定是最高的'''dscacheutil -q group | grep gid | awk'{print $ 2}'| sort -n | tail -n 1'''應該可以更好地工作,儘管我更喜歡看到最後15個左右,因爲在260以上,它們往往很稀疏''''dscacheutil -q group | grep gid | awk'{print $ 2}'| sort -n |尾巴-n 15''' – Scott