কমান্ড সব ব্যবহারকারীর তালিকা করতে? এবং কীভাবে ব্যবহারকারীদের যুক্ত করতে, মুছতে, পরিবর্তন করতে?


855

টার্মিনালে সমস্ত ব্যবহারকারীর তালিকা তৈরি করতে আমার একটি কমান্ড দরকার। এবং কীভাবে টার্মিনাল থেকে ব্যবহারকারীদের যুক্ত করতে, মুছতে, পরিবর্তন করতে হয়।

এটি টার্মিনাল দ্বারা আপনার অ্যাকাউন্টগুলি সহজেই পরিচালনা করতে সহায়তা করতে পারে।


3
উত্তর উত্তরsed 's/:.*//' /etc/passwd
অবিনাশ রাজ

2
ব্যবহারকারীদের তালিকা:awk -F: '{ print $1 }' /etc/passwd
saviour123

উত্তর:


1142

তালিকা

সমস্ত স্থানীয় ব্যবহারকারীদের তালিকা করতে আপনি ব্যবহার করতে পারেন:

cut -d: -f1 /etc/passwd

অ-লোকাল সহ, (কোনও উপায়ে) প্রমাণীকরণে সক্ষম সমস্ত ব্যবহারকারীদের তালিকাভুক্ত করতে, এই উত্তরটি দেখুন

আরও কিছু দরকারী ব্যবহারকারী-পরিচালনা আদেশ ( স্থানীয় ব্যবহারকারীদের মধ্যেও সীমাবদ্ধ ):

যোগ করতে

নতুন ব্যবহারকারী যুক্ত করতে আপনি ব্যবহার করতে পারেন:

sudo adduser new_username

বা:

sudo useradd new_username

আরও দেখুন: অ্যাডুজার এবং ইউজারডের মধ্যে পার্থক্য কী?

মুছে ফেলতে / মুছতে

কোনও ব্যবহারকারীকে সরিয়ে / মুছতে, প্রথমে আপনি এটি ব্যবহার করতে পারেন:

sudo userdel username

তারপরে আপনি মুছে ফেলা ব্যবহারকারীর অ্যাকাউন্টের জন্য হোম ডিরেক্টরি মুছতে পারেন:

sudo rm -r / home / ব্যবহারকারীর নাম

সাবধানতার সাথে উপরের আদেশটি ব্যবহার করুন!

পরিবর্তন করার

কোনও ব্যবহারকারীর নাম পরিবর্তন করতে:

usermod -l new_username old_username

কোনও ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে:

sudo passwd username

কোনও ব্যবহারকারীর শেল পরিবর্তন করতে:

sudo chsh username

কোনও ব্যবহারকারীর বিশদ পরিবর্তন করতে (উদাহরণস্বরূপ আসল নাম):

sudo chfn username

দলে কোনও ব্যবহারকারী যুক্ত করতে sudo:

adduser username sudo

অথবা

usermod -aG sudo username

: এবং, অবশ্যই, তাও দেখতে man adduser, man useradd, man userdel... ইত্যাদি।


12
রাডু sudo chfn <username>কোন ব্যবহারকারীর বিবরণ পরিবর্তন করে তা উল্লেখ করতে ভুলে গিয়েছিলেন (উদাহরণস্বরূপ আসল নাম)। আমি এটিকে একটি মন্তব্য হিসাবে যুক্ত করার চেষ্টা করেছি, তবে আমার বলার ক্ষেত্রে ত্রুটি হয়েছিল যে এটি করার জন্য আমার অবশ্যই +50 খ্যাতি থাকতে হবে।
মিকেলা

2
আমি মনে করি যে এটি যুক্ত করা উচিত যে লিঙ্কযুক্ত প্রশ্নের সঠিক উত্তর আসইউইউবুন্টু.com/a/381646/16395 --- অন্যথায় আপনাকে জিআইডি / ইউআইডি উবুন্টু নীতিগুলি হাতে নিতে হবে। গৃহীত উত্তরটি এত পরিষ্কার নয়।
রোমানো

sudo userdel DOMAIN \\ jhndoe আমাকে ত্রুটি দেয়: "ইউজারডেল: '/ / / পাসউইডি' থেকে 'DOMAIN' \ জনহোন্দি'-এন্ট্রি সরাতে পারে না - আমি / ইত্যাদি / পাসউইডিতে দেখেছি এবং তারা সেখানেও নেই, সম্ভবত এটি" ডোমেন "অ্যাকাউন্ট?
00fruX

1
@ 00fruX হ্যাঁ ... আপনি যদি কোনও কেন্দ্রীয়ীকৃত ব্যবহারকারী ডাটাবেস ব্যবহার করেন তবে আপনাকে সরাসরি এটির মোকাবিলা করতে হবে।
অলি


