আমি কীভাবে ম্যাক ওএস এক্স 10.5 এর টার্মিনাল থেকে ব্যবহারকারী অ্যাকাউন্টগুলি তৈরি করব?


86

আমি মেশিনে ssh'ing পরে দূরবর্তীভাবে ম্যাক ওএস এক্স 10.5 এ নতুন ব্যবহারকারী তৈরি করতে সক্ষম হতে চাই। আমি এটা কিভাবে করবো?


উত্তর দেওয়ার মতো খ্যাতি আমার কাছে এখনও নেই, তবে আপনি যদি এটি single_userমোড থেকে কীভাবে করবেন (সিকিউরিটি রিসেট) সন্ধান করছেন তবে আপনাকে Command-Sঅন-স্ক্রিনের বিশদ অনুযায়ী ডিস্কে রাইট অ্যাক্সেস অর্জন করতে হবে , এবং তারপরে rm /var/db/.AppleSetupDoneযা আপনাকে একটি নতুন প্রশাসক অ্যাকাউন্ট তৈরি করতে দেয়। আশা করি এটি কাউকে সাহায্য করবে
নিউ আলেকজান্দ্রিয়া

উত্তর:


80

Dscl কমান্ড ব্যবহার করুন। এই উদাহরণটি ব্যবহারকারীকে "লুসার" তৈরি করবে, যেমন:

dscl . -create /Users/luser
dscl . -create /Users/luser UserShell /bin/bash
dscl . -create /Users/luser RealName "Lucius Q. User"
dscl . -create /Users/luser UniqueID "1010"
dscl . -create /Users/luser PrimaryGroupID 80
dscl . -create /Users/luser NFSHomeDirectory /Users/luser

তারপরে আপনি ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে পাসডওইডি ব্যবহার করতে পারেন বা ব্যবহার করতে পারেন:

dscl . -passwd /Users/luser password

আপনাকে ব্যবহারকারীর হোম ডিরেক্টরিতে / ব্যবহারকারী / লুজার তৈরি করতে হবে এবং মালিকানা পরিবর্তন করতে হবে যাতে ব্যবহারকারী এটি অ্যাক্সেস করতে পারে এবং নিশ্চিত হন যে ইউনিকআইডি আসলেই অনন্য।

এই লাইনটি প্রশাসকের গোষ্ঠীতে ব্যবহারকারীকে যুক্ত করবে:

dscl . -append /Groups/admin GroupMembership luser

7
আমি কীভাবে ইউআইডি অনন্য তা নিশ্চিত করব?
জেআর লাহোর্ন

3
কোনও স্বয়ংক্রিয় উপায় নেই; আপনি যদি এটি স্ক্রিপ্ট করেন তবে আপনি এটি "আইডি ####" কমান্ডটি চালাতে পারবেন এবং নিশ্চিত করুন যে এটি "এমন কোনও ব্যবহারকারী নয়" বা এই জাতীয় কোনও হ্যাক ফেরত এসেছে।
পামার

1
আপনার যদি অনুমতি না থাকে তবে সুডো ব্যবহার করতে ভুলবেন না।
রাফি খ্যাচাডৌড়িয়ান

বিটিডাব্লু, যেহেতু এটি হওয়া উচিত তার চেয়ে বেশি ভার্বোস, তাই আমি এই কমান্ডগুলি useraddসিনট্যাক্সে পোর্ট করেছি
জিওনগ চিয়ামিভ

1
মনে রাখবেন যে, PrimaryGroupID 80হয় admin, তাই luserব্যবহার করতে পারেন sudoযদি আপনি তাকে অ্যাডমিনিস্ট্রেটররা এর গ্রুপে যুক্ত এমনকি।
রসালো

20

(এই উত্তরটি পামারের পদ্ধতিতে কিছু ফাঁকা স্থান পূরণ করার জন্য একটি সংযোজন হিসাবে বিবেচনা করা উচিত)

আপনার নতুন ব্যবহারকারীর জন্য অব্যবহৃত ইউনিকআইডি বাছাই করতে আপনি ব্যবহার করতে পারেন:

maxid=$(dscl . -list /Users UniqueID | awk 'BEGIN { max = 500; } { if ($2 > max) max = $2; } END { print max + 1; }')
newid=$((maxid+1))

... তারপরে অ্যাকাউন্ট তৈরি করতে পামার প্রদত্ত dscl কমান্ডগুলির ক্রম ব্যবহার করুন এবং তারপরে নতুন ব্যবহারকারীর হোম ডিরেক্টরিটি তৈরি করুন:

cp -R /System/Library/User\ Template/English.lproj /Users/luser
chown -R luser:staff /Users/luser
if [[ "$(sw_vers -productVersion)" != 10.[0-5].* ]]; then
    # Set ACL on Drop Box in 10.6 and later
    chmod +a "user:luser allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" /Users/luser/Public/Drop\ Box
fi

(একটি ক্রিয়েমোডির কমান্ড রয়েছে, তবে আমি এটি পরীক্ষার সময় কার্যকর হয়নি))


