क्या सभी उपयोगकर्ताओं को सूचीबद्ध करने के लिए कोई आदेश है? टर्मिनल में उपयोगकर्ताओं को जोड़ने, हटाने, संशोधित करने के लिए भी?

मुझे टर्मिनल से उपयोगकर्ताओं को जोड़ने, हटाने और संशोधित करने के लिए सभी उपयोगकर्ताओं के साथ - साथ कमांड को सूचीबद्ध करने के लिए एक कमांड की आवश्यकता है-कोई भी कमांड जो टर्मिनल द्वारा उपयोगकर्ता खातों को आसानी से प्रशासित करने में मदद कर सकता है ।

सूची के लिए

सभी को सूचीबद्ध करने के लिए स्थानीय उपयोगकर्ता जिनका आप उपयोग कर सकते हैं:

cut -d: -f1 /etc/passwd

गैर-स्थानीय सहित (किसी तरह से) प्रमाणित करने में सक्षम सभी उपयोगकर्ताओं को सूचीबद्ध करने के लिए, देखें यह उत्तर.

कुछ और उपयोगी उपयोगकर्ता-प्रबंधन आदेश (यह भी सीमित है स्थानीय उपयोगकर्ता):

जोड़ने के लिए

एक नया उपयोगकर्ता जोड़ने के लिए जिसका आप उपयोग कर सकते हैं:

sudo adduser नया _ उपयोगकर्ता नाम

या:

sudo useradd नया _ उपयोगकर्ता नाम

यह भी देखें: के बीच क्या अंतर है adduser और useradd?

हटाने / हटाने के लिए

किसी उपयोगकर्ता को हटाने / हटाने के लिए, पहले आप उपयोग कर सकते हैं:

sudo userdel उपयोगकर्ता नाम

फिर आप हटाए गए उपयोगकर्ता खाते के लिए होम डायरेक्टरी को हटाना चाह सकते हैं :

sudo rm -r /घर/उपयोगकर्ता नाम

कृपया सावधानी के साथ उपरोक्त आदेश का उपयोग करें!

संशोधित करने के लिए

उपयोगकर्ता के उपयोगकर्ता नाम को संशोधित करने के लिए:

usermod -l नया _ उपयोगकर्ता नाम पुराना_उपयोगकर्ता नाम

उपयोगकर्ता के लिए पासवर्ड बदलने के लिए:

sudo passwd उपयोगकर्ता नाम

उपयोगकर्ता के लिए शेल बदलने के लिए:

sudo chsh उपयोगकर्ता नाम

उपयोगकर्ता के लिए विवरण बदलने के लिए (उदाहरण के लिए वास्तविक नाम):

sudo chfn उपयोगकर्ता नाम

उपयोगकर्ता को जोड़ने के लिए sudo समूह:

adduser उपयोगकर्ता नाम sudo

या

usermod -aG sudo उपयोगकर्ता नाम

और, बेशक, यह भी देखें: man adduser, man useradd, man userdel... और इतने पर ।

बस दबाएं Ctrl+Alt+T टर्मिनल खोलने के लिए अपने कीबोर्ड पर । जब यह खुलता है, तो नीचे कमांड चलाएं:

cat /etc/passwd

या

less /etc/passwdmore /etc/passwd

आप एडब्ल्यूके का भी उपयोग कर सकते हैं:एडब्ल्यूके

awk -F':' '{ print $1}' /etc/passwd

इस तरह की जानकारी पाने का सबसे आसान तरीका है getent - देखें के लिए मैनपेज getent आदेश Manpage icon. जबकि वह कमांड समान आउटपुट देता है cat /etc/passwd यह याद रखना उपयोगी है क्योंकि यह आपको ओएस में कई तत्वों की सूची देगा ।

आपके द्वारा टाइप किए गए सभी उपयोगकर्ताओं की सूची प्राप्त करने के लिए (जैसा कि उपयोगकर्ता सूचीबद्ध हैं /etc/passwd)