87

টার্মিনাল খোলার জন্য আপনার কীবোর্ডে Ctrl+ Alt+ টিপুন T। এটি খুললে নীচের কমান্ডটি চালাও:

cat /etc/passwd

অথবা

less /etc/passwd
more /etc/passwd

আপনি awk: awk ব্যবহার করতে পারেন

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

কমান্ড দ্বারা ব্যবহারকারীদের যোগ করতে কিভাবে?
nux

আপনি useradd কমান্ড ব্যবহার করতে পারেন ।
মিচ

@ নাক্স পার্টিতে কিছুটা দেরী হয়েছে, তবে adduserপরিবর্তে কমান্ড লাইন ব্যবহার useraddথেকে স্ক্রিপ্টগুলির মধ্যে সীমাবদ্ধ হওয়া উচিত যেখানে লেখক সত্যই জানেন যে তিনি কী করছেন।
ফ্লিন্ডবার্গ

64

সবচেয়ে সহজ উপায় এই ধরনের তথ্য পেতে হয় getent- দেখুন জন্য র manpage getentকমান্ডম্যানপেজ আইকন । এই কমান্ডটি 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

পুরো সিস্টেমটিতে এই ব্যবহারকারীর মালিকানাধীন ব্যবহারকারী এবং সমস্ত ফাইল মুছে ফেলা হবে ।


8
এটি মনে রাখা দরকারী যে জেন্টেন্ট কেবল / ইত্যাদি / পাসডাব্লুডের ব্যবহারকারীদের আউটপুট প্রিন্ট করে না তবে সমস্ত কনফিগার করা ইউজার্ডবি ব্যাকেন্ডের একটি নির্দিষ্ট সিস্টেমে, এটি / ইত্যাদি / পাসডাব্লুড বা এলডিএপি ইত্যাদি রয়েছে
কামিনস্কি

@ মার্সিনকামিনস্কি ঠিক আছে, এটি এসএসও সিস্টেমগুলিতে ব্যবহারকারীদের সেটআপ প্রিন্ট করে যাদের সার্ভারটিতে অ্যাক্সেস রয়েছে। এই উত্তরটি সবচেয়ে ভাল, getent passwdসঠিক কমান্ড হওয়ার সাথে সাথে
ulkas

সব থেকে @MarcinKaminski গণনীয় userdb ব্যাক-এন্ডের
jrw32982

43

আপনি compgen অন্তর্নির্মিত জিএনইউ ব্যাশ ব্যবহার করতে পারেন :

compgen -u

সমস্ত ব্যবহারকারীদের তালিকাবদ্ধ করবে।


2
সবচেয়ে ছোট এবং কাজ! আমার দৃষ্টিতে গ্রহণযোগ্য হওয়া উচিত।
নাম জি ভিউ

27

এটি বেশিরভাগ সাধারণ পরিস্থিতিতে , সমস্ত সাধারণ (অ-সিস্টেম, অদ্ভুত নয় ইত্যাদি) ব্যবহারকারীদের পাওয়া উচিত:

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

এটি এর দ্বারা কাজ করে:

  • থেকে পড়া /etc/passwd
  • :একটি সীমানা হিসাবে ব্যবহার
  • যদি তৃতীয় ক্ষেত্রটি (ব্যবহারকারীর আইডি নম্বর) 1000 এর চেয়ে বড় হয় এবং 65534 নয়, প্রথম ক্ষেত্রটি (ব্যবহারকারীর নাম) মুদ্রিত হয়।

এটি কারণ অনেকগুলি লিনাক্স সিস্টেমে, 1000-র উপরে ইউজারনেমগুলি অনিবদ্ধ (আপনি সাধারণ বলতে পারেন) ব্যবহারকারীদের জন্য সংরক্ষিত। এখানে কিছু তথ্য :

ইউজার আইডি (ইউআইডি) হ'ল এক অনন্য ধনাত্মক পূর্ণসংখ্যা যা প্রতিটি ব্যবহারকারীর জন্য ইউনিক্সের মতো অপারেটিং সিস্টেম দ্বারা নির্ধারিত হয়। প্রতিটি ব্যবহারকারীকে তার ইউআইডি দ্বারা সিস্টেমে সনাক্ত করা হয় এবং ব্যবহারকারীর নামগুলি কেবলমাত্র মানুষের জন্য একটি ইন্টারফেস হিসাবে ব্যবহৃত হয়।

ইউআইডিগুলি তাদের সম্পর্কিত ব্যবহারকারীর নাম এবং অন্যান্য ব্যবহারকারী-নির্দিষ্ট তথ্যের সাথে / ইত্যাদি / পাসডাব্লু ফাইলটিতে সংরক্ষণ করা হয় ...