1
আমি একটি স্ক্রিপ্ট তৈরি করেছি যা নতুন ব্যবহারকারীদের সাথে আমাদের ওপেন ডিরেক্টরি মাস্টারকে জনপ্রিয় করে sudo createhomedir -sতোলে এবং তারপরে ওপেন ডিরেক্টরি রেপ্লিকা / ফাইলসারে কল করুন (আইআইআরসি), এবং তারা আনন্দের সাথে হোম ডিরেক্টরিগুলি তৈরি করে create
ক্লিনটন ব্ল্যাকমোর

2
dscl -list256 ফলাফলের মধ্যে সীমাবদ্ধ, সুতরাং আপনার 256 টির বেশি ব্যবহারকারী থাকলে এই কৌশলটি একটি অনন্য ইউআইডি গ্যারান্টি দিতে ব্যর্থ হবে।
স্মোক্রিস

2 টি অতিরিক্ত পাইপ উচ্ছেদ করার জন্য ছোট কৌশল (কেবলমাত্র awk ব্যবহার করুন): dscl। -লিস্ট / ব্যবহারকারীদের ইউনিকআইডি | awk '{if ($ 2> সর্বোচ্চ) সর্বোচ্চ = max 2; } END {মুদ্রণ সর্বাধিক + 1; } '
ভল্টোনি বোয়াভেন্তুরা

নিবন্ধন করুন আমি উত্তরে এটি অন্তর্ভুক্ত করেছি (কোনও নিয়মিত অ্যাকাউন্ট না থাকলে ডিফল্ট সহ)। আমি ড্রপ বক্স এসিএল সেট করার জন্য একটি পদক্ষেপও যুক্ত করেছি (যা 10.6 এ যুক্ত হয়েছিল)।
গর্ডন ডেভিসন

8

আপনার যদি তৈরি করার মতো গুচ্ছ ব্যবহারকারী থাকে তবে একটি কাঠামোগত পাঠ্য ফাইল তৈরি করা এবং কাজটি করার dsimportজন্য এটি পাস করা সম্ভব ।

অ্যাপলের কমান্ড-লাইন অ্যাডমিনিস্ট্রেশন গাইডের ব্যবহারকারী এবং গোষ্ঠী সম্পর্কে পুরো অধ্যায় রয়েছে।


বিজোড়। অ্যাপল আপনি যে দস্তাবেজটি প্রাথমিকভাবে পরিচিত v10.5 লোপ হয়েছে বলে মনে হয়, কিন্তু v10.3 রাখা এবং কম ব্যাপক তুষার চিতা সংস্করণ
chb

7

অ্যাকাউন্ট তৈরি করার আগে একটি অনন্য ইউজার আইডি বাছাই বাছাই করার অন্য একটি উপায় হ'ল তালিকার সন্ধান করা এবং আপনি যেটি ব্যবহার করতে চান তা সেখানে নেই তা যাচাই করে দেখুন:

 sudo dscl . list /Users uid
 sudo dscl . list groups gid

আপনি যদি একটি নির্দিষ্ট আইডি ব্যবহার করতে চান প্রয়োজন


dscl -list256 ফলাফলের মধ্যে সীমাবদ্ধ, সুতরাং আপনার 256 টির বেশি ব্যবহারকারী থাকলে এই কৌশলটি একটি অনন্য ইউআইডি গ্যারান্টি দিতে ব্যর্থ হবে।
স্মোক্রিস

হ্যাঁ যে ব্যবহারকারী যোগ সবচেয়ে কম পথে এখানে ডান এখন শুধু grepসঙ্গে এটি idআপনি মনের মধ্যে ছিল জন্য নতুন ব্যবহারকারী ব্যবহার করতে
yair

7

আমি ব্যবহারকারী অ্যাকাউন্টগুলি তৈরি করার জন্য একটি দুর্দান্ত স্ক্রিপ্ট বলে মনে করি তার সাথে সামনে আসতে আমি এখানে বিভিন্ন উত্তরগুলি উপস্থাপন করেছি। স্বীকার করা, এটি ssh থেকে কোনও সময়ে কমান্ড চালানোর জন্য ডিজাইন করা হয়নি; ওএস এক্সের প্যাকেজ-ভিত্তিক চিত্র সংকলন করার সময় এটি স্ক্রিপ্ট রান হিসাবে ডিজাইন করা হয়েছে (যেমনটি ক্যাস্পার ইমেজিং বা ইন্সটাডিএমজি দ্বারা নির্মিত )।

#!/bin/bash
# This script creates a user account under Mac OS X
# (tested with 10.5 and 10.6; likely works with 10.4 but not earlier)
# Written by Clinton Blackmore, based on work at
# http://serverfault.com/questions/20702

# === Typically, this is all you need to edit ===

USERNAME=joeadmin
FULLNAME="Joe Admin"
PASSWORD="hard_to_hack"