getent passwd

उपयोगकर्ता जोड़ने के लिए newuser सिस्टम में आप टाइप करेंगे

sudo adduser newuser

ऐसा उपयोगकर्ता बनाने के लिए जिसमें सभी डिफ़ॉल्ट सेटिंग्स लागू हों ।

बोनस: किसी भी उपयोगकर्ता को जोड़ने के लिए (उदाहरण के लिए anyuser) एक समूह के लिए (उदाहरण के लिए cdrom) प्रकार

sudo adduser anyuser cdrom

आप एक उपयोगकर्ता को हटाते हैं (उदाहरण के लिए अप्रचलित) के साथ

sudo deluser obsolete

यदि आप उसकी होम डायरेक्टरी/मेल को डिलीट करना चाहते हैं तो आप टाइप करें

sudo deluser --remove-home obsolete

और

sudo deluser --remove-all-files obsolete

उपयोगकर्ता को हटा देगा और पूरे सिस्टम पर इस उपयोगकर्ता के स्वामित्व वाली सभी फाइलें ।

आप उपयोग कर सकते हैं compgen जीएनयू बैश बिल्ट-इन भी:

compgen -u

सभी उपयोगकर्ताओं को सूचीबद्ध करेगा ।

यह मिलना चाहिए, अधिकांश सामान्य परिस्थितियों में, सभी सामान्य (गैर-प्रणाली, अजीब नहीं, आदि) उपयोगकर्ता:

awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd

यह काम करता है:

  • से में पढ़ना /etc/passwd
  • का उपयोग करना : एक सीमांकक के रूप में
  • यदि तीसरा फ़ील्ड (उपयोगकर्ता आईडी संख्या) 1000 से बड़ा है और 65534 नहीं है, तो पहला फ़ील्ड (उपयोगकर्ता का उपयोगकर्ता नाम) मुद्रित होता है ।

ऐसा इसलिए है क्योंकि कई लिनक्स सिस्टम पर, 1000 से ऊपर के उपयोगकर्ता नाम अप्रशिक्षित (आप सामान्य कह सकते हैं) उपयोगकर्ताओं के लिए आरक्षित हैं । इस पर कुछ जानकारी यहाँ:

एक उपयोगकर्ता आईडी (यूआईडी) एक अद्वितीय सकारात्मक पूर्णांक है जो प्रत्येक उपयोगकर्ता को यूनिक्स जैसी ऑपरेटिंग सिस्टम द्वारा सौंपा गया है । प्रत्येक उपयोगकर्ता को उसके यूआईडी द्वारा सिस्टम में पहचाना जाता है, और उपयोगकर्ता नाम आमतौर पर केवल मनुष्यों के लिए एक इंटरफ़ेस के रूप में उपयोग किए जाते हैं ।

यूआईडी को उनके संबंधित उपयोगकर्ता नामों और अन्य उपयोगकर्ता-विशिष्ट जानकारी के साथ /आदि/पासवार्ड फ़ाइल में संग्रहीत किया जाता है । ..

तीसरे क्षेत्र में यूआईडी है, और चौथे क्षेत्र में समूह आईडी (जीआईडी) है, जो डिफ़ॉल्ट रूप से सभी सामान्य उपयोगकर्ताओं के लिए यूआईडी के बराबर है ।

लिनक्स कर्नेल 2.4 और इसके बाद के संस्करण में, यूआईडी अहस्ताक्षरित 32-बिट पूर्णांक हैं जो शून्य से 4,294,967,296 तक के मूल्यों का प्रतिनिधित्व कर सकते हैं । हालांकि, पुराने कर्नेल या फाइल सिस्टम का उपयोग करके सिस्टम के साथ संगतता बनाए रखने के लिए केवल 65,534 तक के मूल्यों का उपयोग करना उचित है जो केवल 16-बिट यूआईडी को समायोजित कर सकते हैं ।

