উত্তর:
প্যাকেজটি dpkg
(সহ apt install
) ইনস্টল করা থাকলে এটি যুক্তিসঙ্গতভাবে নির্ভরযোগ্যভাবে কাজ করবে । ডিফল্ট উবুন্টু ইনস্টলেশন এবং তাদের তৈরি করা প্যাকেজটিতে ব্যবহারকারীর তালিকার জন্য মুড়ুর উত্তর দেখুন । এই ব্যবহারকারীদের জন্য, এই পদ্ধতিটি কোনও আউটপুট উত্পাদন করবে না।
আপনি কমান্ডটি ব্যবহার করতে পারেন:
grep -RlE '(adduser|useradd).*systemd' /var/lib/dpkg/info --include='*inst' | sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'
<user>
আপনার আগ্রহী ব্যবহারকারীর নামটি প্রতিস্থাপন করুন , উদাহরণস্বরূপ,systemd
এই অনুসন্ধান preinst
এবং postinst
পরিচিত সব প্যাকেজ স্ক্রিপ্ট dpkg
জন্য adduser
অথবা useradd
, কমান্ড প্রশ্নে ব্যবহারকারী দেখুক প্যাকেজ ব্যবহারকারী তৈরি করার জন্য দায়ী। ফলাফলটি পাইপ করা হয় যাতে এটি স্ক্রিপ্ট ফাইলের পুরো নামের পরিবর্তে কেবল প্যাকেজের নামই দেয় returns
grep -RlE
পুনরাবৃত্তভাবে অনুসন্ধান করুন এবং কেবল ম্যাচযুক্ত ফাইলগুলির নাম মুদ্রণ করুন, বর্ধিত নিয়মিত এক্সপ্রেশন ব্যবহার করুন'(adduser|useradd).*<user>' /var/lib/dpkg/info --include='*inst'
অনুসন্ধান adduser
বা useradd
কমান্ড ব্যবহারকারী আপনাকে একই লাইনে খুঁজতে চান ( .*
তাদের মধ্যে যে কোন অক্ষর মেলে করবে কোনো কমান্ড অপশন সংক্রামক) ডিরেক্টরির মধ্যে যেখানে dpkg
দোকানে স্ক্রিপ্ট, ফাইল যার নামের সাথে শেষinst
sed -r 's:.*/(.*)\.[-a-z]+inst:\1:'
/
পুরো পথ এবং শেষ .preinst
বা .postinst
প্রসারের সর্বশেষ সহ & আগে সমস্ত কিছু কেটে ফেলুনfind
এখানে ব্যবহার করার চেয়ে সুন্দর ও দ্রুততর অনুসন্ধানের পরামর্শ দেওয়ার জন্য @ মুরুকে ধন্যবাদ জানাই :)
grep -Rl 'adduser.*<user>' /var/lib/dpkg/info --include='*inst'
find -exec grep
জিনিস সহজ করতে ।
basename -s
গ্রহণ করতে ওয়াইল্ডকার্ড / Regex ...) তাই আমি এটা প্রি ও পোস্ট প্রত্যয় Inst কেটে (কিন্তু আমি adduser সঙ্গে কোনো preinst স্ক্রিপ্ট খুঁজে পাইনি করতে পারেন, যাতে অসহায়তা )
postinst
, সুতরাং আপনি যেগুলি ব্যবহার করেন তা খুঁজে পাওয়ার সম্ভাবনা নেই preinst
(তবে আমি মনে করি বিরল কেসটি উপস্থিত থাকতে পারে)।
এখানে সাধারণ- adduser
সংযোজিত ব্যবহারকারী এবং গোষ্ঠীগুলির জন্য একটি গুরুত্বপূর্ণ ব্যতিক্রম রয়েছে : যেগুলি উবুন্টুর সাথে ডিফল্টরূপে আসে। এগুলি base-passwd
প্যাকেজ দ্বারা সরবরাহ করা হয় । এই প্যাকেজটি দ্বারা যুক্ত ব্যবহারকারী এবং গোষ্ঠীর একটি তালিকা দেওয়া হয়েছে (এবং বর্ণিত) /usr/share/doc/base-passwd/users-and-groups.{html,txt.gz}
। তালিকাটি হ'ল:
root man majordom irc gdm
daemon lp postgres gnats saned
bin mail www-data nobody klog
sys news backup messagebus syslog
sync uucp operator postfix
games proxy list haldaemon
adm fax audio staff sshd
tty voice src users fetchmail
disk cdrom shadow lpadmin cupsys
kmem floppy utmp sasl nogroup
dialout tape video scanner
dip sudo plugdev ssh
README ( /usr/share/doc/base-passwd/README
) প্যাকেজটি ইউআইডি সহ 60000-64999 পরিসরে কিছু ব্যবহারকারীকে তালিকাভুক্ত করে এবং উল্লেখ করে যে এগুলি প্যাকেজগুলি তৈরি করে।
আরও দেখুন:
base-passwd
14.04 এর উত্স কোড - আপনি *.master
ফাইলগুলিতে ব্যবহারকারী এবং গোষ্ঠীর তালিকা দেখতে পারেন ।
preinst
সেই স্ক্রিপ্টটিতে কিছু প্যাকেজ ব্যবহারকারী তৈরি করার কারণে আপনারও পরীক্ষা করা উচিত । তবে আমি ধারণাটি পেয়েছি তাই আমি এটি গ্রহণ করব।