তৃতীয় ক্ষেত্রটিতে ইউআইডি রয়েছে এবং চতুর্থ ক্ষেত্রটিতে গ্রুপ আইডি (জিআইডি) রয়েছে যা ডিফল্টরূপে সমস্ত সাধারণ ব্যবহারকারীর জন্য ইউআইডি সমান।

লিনাক্স কার্নেলগুলিতে ২.৪ এবং তারপরে, ইউআইডিগুলি স্বাক্ষরিত 32-বিট পূর্ণসংখ্যা যা শূন্য থেকে 4,294,967,296 এর মান উপস্থাপন করতে পারে। তবে, পুরানো কার্নেল বা ফাইল-সিস্টেমগুলি কেবলমাত্র 16-বিট ইউআইডি সমন্বিত করতে সক্ষম সিস্টেমগুলির সাথে সামঞ্জস্য বজায় রাখতে কেবল 65,534 অবধি মান ব্যবহার করার পরামর্শ দেওয়া হচ্ছে।

0 এর ইউআইডিটির একটি বিশেষ ভূমিকা রয়েছে: এটি সর্বদা মূল অ্যাকাউন্ট হয় (অর্থাত্ সর্বশক্তিমান প্রশাসনিক ব্যবহারকারী)। যদিও এই অ্যাকাউন্টে ব্যবহারকারীর নাম পরিবর্তন করা যেতে পারে এবং একই ইউআইডি দিয়ে অতিরিক্ত অ্যাকাউন্ট তৈরি করা যায়, সুরক্ষা দৃষ্টিকোণ থেকে কোনও পদক্ষেপই বুদ্ধিমানের কাজ নয়।

ইউআইডি 65534 সাধারণত কারও জন্যই সংরক্ষিত থাকে না, কোনও ব্যবহারকারী কোনও সিস্টেমের অধিকারী না হয়ে সাধারণ (যেমন, অ-সুবিধাবঞ্চিত) ব্যবহারকারীর বিপরীতে থাকে। এই ইউআইডি প্রায়শই এফটিপি (ফাইল ট্রান্সফার প্রোটোকল) বা এইচটিটিপি (হাইপারটেক্সট ট্রান্সফার প্রোটোকল) এর মাধ্যমে দূরবর্তীভাবে সিস্টেমে প্রবেশ করা ব্যক্তিদের জন্য ব্যবহৃত হয়।

ইউআইডি 1 থেকে 99 এর মধ্যে systemতিহ্যগতভাবে বিশেষ সিস্টেম ব্যবহারকারীদের (যাকে কখনও কখনও সিউডো-ব্যবহারকারী বলা হয়), যেমন চাকা, ডিমন, এলপি, অপারেটর, নিউজ, মেল ইত্যাদির জন্য সংরক্ষিত These কিছু প্রশাসনিক কাজ এবং এর ফলে সাধারণ ব্যবহারকারীদের দেওয়া তুলনায় আরও সুবিধাগুলি প্রয়োজন।

কিছু লিনাক্স ডিস্ট্রিবিউশন (যেমন, সংস্করণ) 100-তে অ-সুবিধাবঞ্চিত ব্যবহারকারীদের জন্য ইউআইডি শুরু করে Others অন্যরা যেমন রেড হ্যাটগুলি এগুলি 500 থেকে শুরু হয় এবং অন্যরা যেমন ডিবিয়ান তাদের 1000 থেকে শুরু করে distrib বিতরণগুলির মধ্যে পার্থক্যের কারণে ম্যানুয়াল কোনও সংস্থায় কোনও নেটওয়ার্কে একাধিক বিতরণ ব্যবহৃত হলে হস্তক্ষেপের প্রয়োজন হতে পারে।

এছাড়াও, স্থানীয় ব্যবহারকারীদের জন্য ইউআইডিগুলির একটি ব্লক যেমন 1000 এর মাধ্যমে 9999 এবং রিমোট ব্যবহারকারীদের (যেমন, নেটওয়ার্কের অন্য কোথাও ব্যবহারকারীদের) জন্য অন্য একটি ব্লক সংরক্ষণ করা সুবিধাজনক হতে পারে, যেমন 10000 থেকে 65534. গুরুত্বপূর্ণ বিষয়টি সিদ্ধান্ত নেওয়া একটি স্কিম এবং এটি মেনে চলা।

নির্দিষ্ট ধরণের ব্যবহারকারীর জন্য সংখ্যার ব্লক সংরক্ষণের এই অভ্যাসের সুবিধার মধ্যে এটি সন্দেহজনক ব্যবহারকারীর ক্রিয়াকলাপের জন্য সিস্টেম লগের মাধ্যমে অনুসন্ধান করা আরও সুবিধাজনক করে তোলে।

