গ্রুপ কমান্ড ব্যবহারের সম্ভাব্যতা বাদ দেওয়ার জন্য ওপি প্রশ্নের উত্তর দিয়েছিল । যেহেতু এটি লিনাক্সের কোর্টিলগুলির অংশ, সুতরাং (ক) এটি সরানো হয়েছে, বা (খ) ওপি নামটি ভুল টাইপ করছে।
ওপি যেমন ব্যবহার করতে পারত groups
, উদাহরণস্বরূপ:
for name in $(cut -d: -f1 /etc/passwd);do groups $name|grep -w sudo|awk '{print $1;}';done
একটিতে গ্রুপের নামটির জন্য উত্তরের প্রস্তাব দেওয়া হয়েছে /etc/group
। কখনও কখনও যে হিসাবে কাজ করে।
গ্রেপের কিছুটা উন্নত ব্যবহারের বাক্য গঠনটি আমলে নেয় /etc/group
:
group_name:password:GID:user_list
যাতে প্রথম কোলনের আগের অংশটি একটি বৈধ গ্রুপ-নাম। সিনট্যাক্স বিবেচনা না করে একটি সরল গ্রেপ ফাইল থেকে বিভ্রান্তিকর মিলগুলি তুলতে পারে (এবং করবে)। গ্রেপ ম্যাচটি ঠিক কী প্রয়োজন তা তৈরি করতে নিয়মিত এক্সপ্রেশন ব্যবহার করুন:
grep -E '^users:' /etc/group |sed -e 's/^.*://'
বা শেল ভেরিয়েবল ব্যবহার:
grep -E '^'$groupname':' /etc/group |sed -e 's/^.*://'
তবে, এটি কেবলমাত্র ডিফল্ট গোষ্ঠীতে নয় এমনদের তালিকাবদ্ধ করে । যোগ করার জন্য ঐ , আপনার কাছ থেকে গ্রুপ-আইডি নম্বর আহরণের দ্বারা, পাসওয়ার্ড ফাইল, যেমন বিবেচনা করা প্রয়োজন /etc/group
, এবং ব্যবহারকারীদের যার ডিফল্ট গ্রুপ থেকে ম্যাচ মুদ্রণ /etc/passwd
, যেমন,
grp=$(awk -F: '$1 ~ /^users$/ {print $3; }' </etc/group)
awk -F: '$4 ~ /^'$grp'$/ { print $1; }' </etc/passwd
আপনি কেবল গ্রেপ এবং সেড ব্যবহার করে একই জিনিসটি করতে পারতেন তবে এটি awk ব্যবহারের চেয়ে বেশি কাজ।
ব্যবহার করে প্রস্তাবিত আরেকটি প্রস্তাবিত উত্তর getent
, এটিও লিনাক্স মেশিনে থাকার সম্ভাবনা রয়েছে (দেবিয়ান সহ এটি জিএনইউ লিবিসি-র অংশ)। তবে এটির একটি দ্রুত চেক দেখায় এটি কেবল /etc/group
সামগ্রী সরবরাহ করে।
আমার (বেশিরভাগের মতো) ইনস্টল libusers
বা lid
ইনস্টল নেই, তাই এটি ওপির শর্তাদি সন্তুষ্ট করে কিনা সে বিষয়ে আমি মন্তব্য করতে পারি না।
রয়েছে id
প্রোগ্রাম, যা গ্রুপ তথ্য দেয়। সম্ভাব্য উত্তর হিসাবে কেউ এর উপর প্রসারিত হতে পারে।
groups
হুকুম। লিনাক্সে এটি না থাকার সম্ভাবনা কম, কারণ এটি কোর্টিলের অংশ।