मैं मैक ओएस एक्स 10.11 में टर्मिनल से उपयोगकर्ता खाते कैसे बना सकता हूं?


23

मैं मैक ओएस एक्स 10.11 में नए उपयोगकर्ताओं को मशीन में ssh'ing के बाद दूरस्थ रूप से बनाने में सक्षम होना चाहूंगा। माउंटेन लायन पर, इन चरणों को सूचीबद्ध किया गया था

चल रहा है

dscl . -create /Users/joeadmin
dscl . -create /Users/joeadmin UserShell /bin/bash
dscl . -create /Users/joeadmin RealName "Joe Admin" 
dscl . -create /Users/joeadmin UniqueID "510"
dscl . -create /Users/joeadmin PrimaryGroupID 20
dscl . -create /Users/joeadmin NFSHomeDirectory /Users/joeadmin
dscl . -passwd /Users/joeadmin password 

dscl . -append /Groups/admin GroupMembership joeadmin

उपरोक्त के बाद, उपयोगकर्ता व्यवस्थापक नहीं बनता है। आगे क्या?


1
इसके अलावा प्रासंगिक हैं Apple.stackexchange.com/questions/4814 और apple.stackexchange.com/questions/112857 और github.com/MagerValp/CreateUserPkg
bmike

जवाबों:


6

प्रलेखन में एक महत्वपूर्ण कदम का अभाव है:

reboot

या

sudo reboot

रिबूट के बाद उपयोगकर्ता सिस्टम वरीयताएँ -> उपयोगकर्ता और समूह में दृश्यमान व्यवस्थापक अधिकार प्राप्त करता है ।

लेकिन: यहां तक कि रिबूट उपयोगकर्ता के बिना किया जाता है पहले से ही व्यवस्थापक - यह सिर्फ PrefPane में दृश्यमान नहीं है। यदि आप खाता बनाने के तुरंत बाद joeadmin के रूप में लॉगिन करते हैं (उदाहरण के लिए तेज़ उपयोगकर्ता स्विचिंग) तो व्यवस्थापक की भूमिका उसके खाते के भीतर से दिखाई देती है।


अच्छा उत्तर। मैं ओपी को यह बताने के लिए टिप्पणी करने जा रहा था कि खाता क्या नहीं है, यह देखने के लिए कि वे उपयोगकर्ता या परीक्षण व्यवस्थापक सदस्यता का उपयोग कैसे कर रहे हैं में खुदाई करने के लिए नहीं दिख रहा है। वे किस तरह की जांच के आधार पर, एक लॉग आउट व्यवस्थापक के रूप में नए उपयोगकर्ता को पढ़ने के लिए सभी वे अपने वर्तमान उपयोगकर्ता के लिए की जरूरत हो सकती है ...
bmike

13

यदि आप यहां हैं और आपका सिस्टम 10.10 और नए से कुछ भी चल रहा है, तो sysadminctl कमांड आपका सबसे अच्छा दोस्त है। यह बहुत जादू करता है कि DSCL नहीं कर सकता।

यहाँ sysadminctl के लिए आउटपुट है:

sysadminctl[21233:29122637] Usage: sysadminctl
    -deleteUser <user name> [-secure || -keepHome]
    -newPassword <new password> -oldPassword <old password> [-passwordHint <password hint>]
    -resetPasswordFor <local user name> -newPassword <new password> [-passwordHint <password hint>]
    -addUser <user name> [-fullName <full name>] [-UID <user ID>] [-password <user password>] [-hint <user hint>] [-home <full path to home>] [-admin] [-picture <full path to user image>]

Pass '-' instead of password in commands above to request prompt.

तब आप करना चाहेंगे:

sudo createhomedir -c 2>&1 | grep -v "shell-init"

उपयोगकर्ताओं को जोड़ने / हटाने के लिए dseditgroup का उपयोग करें:

sudo dseditgroup -o edit -a usernametoadd -t user admin
sudo dseditgroup -o edit -a usernametoadd -t user wheel

कमांड sudo createhomedir -c 2>&1 | grep -v "shell-init"भी /var/setupएक साफ स्थापित पर एक फ़ोल्डर बनाता है
Burcardo

@Burcardo जब तक खाते काम करते हैं तब तक ठीक है, और उपयोगकर्ता अपने पासवर्ड को बदलने के लिए पासवार्ड का उपयोग कर सकते हैं। वास्तव में मेरी किसी भी मशीन में कोई भी समस्या नहीं है जो उस फ़ोल्डर के साथ बनाई जा रही है।
ub3rdud3

4

बहुत परीक्षण के बाद, मैंने टर्मिनल से उपयोगकर्ता खाते बनाने के लिए यह स्क्रिप्ट बनाई है।

LOCAL_ADMIN_FULLNAME="Joe Admin"     # The local admin user's full name
LOCAL_ADMIN_SHORTNAME="joeadmin"     # The local admin user's shortname
LOCAL_ADMIN_PASSWORD="password"      # The local admin user's password

# Create a local admin user account
sysadminctl -addUser $LOCAL_ADMIN_SHORTNAME -fullName "$LOCAL_ADMIN_FULLNAME" -password "$LOCAL_ADMIN_PASSWORD"  -admin
dscl . create /Users/$LOCAL_ADMIN_SHORTNAME IsHidden 1  # Hides the account (10.10 and above)
mv /Users/$LOCAL_ADMIN_SHORTNAME /var/$LOCAL_ADMIN_SHORTNAME # Moves the admin home folder to /var
dscl . -create /Users/$LOCAL_ADMIN_SHORTNAME NFSHomeDirectory /var/$LOCAL_ADMIN_SHORTNAME # Create new home dir attribute
dscl . -delete "/SharePoints/$LOCAL_ADMIN_FULLNAME's Public Folder" # Removes the public folder sharepoint for the local admin

आप लाइन से छुटकारा पा सकते mv / उपयोगकर्ताओं / $ LOCAL_ADMIN_SHORTNAME / var / $ LOCAL_ADMIN_SHORTNAME # चालें व्यवस्थापक घर फ़ोल्डर में / var अपने sysadminctl आदेश में एक ध्वज के साथ -घर / var / $ LOCAL_ADMIN_SHORTNAME
ub3rdud3

0

व्यवस्थापक खाता बनाने के लिए PrimaryGroupID को 80 पर सेट करना होगा ।

dscl . -create /Users/joeadmin PrimaryGroupID 80

बाहर की जाँच इस सूत्र अधिक जानकारी के लिए।

मैंने इस उद्देश्य के लिए एक पटकथा भी लिखी है। ये है जिस्ट लिंक

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.