0 के यूआईडी की एक विशेष भूमिका है: यह हमेशा रूट खाता है (यानी, सर्वशक्तिमान प्रशासनिक उपयोगकर्ता) । यद्यपि इस खाते पर उपयोगकर्ता नाम बदला जा सकता है और एक ही यूआईडी के साथ अतिरिक्त खाते बनाए जा सकते हैं, सुरक्षा के दृष्टिकोण से न तो कार्रवाई बुद्धिमान है ।

यूआईडी 65534 आमतौर पर किसी के लिए आरक्षित नहीं है, एक उपयोगकर्ता जिसके पास कोई सिस्टम विशेषाधिकार नहीं है, जैसा कि एक साधारण (यानी, गैर-विशेषाधिकार प्राप्त) उपयोगकर्ता के विपरीत है । इस यूआईडी का उपयोग अक्सर एफ़टीपी (फाइल ट्रांसफर प्रोटोकॉल) या एचटीटीपी (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल) के माध्यम से सिस्टम तक पहुंचने वाले व्यक्तियों के लिए किया जाता है ।

यूआईडी 1 99 के माध्यम से पारंपरिक रूप से विशेष सिस्टम उपयोगकर्ताओं (कभी-कभी छद्म उपयोगकर्ता कहा जाता है) के लिए आरक्षित हैं, जैसे कि पहिया, डेमन, एलपी, ऑपरेटर, समाचार, मेल, आदि । ये उपयोगकर्ता प्रशासक हैं जिन्हें कुल मूल शक्तियों की आवश्यकता नहीं है, लेकिन जो कुछ प्रशासनिक कार्य करते हैं और इस प्रकार सामान्य उपयोगकर्ताओं को दिए गए विशेषाधिकारों की तुलना में अधिक विशेषाधिकारों की आवश्यकता होती है ।

कुछ लिनक्स वितरण (यानी, संस्करण) 100 पर गैर-विशेषाधिकार प्राप्त उपयोगकर्ताओं के लिए यूआईडी शुरू करते हैं । अन्य, जैसे कि रेड हैट, उन्हें 500 से शुरू करते हैं, और अभी भी अन्य, जैसे डेबियन, उन्हें 1000 से शुरू करते हैं । वितरण के बीच अंतर के कारण, यदि किसी संगठन में नेटवर्क में कई वितरण का उपयोग किया जाता है, तो मैन्युअल हस्तक्षेप आवश्यक हो सकता है ।

इसके अलावा, स्थानीय उपयोगकर्ताओं के लिए यूआईडी के एक ब्लॉक को आरक्षित करना सुविधाजनक हो सकता है, जैसे कि 1000 के माध्यम से 9999, और दूरस्थ उपयोगकर्ताओं के लिए एक और ब्लॉक (यानी, नेटवर्क पर कहीं और उपयोगकर्ता), जैसे कि 10000 से 65534 । महत्वपूर्ण बात एक योजना पर निर्णय लेना और उसका पालन करना है ।

विशेष प्रकार के उपयोगकर्ताओं के लिए संख्याओं के ब्लॉक को आरक्षित करने के इस अभ्यास के फायदों में से यह है कि यह संदिग्ध उपयोगकर्ता गतिविधि के लिए सिस्टम लॉग के माध्यम से खोज करना अधिक सुविधाजनक बनाता है ।

आम धारणा के विपरीत, यह आवश्यक नहीं है कि यूआईडी क्षेत्र में प्रत्येक प्रविष्टि अद्वितीय हो । हालांकि, गैर-अद्वितीय यूआईडी सुरक्षा समस्याओं का कारण बन सकते हैं, और इस प्रकार यूआईडी को पूरे संगठन में अद्वितीय रखा जाना चाहिए । इसी तरह, पूर्व उपयोगकर्ताओं से यूआईडी के पुनर्चक्रण को यथासंभव लंबे समय तक टाला जाना चाहिए ।

