2015-09-27 3 views
5

कमांड लाइन से मैकोज़ एक्स पर उपयोगकर्ता बनाने का सही तरीका क्या है, जिसका उपयोग केवल एक सेवर एप्लिकेशन चलाने के लिए किया जाएगा? उदाहरण के लिए, अपाचे httpd के लिए पहले से ही '_www' उपयोगकर्ता है, लेकिन नए एप्लिकेशन के लिए मैं इसे अपने खाते का उपयोग करना चाहता हूं।मैकोज़ एक्स पर, डेमॉन चलाने के लिए उपयोगकर्ता बनाएं?

उत्तर

7

कोई "adduser" कमांड नहीं है। मैक दृष्टिकोण dscl कमांड का उपयोग करना है, जो "निर्देशिका सेवा कमांड लाइन उपयोगिता" है। निर्देशिका सेवाएं एलडीएपी को धारणा में समान है, लेकिन यह एक अलग समाधान है।

नीचे दिए गए उदाहरण 'mydaemon' का उपयोग इच्छित खाते के रूप में करेंगे, हालांकि आमतौर पर आप अपने डेमॉन एप्लिकेशन के नाम से मेल खाने वाले मान का उपयोग करेंगे।

सभी डेमॉन उपयोगकर्ता अंडरस्कोर के साथ प्रीफ़िक्स किए गए हैं, जैसे कि _www।

मौजूदा प्रविष्टि पर विशेषताओं को सूचीबद्ध करने के:

sudo dscl . -read /Users/_www 

एक उपयोगकर्ता बनाने से पहले, एक अप्रयुक्त समूह आईडी चुनने एक समूह बनाने के (यहाँ हम 300 चुना है):

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

करने के बाद, हम एक नया उपयोगकर्ता बनाते हैं (हम उसी आईडी का उपयोग करते हैं जैसा हमने समूह के लिए किया था, जो एक खोल का उपयोग नहीं करेगा:

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 की जीयूआई संस्करण (स्थान MacOS एक्स 10.10 के आधार पर):

/सिस्टम/पुस्तकालय/CoreServices/अनुप्रयोग/निर्देशिका \ Utility.app/

+0

आखिरी इस्तेमाल किया गया जीआईडी ​​'dscacheutil -q समूह' कमांड के साथ पाया जा सकता है। grep gid | tail -n 1' – Sphinges

+1

[@sphinges] द्वारा सुझाए गए आदेश (https://stackoverflow.com/users/1710017/sphinges) गलत है। समूह आईडी को आरोही क्रम में सूचीबद्ध नहीं किया गया है, इसलिए अंतिम, लेकिन जरूरी नहीं है कि उच्चतम '' dscacheutil -q समूह लौटा दिया जाए। grep gid | अजीब '{प्रिंट $ 2}' | sort -n | tail -n 1''' को बेहतर काम करना चाहिए, हालांकि मैं पिछले 15 या उससे अधिक के बाद देखना पसंद करता हूं, क्योंकि 260 से ऊपर वे काफी स्पैस '' 'dscacheutil -q समूह हैं। grep gid | अजीब '{प्रिंट $ 2}' | sort -n | tail -n 15''' – Scott

संबंधित मुद्दे