জনপ্রিয় বিশ্বাসের বিপরীতে, ইউআইডি ক্ষেত্রে প্রতিটি প্রবেশ অনন্য হওয়া প্রয়োজন নয়। যাইহোক, অ-অনন্য ইউআইডিগুলি সুরক্ষা সমস্যা সৃষ্টি করতে পারে এবং সুতরাং ইউআইডিকে পুরো সংস্থা জুড়েই অনন্য রাখা উচিত। তেমনি, প্রাক্তন ব্যবহারকারীদের কাছ থেকে ইউআইডি পুনর্ব্যবহার যতটা সম্ভব সম্ভব এড়ানো উচিত।


1
প্রায় একটি নিখুঁত উত্তর, তবে আইএমও এটি মান পরিষ্কারের থেকে getentসরাসরি /etc/passwdঅনুসন্ধান এবং অনুসন্ধানের পরিবর্তে UID_MIN/ UID_MAXমানগুলি হার্ড-কোডিংয়ের পরিবর্তে ব্যবহার করা পরিষ্কার :getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
ম্যাক্স ট্রুক্সা

17

লগইন করতে পারবেন এমন সমস্ত ব্যবহারকারীর তালিকা (কোনও সিস্টেম ব্যবহারকারী যেমন: বিন, ডিমন, মেল, সি, ইত্যাদি)

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

1
হতে পারে আপনি মধ্যে পার্থক্য ব্যাখ্যা করতে হবে adduserএবং useraddsudoপ্রথম কমান্ড-এ একটি- প্রাক-সংজ্ঞা যুক্ত করুন । পাসওয়ার্ডের ছায়া ফাইলটি কেবলমাত্র রুট হিসাবে পড়া যায়।
s3lph

1
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadowবিন, ডেমন ইত্যাদি সহ সমস্ত ব্যবহারকারী আমাকে দেখিয়েছিলেন এবং এই সতর্কতাটি ছুড়ে ফেলেছিলেন: পালানোর ক্রম \$' treated as plain I 'আমি এই পোস্টটি stackoverflow.com/a/25867768/847954 পেয়েছি এবং আরও একটি ব্যাকস্ল্যাশ যুক্ত করেছি এবং এটি ভাল কাজ করেছে:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
জেফ মাস্ক

8

ঠিক আছে এখানে একটি কৌশল যা আপনাকে এটি বাছাই করতে সহায়তা করবে। টার্মিনালটিতে স্বয়ংক্রিয় সমাপ্তি রয়েছে যদি আপনি ব্যবহারকারী টাইপ করেন এবং ট্যাব কীটি দু'বার চাপান তবে এটি ব্যবহারকারীর সাথে উপস্থিত সমস্ত কমান্ডকে প্রথম 4 টি হিসাবে তালিকাভুক্ত করবে।

user (tab tab)

আমাকে সম্ভাব্য বিকল্প হিসাবে ইউজারডেল ইউজারমড ব্যবহারকারী ব্যবহারকারীগণ-অ্যাডমিন হিসাবে ব্যবহারকারীদের অ্যাডমিন দেয়
যদি আপনি কোনও কমান্ড গুগল সম্পর্কে আরও জানতে চান বা ম্যান ম্যান ইউজারডড টাইপ করেন ইউজারআরড দেয় - নতুন ব্যবহারকারী তৈরি করুন বা ডিফল্ট নতুন ব্যবহারকারী তথ্য আপডেট করুন ...

ব্যবহারকারীদের তালিকায় আপনাকে মিচ যা বলেছে তা অনুসরণ করা উচিত।

আশা করি এটি আমার পছন্দসই ট্যাব সমাপ্তি পছন্দ করে জিনিসগুলি আমাকে স্মরণে রাখতে বাঁচায়।


6

মেশিনে / হোম-ফোল্ডারে যে ব্যবহারকারীদের হোম ডিরেক্টরি রয়েছে তা সন্ধানের জন্য নিম্নলিখিত কমান্ডগুলি চালান

cd /home
ls 

তারপরে আপনি ব্যবহারকারীদের সার্ভারে লগ ইন করার অনুমোদন থাকতে পারেন see আমরা যদি কোনও ব্যবহারকারীর ফাইলগুলি সন্ধান করতে চাই তবে আপনাকে অবশ্যই মূল ব্যবহারকারী হতে হবে।


8
এটি কেবল কন্টেন্ট দেখায় /home। উবুন্টু সেখানে ব্যবহারকারী ডিরেক্টরিগুলি ডিফল্টরূপে রাখে, এটি কোনওভাবেই বাধ্যতামূলক নয়।
ডেভিড ফোরস্টার

ls /homeমুছে ফেলা ব্যবহারকারীদের ব্যবহারকারীর ডিরেক্টরি থাকতে পারে।
সুরজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.