सूची उन सभी उपयोगकर्ताओं में से जो लॉगिन कर सकते हैं (कोई सिस्टम उपयोगकर्ता जैसे: बिन,डीमोन,मेल,एसवाईएस, आदि । )

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

जोड़ें नया उपयोगकर्ता

sudo adduser new_username

या

sudo useradd new_username

हटाएं/ उपयोगकर्ता नाम निकालें

sudo userdel username

यदि आप होम डायरेक्टरी को डिलीट करना चाहते हैं (डायरेक्टरी /होम/यूजरनेम को डिफॉल्ट करें)

sudo deluser --remove-home username

या

sudo rm -r /path/to/user_home_dir

यदि आप इस उपयोगकर्ता से सिस्टम से सभी फ़ाइलों को हटाना चाहते हैं (न केवल होम डायरेटरी है)

sudo deluser --remove-all-files

ठीक है यहां एक चाल है जो आपको इसे सॉर्ट करने में मदद करेगी । टर्मिनल में ऑटो पूर्णता है यदि आप उपयोगकर्ता टाइप करते हैं और टैब कुंजी को दो बार हिट करते हैं तो यह उन सभी आदेशों को सूचीबद्ध करेगा जो उपयोगकर्ता के साथ पहले 4 वर्णों के रूप में मौजूद हैं ।

user (tab tab)

मुझे देता है के रूप में संभव विकल्पों useradd userdel usermod उपयोगकर्ताओं को उपयोगकर्ताओं-admin
यदि आप किसी कमांड के बारे में अधिक जानना चाहते हैं गूगल यह या टाइप करें आदमी आदमी उपयोगकर्ताउपयोगकर्ता देता है - एक नया उपयोगकर्ता बनाएं या डिफ़ॉल्ट नई उपयोगकर्ता जानकारी अपडेट करें । .. ...

उपयोगकर्ताओं को सूचीबद्ध करने के लिए आपको मिच ने जो कहा उसके साथ जाना चाहिए ।

आशा है कि मुझे बैश में टैब पूरा करने में मदद मिलती है जो मुझे चीजों को याद रखने से बचाता है ।

उन उपयोगकर्ताओं का पता लगाने के लिए जिनके पास मशीन पर /होम-फ़ोल्डर में होम-निर्देशिकाएं हैं, निम्न कमांड चलाएं

cd /homels 

फिर आप उन उपयोगकर्ताओं को देख सकते हैं जिनके पास सर्वर में लॉग इन करने का प्राधिकरण है । यदि हम किसी भी उपयोगकर्ता की फ़ाइलों को देखना चाहते हैं, तो आपको रूट उपयोगकर्ता होना चाहिए ।

पहला जवाब सिफारिश करता है:

cut -d: -f1 /etc/passwd

लेकिन इसका उपयोग करना और आपको मिलने वाले उपयोगकर्ताओं की संख्या की गणना करना:

$ cut -d: -f1 /etc/passwd | wc -l46

लैपटॉप कंप्यूटर के लिए 46 उपयोगकर्ता बहुत हैं!. तो इसके बजाय इसका उपयोग करें:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp

अतिथि खातों को हटाने के लिए (जिनके पास वैसे भी सहेजी गई फ़ाइलें नहीं हैं) उपयोग करें:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick

लिस्टिंग से हटाए गए कुछ नमूना उपयोगकर्ता हैं:

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

यह पता चला है कि एकल उपयोगकर्ता सिस्टम पर अधिकांश उपयोगकर्ता वास्तव में ऐसे प्रोग्राम हैं जिन्होंने खुद को उपयोगकर्ताओं के रूप में स्थापित किया है ।

sed जवाब sed 's/:.* / / ', /etc/passwd

सूची उपयोगकर्ता 'एडब्ल्यूके-एफ:' { प्रिंट $1} ' / आदि / पासवार्ड