আমার নিয়মিত ব্যবহারকারীদের ছায়ায় আসার জন্য অজানা


8

আমার একটা স্ক্রিপ্ট আছে

আমি আমার সমস্ত নিয়মিত ব্যবহারকারীর কাছ থেকে পেতে চাই /etc/shadoweg উদাহরণস্বরূপ সমস্ত ব্যবহারকারী যা ছায়া ফাইলের মধ্যে দ্বিতীয় শব্দটি শুরু হয় $বা এর সাথে !$

আমার প্যাটার্নটি হ'ল

sudo getent shadow | awk -F: '$2 ~ /^$/ || /^!$/ {print $1}'

এটি আপাতত কাজ করে না।


এটা কি বিশ্রী হতে হবে? :-)
রিনজুইন্ড 13

উত্তর:


11

আপনার $"অবসান" হওয়া উচিত , কারণ এটি "লাইনের সমাপ্তি" এর মতো একটি বিশেষ চর, "লাইনের শুরু" ^is

sudo getent shadow | awk -F: '$2 ~ /^\$/ || $2 ~  /^!\$/ {print $1}'

+1 ভাল ক্যাচ :)
রিনজউইন্ড

ধন্যবাদ, এটি কাজ করে। আমি কেবল রুট ব্যবহারকারীকে অন্তর্ভুক্ত করার দরকার নেই
ডানাসো

1
সরলীকৃত: awk -F: '$2 ~ /^!?\$/ {print $1}'- এটি দুটি ম্যাচের পরীক্ষার সংমিশ্রণ করে এবং বলছে "মাঠের শুরুতে একটি ডলারের চিহ্নটি মেলে, allyচ্ছিকভাবে ( ?) এর আগে একটি !"
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত থামে।

4

পাসওয়ার্ড সেট সহ সমস্ত ব্যবহারকারীকে এইভাবে তালিকাভুক্ত করা যেতে পারে:

getent shadow | egrep '^[^:]*:[*!]:' -v | cut -f1 -d:
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.