ম্যাক ওএস এক্স স্নো লেপার্ড লগনের স্ক্রীন থেকে ব্যবহারকারীদের লুকান


25

একরকম, আমি আমার সুপারপ্রেসার / মূল হিসাবে আমার পোস্টগ্রিসের ভূমিকাটিতে সেট করার পরিবর্তে আমার ওএসে আমার পোস্টপ্রেস ব্যবহারকারীর জন্য একটি পাসডাব্লু সেট করতে পেরেছি। যাইহোক, এর পর থেকে, আমি সেই ব্যবহারকারীর সাথে অ্যাকাউন্ট বিভাগ এবং লগইন স্ক্রিনে প্রদর্শিত হয়ে লড়াই করছি, যা আমি সত্যিই এড়াতে চাই। আমি এটি সম্পর্কে কিছু ডক্সের মাধ্যমে পড়েছি এবং পাসওয়ার্ড সেট করে *দেওয়ার জন্য এটি ঠিক করার জন্য প্রয়োজনীয় সমস্ত কিছু হওয়া উচিত। কিন্তু dscl এর সাথে এবং ছাড়াই বেশ কয়েকটি প্রচেষ্টা করার পরেও কোনও লাভ হয়নি, আমি এমন একটি পয়েন্টে পৌঁছেছি যেখানে আমি আর কী করব জানি না।

আমি ভাবিনি যে এটি করা আরও কঠিন হবে তবে আমি স্পষ্টতই কিছু অনুভব করছি, আপনি এটি কীভাবে করবেন?


আপনার পোস্টপ্রেস ব্যবহারকারীর জন্য একটি পাসওয়ার্ড থাকা মোটেই বিশেষ খারাপ ধারণা নয়।
হাসান চপ

1
পোস্টগ্র্যাগস ডক্সটি আসলে বিপরীতে সুপারিশ করে, কেবল সিস্টেম ব্যবহারকারীরা পোস্টগ্রাগগুলি অ্যাক্সেস করতে পারে এবং সুরক্ষা ঝুঁকি মনে রাখার জন্য একটি কম পাসওয়ার্ড রয়েছে।
গুগলটারপ

আপনি কি ব্যবহারকারীকে মুছতে এবং পুনরুদ্ধার করার চেষ্টা করেছেন?
চিয়ালিয়ন

হ্যাঁ, আমি আসলে কয়েকবার চেষ্টা করেছি। পাসউইড না থাকাই যথেষ্ট নয় বলে আপনাকে কোনওভাবে পাসউডকে সেট করতে হবে। এই ব্যথা পয়েন্টটি আমি কাটিয়ে উঠতে পারিনি।
googletorp

উত্তর:


31

লগ-ইন উইন্ডোতে সিস্টেম ব্যবহারকারীদের (যদি তাদের আইডি <500 হয়) লুকানোর পক্ষে সবচেয়ে সহজ পদ্ধতিটি নিম্নলিখিত কমান্ডটি চালানো হয়:

sudo defaults write /Library/Preferences/com.apple.loginwindow Hide500Users -bool TRUE

বিকল্পভাবে আপনি নিজে চালিয়ে কেবল ব্যবহারকারী নামটি গোপন করতে পারেন

sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add '_postgres'

লগইন উইন্ডো থেকে 'অন্য ...' আইটেমটি আড়াল করতে যদি প্রয়োজন হয়:

sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE

2
এটি কিছুটা হ্যাকি সমাধান এবং আসলে সমস্যাটি "সমাধান" করে না, এটি কেবল লক্ষণগুলি গোপন করে। আমার কাছে মাইএসকিএল এবং হোয়াট নোটের মতো স্টাফের জন্য প্রচুর সিস্টেম ব্যবহারকারী রয়েছে এবং তাদের পাসওয়ার্ড '*' হিসাবে চিহ্নিত থাকায় তারা প্রদর্শিত হবে না। এটি আমার পোস্টগ্রিজ ব্যবহারকারীর জন্য অর্জন করার চেষ্টা করছি। আপনার সমাধানটি যদি খারাপ হয় তবে আমি যদি অন্য ব্যবহারকারীদের আমি আড়াল করতে চাইতাম তবে অন্যকে ব্যবহার করে লগইন করতে সক্ষম হব। আমি সত্যিই মূলটিতে যেতে চাই এবং সমস্যাটি লুকানোর পরিবর্তে এটি ঠিক করতে চাই।
googletorp

1
এটি একটি দুর্দান্ত উত্তর, এবং আমার প্রশ্নের সঠিক উত্তর দিয়েছে answered তবে আপনি সম্ভবত সঠিক যে আপনি জিজ্ঞাসা করা প্রশ্নটি ঠিক নয়।
বিল মিশেল

3
লুকানো 500 ব্যবহারকারীর পতাকা আর সিংহের অধীনে কাজ করবে বলে মনে হচ্ছে না। কেবলমাত্র দুটি কমান্ড সিংহের পক্ষে কাজ করে
অ্যান্টনি

মনে রাখবেন যে আপনার যদি ফাইলভল্ট 2 চালু থাকে তবে এটি প্রাথমিক বুট স্ক্রিনে ব্যবহারকারীকে আড়াল করবে না।
জেমস ম্যাকমাহন

