টার্মিনালে আমি কীভাবে সমস্ত ব্যবহারকারীর অ্যাকাউন্টগুলির তালিকা করতে পারি?


74

আমি কীভাবে টার্মিনালে সমস্ত স্থানীয় ব্যবহারকারীর অ্যাকাউন্টগুলি তালিকাভুক্ত করতে পারি (লগ ইন করা আছে বা না?) আদেশগুলি এই তথ্য সরবরাহ করে না usersবা সরবরাহ whoকরে না। ওএস এক্স সংস্করণটি 10.6.8।

আমি এই প্রস্তাবিত আদেশটি দেখেছি - dscacheutil -q group

তবে এটি কেবলমাত্র ডোমেন ব্যবহারকারী গোষ্ঠী এবং অ-স্থানীয় অ্যাকাউন্টগুলি তালিকাভুক্ত করে।


1
দীর্ঘ সময়ের এআইএক্স ব্যবহারকারী হিসাবে, আমি নিশ্চিত যে তারা তাদের ইউনিক্সে বেকড সিস্টেম পরিচালনার আদেশগুলি মিস করে। lsuser এই উদ্দেশ্যে ভাল লাগবে।
bmike

উত্তর:


68

কেমন

dscacheutil -q user | grep -A 3 -B 2 -e uid:\ 5'[0-9][0-9]'

আমি এই বিকল্পটি পছন্দ করি। যদিও এটি আন্ডারস্কোর দিয়ে শুরু করে একগুচ্ছ অ্যাকাউন্ট ফেরত দেয়। এটিকে ফিল্টার করার কোনও উপায়? যেমন _সফটওয়্যারআপডেট, _ মাইএসকিএল
কোডেকভয়

9
dscl . list /Users | grep -v ^_.*
গ্রেপের

খুব ঠান্ডা! আমি এই এক মনে রাখতে হবে।
ডেভিজেক

5
স্মৃতিতে প্রতিশ্রুতিবদ্ধ করা এটি খুব সহজ।
কেলি

41

আর একবার চেষ্টা কর. আমি এটি হারিয়ে যাওয়া লুকানো অ্যাকাউন্ট খুঁজে পেতে ব্যবহার করেছি।

dscl . list /Users | grep -v '^_'

3
@ মার্ক এখানে যা বলেছিল তা অবিকল এটি ।
এমিল

লুকানো অ্যাকাউন্টের বিন্দু কী?
সুপারউবারডুপার

পাশাপাশি ইউআইডি দেখতে, ব্যবহার করুনdscl . list /Users UniqueID | grep -v '^_'
মারিওন আর্নে

যদি ব্যবহারকারী সেখানে না থাকে?
ক্যামেরনরো

10

10.6 সাল থেকে ব্যবহারকারীর অ্যাকাউন্টগুলি ওপেন ডিরেক্টরি দ্বারা পরিচালিত হচ্ছে। ওপেনডাইরেক্টরির ব্যবহারকারীদের সাথে সম্পর্কিত ব্যাকএন্ড ফাইলগুলি এখানে রয়েছে:

/var/db/dslocal/nodes/Default/users

ls *এই ডিরেক্টরিতে কার্যকর করা সিস্টেমে নিবন্ধিত সমস্ত স্থানীয় ব্যবহারকারীকে গণনা করবে। এক্সিকিউট করা plutil -p <file>.plistআপনাকে নির্দিষ্ট ব্যবহারকারীর অ্যাকাউন্টের (যেমন বর্তমান হোম ডিরেক্টরি পাথ) কিছু সম্পত্তি পড়তে দেয়।

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


আমি এটি পছন্দ করি তবে এটির জন্য সুডো / রুট প্রয়োজন, স্ট্যান্ড প্রশাসক ব্যবহারকারীর অনুমতি ত্রুটি পেয়েছে। dsclস্টাড অ্যাডমিনের জন্য কাজ করে।
জেএল পেয়ারেট 12'17

6

dscacheutil কেবল স্থানীয় ব্যবহারকারীর চেয়ে বেশি ফেরত দেয়, উদাহরণস্বরূপ যে কোনও ব্যবহারকারীর জন্য আমি ডিরেক্টরি পরিষেবাদি অনুসন্ধানের জন্য জিজ্ঞাসা করেছি।

আমি এটি আরও দরকারী খুঁজে পেয়েছি:

dscl . list /Users | grep -v "^_"

যদিও এছাড়াও লাইক ফেরৎ daemon, nobodyএবং root


4

জেএমটিসিডাব্লু একটি কমান্ড লাইন বন্ধুত্বপূর্ণ /etc/passwdসমতুল্য পুনরায় তৈরি করতে (যদিও একই ক্রমে যথেষ্ট নয়):

dscacheutil -q user |
    paste -d " "  - - - - - - - - |
    sed 's/^name: //;s/ [^[:space:]]*: /:/g'

অথবা আপনি যদি কোনও স্থান পৃথক আউটপুট পছন্দ করেন (তবে GECOS ফিল্ড পার্স করা কিছুটা জটিল হবে:

dscacheutil -q user |
    cut -d: -f2 |\
    paste -d " "  - - - - - - - -

2

যদি কোনও ব্যবহারকারীর হোম ডিরেক্টরিগুলি সরানো না হয় তবে তা ls /usersকরবে। এটি বাদে 'ভাগ করে নেওয়া' এর মতো ডিরেক্টরিগুলিও তালিকাভুক্ত করবে।


2
এটি কখনও করবেন না। সেখানে Sharedথাকতে পারে এমন অনেক কিছুই রয়েছে।
হ্যামস্টারজিন

-3

আপনি টাইপ করতে পারেন:

whoকে আপনাকে লগ ইন করেছে এবং তারা কোথা থেকে আসছে তা আপনাকে জানিয়ে দেয়। আপনি যদি সেই একই ভবনে প্রকৃত পক্ষে শারীরিকভাবে এমন কাউকে বা অন্য কোনও নির্দিষ্ট জায়গায় সন্ধান করেন তবে দরকারী।

wকে আপনাকে লগ ইন করেছে এবং তারা কী করছে তা বলে। বিশেষত দরকারী: 'নিষ্কলুষ' অংশ। এটি আপনাকে এই মুহূর্তে তাদের কী-বোর্ডে টাইপ করে সেখানে বসে আছে কিনা তা দেখার অনুমতি দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.