# A list of (secondary) groups the user should belong to
# This makes the difference between admin and non-admin users.
# Leave only one uncommented
#SECONDARY_GROUPS=""  # for a non-admin user
SECONDARY_GROUPS="admin _lpadmin _appserveradm _appserverusr" # for an admin user

# ====

if [[ $UID -ne 0 ]]; then echo "Please run $0 as root." && exit 1; fi

# Find out the next available user ID
MAXID=$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -ug | tail -1)
USERID=$((MAXID+1))

# Create the user account
dscl . -create /Users/$USERNAME
dscl . -create /Users/$USERNAME UserShell /bin/bash
dscl . -create /Users/$USERNAME RealName "$FULLNAME"
dscl . -create /Users/$USERNAME UniqueID "$USERID"
dscl . -create /Users/$USERNAME PrimaryGroupID 20
dscl . -create /Users/$USERNAME NFSHomeDirectory /Users/$USERNAME

dscl . -passwd /Users/$USERNAME $PASSWORD


# Add use to any specified groups
for GROUP in $SECONDARY_GROUPS ; do
    dseditgroup -o edit -t user -a $USERNAME $GROUP
done

# Create the home directory
createhomedir -c > /dev/null

echo "Created user #$USERID: $USERNAME ($FULLNAME)"

স্ক্রিপ্টটি আপনাকে নির্দিষ্ট করতে দেয় যে কোনও দলের কোন গ্রুপের অন্তর্ভুক্ত। আমার কাছে এটি প্রদর্শিত হবে যে আপনি ওএস এক্সের যে সংস্করণটি চালাচ্ছেন তার উপর নির্ভর করে এটি পৃথক হতে পারে। idওএস এক্স 10.5 এ অ্যাডমিন হিসাবে চালিত হওয়ার চেয়ে আমি ওএস এক্স 10.6 এ অ্যাডমিন হিসাবে চালিত হওয়ার পরে আমি আলাদা ফলাফল পেয়েছি ।


অন্য উত্তরে, এলিয়ট হুঁশিয়ারি দিয়েছিল যে 'creathomedir -c' কমান্ড শেষ দিকে, আপনি যে ডিরেক্টরিতে আবদ্ধ তা সমস্ত ব্যবহারকারীদের জন্য অ্যাকাউন্ট তৈরি করবে। (ম্যান পেজে '-c' বিকল্পটি 'কেবল স্থানীয় হোম পাথের জন্য হোম ডিরেক্টরি তৈরি করে' ') আরও একটি বিকল্প রয়েছে,' -u ব্যবহারকারীর নাম ', এটি আরও ভাল কাজ করতে পারে।
ক্লিনটন ব্ল্যাকমোর

হ্যালো আমি উপরের স্ক্রিপ্টটি ব্যবহার করছি। সুতরাং এটি আমার নতুন ব্যবহারকারীকে যুক্ত করেছে তবে যখন ব্যবহারকারী তার ক্যালেন্ডারে যুক্ত হবে তখন এটি বলে যে তার অনুমতি নেই! আপনি কি আমাকে সাহায্য করতে পারেন ?

@ জিমি: আমি মন্তব্যে একটি প্রশ্ন জিজ্ঞাসা করার চেয়ে সার্ভারফল্ট এবং এই উত্তরটির সাথে একটি নতুন প্রশ্ন জিজ্ঞাসা করার পরামর্শ দেব যা খুব কমই দেখা যাবে। আমি অনুমতিগুলি সঠিক হতে আশা করব। 'চাওন' এবং 'ছোমড' ব্যবহার করা যদি আপনি এমন কোনও ফাইল সনাক্ত করতে পারেন যা সঠিক অনুমতি নেই ... তবে আমি জানি না এটি কোনটি হবে।
ক্লিনটন ব্ল্যাকমোর

dscl -list256 ফলাফলের মধ্যে সীমাবদ্ধ, সুতরাং আপনার 256 টির বেশি ব্যবহারকারী থাকলে এই কৌশলটি একটি অনন্য ইউআইডি গ্যারান্টি দিতে ব্যর্থ হবে।
স্মোক্রিস

4

আমি শুরু একটু মোড়কের সম্পর্কে dsclযে সময় লাগে useraddএর পরামিতি - এটা সম্পূর্ণ নয় (কিংবা আমার মনে হয় এটা হতে পারে যেমন কিছু জিনিস OS X এর সম্ভব নয় না), কিন্তু আমি এটা ব্যবহার কিছু ব্যবহারকারী তৈরি করতে।

সমস্ত পরামিতিগুলির জন্য ফ্রেমওয়ার্কটি রয়েছে, সুতরাং আপনি যদি গিটহাবের দুর্দান্ত ভিডিওগুলির সুবিধা নিতে চান তবে এটি করা সহজ।


চলমান # gem install osx-useradd.gemspecএ OS X এর 10.5 ফলাফলে ERROR: While executing gem ... (Gem::RemoteSourceException)এবং দ্বিতীয় লাইন HTTP Response 301 fetching http://gems.rubyforge.org/yaml
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.