সিস্টেম ব্যবহারকারী এবং পরিষেবা ব্যবহারকারী পৃথক করুন


8

আমরা সকলেই জানি যে আমাদের সিস্টেম ব্যবহারকারী এবং পরিষেবা ব্যবহারকারী রয়েছে। আমি তাদের সিস্টেম ব্যবহারকারী এবং পরিষেবা ব্যবহারকারী তালিকা হিসাবে আলাদা করার একটি উপায় খুঁজছি।

অন্য কোন উপায় আছে ?

উত্তর:


7

ভিত্তিতে gid, সিস্টেম ব্যবহারকারী এবং পরিষেবা ব্যবহারকারীদের নীচে পৃথক করা যেতে পারে ,

/etc/passwdকিছু অন্যান্য তথ্যের সাথে সমস্ত ব্যবহারকারীর তালিকা রয়েছে। পরিষেবা ব্যবহারকারী বা প্রকৃত ব্যবহারকারীদের gid1000 এর চেয়ে বড় বা সমান। সুতরাং প্রকৃত ব্যবহারকারীর একটি তালিকা হিসাবে প্রাপ্ত করা যেতে পারে,

awk -F: '($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd

এছাড়াও সিস্টেম ব্যবহারকারীদের একটি তালিকা ( gid<1000) হিসাবে বের করা যেতে পারে,

awk -F: '($3<1000){print $1}' /etc/passwd

কিভাবে এটা কাজ করে

বিষয়বস্তুগুলি হ'ল /etc/passwd,

    root:x:0:0:root:/root:/bin/bash
    ...
    souravc:x:1001:1001:Souravc:/home/souravc:/bin/bash

এটির awkসাথে ব্যবহার করার -F:সময় :ক্ষেত্র বিভাজক হিসাবে বিবেচনা করে কয়েকটি ক্ষেত্রের মধ্যে একটি রেখার বিষয়বস্তু বিভক্ত হয় । প্রথম ক্ষেত্রটিতে ব্যবহারকারীর নাম এবং তৃতীয় ক্ষেত্রটি রয়েছে gid

সুতরাং প্রকৃত ব্যবহারকারীদের সন্ধান করতে awkকেবল তৃতীয় ক্ষেত্রের মান সমান 1000 এর চেয়ে বড় এবং এটি কোনও ব্যবহারকারী নয় এবং প্রথম ক্ষেত্রটি অর্থাৎ ব্যবহারকারীর নাম মুদ্রণ করে।

সমস্ত সিস্টেম ব্যবহারকারীদের তালিকাভুক্ত করতে এটি কেবল gid1000 টির চেয়ে কম চেক করে এবং ব্যবহারকারীর নাম মুদ্রণ করে।

সম্পাদন করা

আপনি যেমন rootবাস্তব ব্যবহারকারী তালিকায় (জিড = 0) তালিকাবদ্ধ করতে চান । প্রকৃত ব্যবহারকারী হিসাবে হিসাবে পান

awk -F: '($3==0)||($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd

সিস্টেম ব্যবহারকারী হিসাবে হিসাবে পান

awk -F: '($3<1000)&&($1!="root"){print $1}' /etc/passwd

নোট আমি সর্বদা nobodyব্যবহারকারীকে উপেক্ষা করছি ।


এটি কীভাবে রুট ব্যবহারকারীর যত্ন নিতে পারে?
rʒɑdʒɑ

আপনার কথা বুঝতে পারলেন না? আপনি সিস্টেম ব্যবহারকারী হিসাবে রুট পাবেন। আপনি কি বাস্তব ব্যবহারকারীর তালিকায় রুট অন্তর্ভুক্ত করতে চান?
সৌরভ্যাক

হ্যাঁ কারণ তিনিও ব্যবহারকারী।
রোড

@রাজেনুপুলা এখন ঠিক আছে?
সোরাভ্যাক

আমি বাস্তব ব্যবহারকারী তালিকার @S
r userdʒɑ

2

স্থানীয় (সিস্টেম ব্যবহারকারী) এর চেয়ে বেশি তালিকাবদ্ধ করতে লগইন করতে পারে এবং 1000 এরও কম হোমডির এবং জিআইডি থাকতে পারে

 cat /etc/passwd | cut -d: -f 1,3,6 | grep "[1-9][0-9][0-9][0-9]" | grep "/home" | cut -d: -f1

অন্যান্য সমস্ত ব্যবহারকারীর তালিকা করতে: (প্রধানত সিস্টেম ব্যবহারকারী এবং 1000 এর চেয়ে কম জিআইডি রয়েছে):

cat /etc/passwd | cut -d: -f 1,3,6 | grep -v "[1-9][0-9][0-9][0-9]"  | cut -d: -f1

1
রুট ব্যবহারকারীর গ্রুপ আইডি এবং ব্যবহারকারীর আইডি 1000 কম জন্য উত্তর আপনি right.thank হয়
rɑːdʒɑ

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