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

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

सूची के लिए

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

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)

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

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

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

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

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} `/आदि/पासवार्ड’