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


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

यह टर्मिनल द्वारा आसानी से आपके खातों को प्रशासित करने में मदद कर सकता है।


702
2018-01-24 20:23


मूल


sed जवाब sed 's/:.*//' /etc/passwd - Avinash Raj
उपयोगकर्ताओं को सूचीबद्ध करें: awk -F: '{ print $1 }' /etc/passwd - saviour123


जवाब:


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

cut -d: -f1 /etc/passwd

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

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

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

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

या:

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

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

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

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

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

सुडो आरएम-आर / घर /उपयोगकर्ता नाम

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

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

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

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

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

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

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

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

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

और, ज़ाहिर है, यह भी देखें: man adduser, man useradd, man userdel... और इसी तरह।


940
2018-01-24 19:28



राडू उल्लेख करना भूल गए sudo chfn <username> जो उपयोगकर्ता विवरण बदलता है (उदाहरण के लिए असली नाम)। मैंने इसे एक टिप्पणी के रूप में जोड़ने की कोशिश की, लेकिन मुझे यह कहने में त्रुटि मिली कि मुझे ऐसा करने के लिए +50 प्रतिष्ठा होनी चाहिए। - Mikaela
मुझे लगता है कि इसे रेखांकित किया जाना चाहिए कि जुड़े प्रश्न का सही उत्तर है askubuntu.com/a/381646/16395 --- अन्यथा आपको हाथ से जीआईडी ​​/ यूआईडी उबंटू नीतियों को ध्यान में रखना होगा। स्वीकृत उत्तर इतना स्पष्ट नहीं है। - Rmano
sudo userdel DOMAIN \\ johndoe मुझे त्रुटि देता है: "userdel: प्रविष्टि को हटा नहीं सकता 'DOMAIN \ johndoe' / etc / passwd से - मैंने / etc / passwd में देखा और वे वहां भी नहीं हैं, संभवतः क्योंकि यह" डोमेन "खाता? - 00fruX
@ 00fruX हाँ ... यदि आप एक केंद्रीकृत उपयोगकर्ता डेटाबेस का उपयोग कर रहे हैं तो आपको सीधे इसके साथ निपटने की आवश्यकता होगी। - Oli♦
के लिए +1 Adduser और useradd के बीच क्या अंतर है? - sonlexqt


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

cat /etc/passwd

या

less /etc/passwd
more /etc/passwd

आप awk का भी उपयोग कर सकते हैं:awk

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

73
2018-01-24 19:38



कमांड द्वारा उपयोगकर्ताओं को कैसे जोड़ना है? - nux
आप उपयोग कर सकते हैं useradd आदेश। - Mitch♦
@nux पार्टी के लिए थोड़ा देर हो चुकी है, लेकिन कमांड लाइन उपयोग से adduser बजाय, useradd स्क्रिप्ट तक सीमित होना चाहिए जहां लेखक वास्तव में वास्तव में जानता है कि वह क्या कर रहा है। - flindeberg


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

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

getent passwd

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

sudo adduser newuser

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

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

sudo adduser anyuser cdrom

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

sudo deluser obsolete

यदि आप अपनी होम निर्देशिका / मेल को भी टाइप करना चाहते हैं तो आप टाइप करें

sudo deluser --remove-home obsolete

तथा

sudo deluser --remove-all-files obsolete

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


52



यह याद रखना उपयोगी है कि गेटेंट सिर्फ / etc / passwd में उपयोगकर्ताओं के आउटपुट को मुद्रित नहीं करता है, लेकिन सभी कॉन्फ़िगर किए गए उपयोगकर्ता डीबी में सभी उपयोगकर्ता किसी दिए गए सिस्टम पर बैकएंड करते हैं, चाहे वह / etc / passwd या LDAP इत्यादि हो। - Marcin Kaminski


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

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

यह द्वारा काम करता है:

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

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

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

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

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

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

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

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

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

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

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

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

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


21





आप उपयोग कर सकते हैं compgen अंतर्निहित भी:

compgen -u

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


21





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

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

15



शायद आप के बीच के अंतर की व्याख्या करनी चाहिए adduser तथा useradd। एक भी जोड़ें sudoपहले आदेश के लिए prefix। पासवर्ड छाया फ़ाइल केवल रूट के रूप में पढ़ा जा सकता है। - s3lph
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow मुझे बिन, डिमन इत्यादि सहित सभी उपयोगकर्ता दिखाए और इस चेतावनी को फेंक दिया: अनुक्रम अनुक्रम \$' treated as plain $ 'मुझे यह पोस्ट मिला stackoverflow.com/a/25867768/847954  और एक और बैकस्लैश जोड़ा और यह ठीक काम किया: awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow - jeff musk


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

user (tab tab)

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

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

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


7





मशीन पर / home-folder में घर-निर्देशिका वाले उपयोगकर्ता को खोजने के लिए, निम्न आदेश चलाएं

cd /home
ls 

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


6



यह केवल सामग्री दिखाता है /home। जबकि उबंटू डिफ़ॉल्ट रूप से उपयोगकर्ता निर्देशिकाओं को रखता है, यह किसी भी तरह से अनिवार्य नहीं है। - David Foerster