12
dscl . create /Users/test
dscl . create /Users/test UniqueID 420
dscl . create /Users/test PrimaryGroupID 420
dscl . create /Users/test UserShell /bin/bash
dscl . create /Users/test NFSHomeDirectory /tmp
dscl . create /Users/test RealName Test
dscl . create /Users/test Password test

এটি এমন একটি ব্যবহারকারী তৈরি করে যা সিসপ্রেস / অ্যাকাউন্টগুলিতে দৃশ্যমান।

dscl . create /Users/test Password "*"

এটি ব্যবহারকারীকে আড়াল করে। নিশ্চিত করুন যে আপনি "*" উদ্ধৃত করেছেন বা এটি কাজ করবে না।

সম্পাদনা : আমি ঘটনাক্রমে গুগলটারের পরিস্থিতি পুনরায় তৈরি করতে সক্ষম হয়েছি যাতে কোনও ব্যবহারকারীর তার পাসওয়ার্ড "*" এ সেট করে লুকিয়ে রাখতে না পারে এবং কীভাবে এটি ঠিক করতে হয় তা আবিষ্কার করেছি। এবার, আমি এইভাবে ডিএসিম্পোর্ট ব্যবহার করে একটি ব্যবহারকারী তৈরি করেছি:

dsimport /dev/fd/0 /Local/Default I --template StandardUser << EOF
test:*:520:520:Test user:/Users/test:/bin/bash
EOF

তবে সেই কমান্ডে, * কে আক্ষরিক এক-বর্ণের পাসওয়ার্ড উপস্থাপন করার জন্য নেওয়া হয় *, এবং তাই ডিএসম্পোর্ট ব্যবহারকারীর জন্য একটি প্রমাণীকরণ-অনুমোদন সম্পত্তি তৈরি করে এবং পাসওয়ার্ডের বৈশিষ্ট্যটির ছায়া হ্যাশে সেট করে *(যা ********সমস্ত ক্ষেত্রে ডেস্কলএল হিসাবে প্রদর্শিত হয়) পাসওয়ার্ড)। তারপরে, dscl ব্যবহার করে "*" তে পাসওয়ার্ড সেট করার চেষ্টা করা পাসওয়ার্ডটি *অক্ষম করার পরিবর্তে আক্ষরিক পাসওয়ার্ডটি সেট করে রাখে । সমাধানটি হ'ল অবাঞ্ছিত সম্পত্তি মুছুন এবং তারপরে পাসওয়ার্ডটি অক্ষম করুন:

sudo dscl . delete /Users/test AuthenticationAuthority
sudo dscl . create /Users/test Password "*"

এটি ব্যবহারকারীকে আড়াল করে।


উদ্ধৃতিগুলির পরিবর্তে, আপনি কি তারকাকে পালানোর চেষ্টা করেছেন? dscl . -create /Users/test Password \*
এরিক 3

যতক্ষণ dscl "পাসওয়ার্ড" এর পরে একটি আক্ষরিক "*" দেখবে, ততক্ষণ কিছু যায় না।
ল্যাক

7

যদি আপনি একটি টেকসই সমাধান খুঁজে পেলাম না, (অথবা ক্ষেত্রে অন্য কারো Google থেকে এই প্রশ্নের খুঁজে বের করে) ব্যবহারকারীর শেল সেটিং /usr/bin/false এটা লগইন স্ক্রীন থেকে লগিং ইন তাকে বাধা দেয় এবং চামড়া এবং System Preferences থেকে। এটি করতে, নিম্নলিখিত কমান্ড লাইনটি ব্যবহার করুন:

sudo dscl . -change /Users/[username] UserShell /bin/bash /usr/bin/false

এবং পরিবর্তনটি ফিরিয়ে আনতে:

sudo dscl . -change /Users/[username] UserShell /usr/bin/false /bin/bash

[username]আপনি যে ব্যবহারকারীর নামটি গোপন করতে চান তার নাম কোথায় ( _postgresআপনার ক্ষেত্রে আমি ধরে নিই)। আমি জানি না কেন dsclপ্রথমে পুরানো মানটি চায় তবে ম্যানপেজটি এটিই বলে এবং এটি বেশ ভালভাবে কাজ করে।


1
এই সমাধানটি খুব দুর্বল কারণ এটি ব্যবহারকারীর জন্য শেলটি অক্ষম করে, যে জিনিসটি আমি এটির জন্য ব্যবহার করতে চাই। আমি যদি ডেটাবেস ইত্যাদি পুনরায় চালু করতে চাই তবে
googletorp

@googletorp: আপনি এখনও sudo -s -u _postgresপ্রশাসক অ্যাকাউন্ট থেকে শেল হিসাবে পেতে পারেন _postgres; UserShellএটি সেট করা থাকলেও এটি কাজ করবে /usr/bin/false। এছাড়াও, "পাসওয়ার্ড নেই" এর পাসওয়ার্ডটি সেট করে না, আপনি যেমন চেষ্টা করার পরেও অ্যাকাউন্টটি অক্ষম করে?
জোনাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.