আমি কীভাবে কোনও গোষ্ঠী থেকে কোনও ব্যবহারকারীকে সরিয়ে দেব?


342

ডেবিয়ানের কোনও গ্রুপ থেকে কোনও ব্যবহারকারীকে সরানোর জন্য আমার কোন আদেশটি ব্যবহার করা উচিত?

কোনও গোষ্ঠীতে ব্যবহারকারী যুক্ত করার সময় এটি দিয়ে কাজটি করা যেতে পারে:

usermod -a -G group user

তবে, গ্রুপ থেকে ব্যবহারকারীকে অপসারণ করার জন্য আমি অনুরূপ একটি কমান্ড (একটি দল এবং ব্যবহারকারীকে তর্ক হিসাবে স্বীকৃত) খুঁজে পাইনি। আমি যে নিকটতমটি পেতে পারি তা হ'ল:

usermod -G all,existing,groups,except,for,group user

usermod OPTION group userবিকল্পের মতো কোনও কমান্ড কি কোনও বিকল্প usermod(বা একটি অনুরূপ প্রোগ্রাম) ব্যবহারকারীকে দল থেকে অপসারণ করার একটি বিকল্প রয়েছে ?


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

উত্তর:


403

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

# gpasswd -d user group

তারপরে নতুন গ্রুপ কনফিগারেশনটি পরবর্তী লগইনে অন্ততপক্ষে দেবিয়ানে নির্ধারিত হবে। যদি ব্যবহারকারী লগ ইন থাকে তবে কমান্ডের প্রভাবগুলি অবিলম্বে দেখা যায় না।


9
নিখুঁত ধন্যবাদ! gpasswd -a user groupগ্রুপে ব্যবহারকারী যুক্ত করার জন্য এটি আরও সুন্দর বলে মনে হচ্ছে, বিশেষত যদি কোনও টাইপ তৈরি হয়ে যায় এবং -aবিকল্পটি বাদ পড়ে যায়।
লেকেনস্টেইন

1
আমার জন্য কাজ করে না। আমি দুটি বার্তা পেয়েছি: ক) গ্রুপ থেকে ব্যবহারকারীকে সরানো। b) gpasswd: ব্যবহারকারী কোনও গ্রুপের সদস্য নন। এরপরে "সদস্য গোষ্ঠী" চালানো কোনও পরিবর্তন দেখায় না।
জিওএডসিক

1
@ জিওডেসিকের আপনাকে এই লগ আউট করে আবার লগইন করতে হবে ফলাফলটি দেখতে
ওয়াসিফ হোসেন

1
পুনরায় লগইন না করে পরিবর্তনটি কার্যকর করার কোনও উপায় আছে কি?
অ্যান্ডি ফুজনিয়াক

2
@ জিওএডেসিক আমি এই ত্রুটিগুলি সেন্টোস on এ পেয়েছি found আমি আপনাকে দেখতে পেয়েছি যে আপনি যদি তাদের ডিফল্ট গোষ্ঠী থেকে ব্যবহারকারীকে সরিয়ে দেওয়ার চেষ্টা করছেন। এর সাথে ডিফল্ট গোষ্ঠীটি স্যুইচ করার usermod -g user userচেষ্টা করুন এবং সেগুলি অপসারণ করার চেষ্টা করুন।
PanPines 10

175

ডেবিয়ান-এ, adduserপ্যাকেজে একটি deluserপ্রোগ্রাম রয়েছে যা একটি গ্রুপ থেকে কোনও ব্যবহারকারীকে সরিয়ে দেয় যদি আপনি উভয়কেই যুক্তি হিসাবে পাস করেন:

deluser user group

যদি আপনার বিতরণ না থাকে তবে adduserআপনি সম্পাদনা করতে পারেন /etc/groupএবং /etc/gshadowম্যানুয়ালি।

vigr
vigr -s

10
আমি vigrএবং মত প্রোগ্রাম সম্পর্কে জানতাম না vipw
ম্যান্যাপগুলি

3
বিকল্পভাবে, /etc/groupরান এডিট grpconvকরার /etc/gshadowপরিবর্তে আপডেট চালানোর পরে ।
সাইরিল

sudo deluser jenkins admin/ usr / sbin / deluser: আপনি তাদের প্রাথমিক গোষ্ঠী থেকে ব্যবহারকারীকে সরাতে পারবেন না।
জোনাথন

@ জোনাথনলিডার্স প্রত্যেক ব্যবহারকারীর কমপক্ষে একটি দলে থাকা দরকার। ব্যবহারকারীর প্রাথমিক গোষ্ঠীটি ব্যবহার usermodবা vipwপরিবর্তন করতে। এই প্রশ্নটি ছিল পরিপূরক গ্রুপ সম্পর্কে about
গিলস

খুশী হলাম। এর adduser $user $groupপরিবর্তে আরও সহজ কমান্ড রয়েছে usermod -x -y -z -...
ygoe

65
usermod -G "" username

ব্যবহারকারীর নাম থেকে সমস্ত মাধ্যমিক / পরিপূরক গোষ্ঠীগুলি সরায় , কেবল তাদের প্রাথমিক গোষ্ঠীর সদস্য হিসাবে রেখে। এটি সোলারিস ৫.৯-এ কাজ করেছে


5
CentOS 6.4 এ পরীক্ষিত; কাজ করে।
সামগ্রিক

1
উবুন্টু 12.04 এও কাজ করে।
সামগ্রিক

এবং এটি সমস্ত তালিকাভুক্ত গোষ্ঠীগুলি বাদ দিয়ে মাধ্যমিক গোষ্ঠীগুলিকে গ্রুপের যে কোনও তালিকায় বাধ্য করার সেরা উপায় বলে মনে হয় ।
ঋষি

পরীক্ষিত এবং CentOS এ কাজ 7। ধন্যবাদ!
চালাকি

14

এটি "পুরাতন স্কুল" পদ্ধতির ...

বেশিরভাগ * নিক্স সিস্টেমগুলি একটি সমতল পাঠ্য ফাইলের মধ্যে গ্রুপের তথ্য বজায় রাখে /etc/group, যেখানে

  • প্রতিটি লাইনে ক্ষেত্র রয়েছে

    • দলের নাম
    • পাসওয়ার্ড
    • জিআইডি, এবং
    • ব্যবহারকারীর তালিকা

    :চরিত্র দ্বারা সীমানা ।

  • ইউজার_লিস্ট ফিল্ডটি কমা দ্বারা আলাদা হওয়া ব্যবহারকারীর নামের একটি তালিকা।

এখন আপনি নামের এক ব্যবহারকারী সরাতে চান অনুমান thisuser নামক একটি গ্রুপ থেকে thatgroup। ব্যাক আপ দিয়ে শুরু করুন /etc/group, তারপরে ফাইলটি সম্পাদনা করার জন্য সুরক্ষা সুবিধা সহ আপনার পছন্দসই সম্পাদকটি ব্যবহার করুন /etc/group এবং রেখা প্রবেশ thisuserথেকে রেফারেন্সটি সরিয়ে ফেলুন thatgroup, যেমন,

মূল লাইনটি এরকম কিছু:

thatgroup:x:1274:someuser,thisuser,anotheruser

সম্পাদনার পরে এইভাবে ছেড়ে দেওয়া উচিত:

thatgroup:x:1274:someuser,anotheruser

অন্যান্য সমস্ত উত্তরের মতো এটি ব্যবহারকারীর বর্তমান অধিবেশন (গুলি )গুলিতে কোনও প্রভাব ফেলবে না (যদি ব্যবহারকারী বর্তমানে লগইন থাকে)। ব্যবহারকারী পরবর্তী সময়ে লগ ইন করার পরে এই পরিবর্তনটি কার্যকর হবে।


1
vigrইতিমধ্যে /etc/groupম্যানুয়ালি সম্পাদনার জন্য উল্লেখ করা হয়েছিল । আমার ম্যানুয়াল পৃষ্ঠাতে বলা হয়েছে যে ব্যবহারকারীর নামগুলি কমন দ্বারা আলাদা নয়, কমা দ্বারা পৃথক করা হয়। রিবুট করা প্রয়োজনীয় নয়, আপনাকে কেবল পুনরায় লগইন করতে হবে (বা ব্যবহার করতে হবে newgrp)।
লেকেনস্টেইন

যে কোনও ডেবিয়ান ব্যবহারকারী এই তীরে আঘাত হানার জন্য ক্লু খুঁজছেন তাদের সহায়তা করার জন্য ... ওপির প্রশ্নের ক্ষেত্র অনুযায়ী এটি ডিবিয়ানের পক্ষে যথেষ্ট হতে পারে, তবে আপনি যদি এটি * বিএসডি ওএসের জন্য ব্যবহার করে থাকেন তবে আপনার প্লেইনেক্সট ফাইলটি সংশোধন করতে হবে উল্লিখিত হিসাবে এখানে, তারপর একটি pwd_mkdb -p /etc/master.passwd ইস্যু করুন সেই তালিকাটি বাস্তবে ব্যবহারের জন্য।
ড্যানো

3

আপনি SUSE বিতরণে নীচের কমান্ডটি ব্যবহার করতে পারেন (এবং দৃশ্যত অন্য কেউ নেই )।

usermod -R গ্রুপ  USER_NAME

groupআপনি যে গোষ্ঠীটি থেকে ব্যবহারকারী এবং ব্যবহারকারীকে সরিয়ে দিতে চান সেই গ্রুপটি কোথায় user_name। উদাহরণ স্বরূপ,

usermod -R root imnottheroot

1
কোন প্যাকেজটি আপনার ব্যবহারকারীমোড বাইনারি সরবরাহ করে? আমি সংস্করণটি জানতে চাইছি, কারণ ছায়া-ইউটিস -১.১.৪.৩ থেকে আমার -R বিকল্পটি সরবরাহ করে না।
মাইরোস্লাভ

3
আমার ছায়া 4.1.5.1-5 প্যাকেজ (আর্চ লিনাক্স) এর একটি -Rবিকল্প রয়েছে, তবে এর অর্থ অন্য কিছু। আমার ধারণা এটি লিনাক্স নয়।
লেকেনস্টেইন

3
আমি নিশ্চিত না যে এটি কাজ করবে। -Rম্যানপেজটি বলছে : "-আর, --root CHROOT_DIR CHROOT_DIR ডিরেক্টরিতে পরিবর্তনগুলি প্রয়োগ করুন এবং CHROOT_DIR ডিরেক্টরি থেকে কনফিগারেশন ফাইলগুলি ব্যবহার করুন।"
মাইককুসোল্ড

2
শুধুমাত্র কিছু সাজানোর এর সাথে সম্পর্কিত আমি খুঁজে পাইনি ছিল এই ওরাকল র manpage, কিন্তু যে এখনও একই জিনিস সম্পর্কে না, তাই এই উত্তর হয়তো অপসারণ করা উচিত।
কিরিয়াস

sudo usermod -R admin jenkinsইউজারমড: অবৈধ ক্রুট পাথ 'অ্যাডমিন'
জোনাথন

1

বিবেচনা:

  • ব্যবহারকারীর নাম: abc2
  • দলের নাম: newgroup11

  • কার্য: ব্যবহারকারীকে abc2দল থেকে সরানো হচ্ছেnewgroup11

[root@home1 ~]# groups abc2
abc2 : abc2
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# groups abc2
abc2 : abc2 newgroup11
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# usermod -G abc2 abc2
[root@home1 ~]# groups abc2
abc2 : abc2

** আমি ভুল হলে দয়া করে আমাকে সংশোধন করুন। **


1
এটি "কাজ করে" তবে কেবলমাত্র আপনার একক মাধ্যমিক গোষ্ঠী রয়েছে। usermod -G newgroup11 abc2আপনাকে সেকেন্ডারি গ্রুপে রাখবে newgroup11। যেহেতু প্রাথমিক গোষ্ঠীটি abc2, তাই আপনার উভয় গ্রুপেই শেষ হবে। মাধ্যমিক গোষ্ঠীগুলি থেকে অপসারণের usermod -g abc2 abc2ফলাফল ফলাফল কারণ এটি আর উল্লেখ করা হয়নি। সুতরাং তিন বা ততোধিক পৃথক গোষ্ঠীর জন্য এই পদ্ধতিটি কার্যকর হবে না। আরও ভাল কমান্ডের জন্য জড়িত অন্যান্য উত্তরগুলি দেখুন । newgroup11gpasswd
লেকেনস্টেইন

1

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


1
এই তথ্য ইতিমধ্যে একাধিকবার উপস্থাপন করা হয়েছে।
স্কট

0

ডিস্ট্রোতে (যেমন ফেডোরার মতো) ব্যবহারকারীর ব্যবহার চালিয়ে যাওয়ার জন্য যার অপসারণের বিকল্প নেই, যেখানে ব্যবহারকারী = বব এবং গোষ্ঠী = মুছে ফেলা হবে, আদেশটি হ'ল:

usermod -G `cat /etc/group |  grep bob | grep -v deletethisgroup | cut -d ':' -f 1 | tr '\n' ',' | sed 's/,$//'` bob

পাইপগুলি (1) সমস্ত গ্রুপ এন্ট্রি ব্যবহারকারীর অন্তর্ভুক্ত হয়, (2) অপসারণ করা দরকার এমন একটিটি বের করে, (3) প্রথম কলামটি (গোষ্ঠীর নাম) ফেরত আসে, কমা দিয়ে নিউলাইনটি প্রতিস্থাপন করে, এবং পিছনে থাকা কমাটি সরিয়ে দেয়।

অবশ্যই, আপনি সমস্ত কিছু ব্যাশ স্ক্রিপ্টে রাখতে পারেন যা ব্যবহারকারী এবং গোষ্ঠীটিকে পরামিতি হিসাবে মুছে ফেলার জন্য লাগে। শেষটি সংক্ষিপ্ত করতে awk ব্যবহার করা যেতে পারে তবে আমি গ্রিপ, কাট, টিআর এবং সিডের সাথে লেগে থাকতে চাই।


এই ম্যান পৃষ্ঠা অনুসারে , gpasswd -d bob deletethisgroupখুব উপলব্ধ। কোন কারণ আপনি এটি ব্যবহার করছেন না?
লেকেনস্টেইন

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

আমি বুঝতে পারি যে ইউটিলিটির নামকরণ করা হয়েছে gpasswdকারণ এটি ঘনিষ্ঠভাবে সম্পর্কিত /etc/passwd, তবে পরিবর্তে গোষ্ঠীগুলি পরিচালনা করে। প্লেইন passwdকমান্ডের বিপরীতে যা কেবল পাসওয়ার্ড নিয়ন্ত্রণ করে, gpasswdএকটি গ্রুপের সদস্যতা পরিচালনা করতেও ব্যবহার করা যেতে পারে। আপনি যদি গোষ্ঠী বা গোষ্ঠী প্রশাসক হন তবে একটি গোষ্ঠী পাসওয়ার্ডের প্রয়োজন নেই।
লেকেনস্টেইন

আপনি gpasswd ম্যানুয়ালটি পড়েছেন? ফেডোরা / আরএইচইএল / সেন্টোস-এর জন্য, আপনি যদি ম্যানুয়ালটি পড়েন তবে উল্লেখ করা হয়েছে যে "/ etc / গোষ্ঠী পরিচালনা করা, এবং / etc / gshadow" কমান্ডটি ব্যবহৃত হয়। এটি আসলে / ইত্যাদি / পাসডাব্লুডের উপর কোনও প্রভাব ফেলেনি। ম্যানুয়ালে আরও বলা হয়েছে "গ্রুপ পাসওয়ার্ডগুলি একটি অন্তর্নিহিত সুরক্ষা সমস্যা কারণ যেহেতু একাধিক ব্যক্তিকে পাসওয়ার্ড জানার অনুমতি দেওয়া হয়।" এটি আসলে কোনও গোষ্ঠীর সদস্যতা পরিচালনা করে না, এটি গোষ্ঠীটি পাসওয়ার্ড সহ যে কোনও ব্যবহারকারীর কাছে খোলে। আপনি যদি ইতিমধ্যে দলের সদস্য হন তবে একটি গোষ্ঠী পাসওয়ার্ডের প্রয়োজন নেই।
স্টিফেন

ঘনিষ্ঠভাবে সম্পর্কিত একই নামকরণ এবং উদ্দেশ্যগুলির অর্থে ছিল, আমি বোঝাই নি যে / etc / passwd ফাইলটি আসলে gpasswd দ্বারা পরিচালিত হয়। নোট করুন যে আমার প্রথম মন্তব্যে "ম্যান পেজ" ফেডোরা 13 এর জন্য gpasswd ম্যানুয়াল পৃষ্ঠাতে ইঙ্গিত করেছে Using gpasswd $groupআপনি ব্যবহার করে গোষ্ঠী পাসওয়ার্ড সেট করতে পারেন যা আপনার উল্লেখ করা সুরক্ষার সমস্যার কারণ হয়ে দাঁড়িয়েছে। তবে আপনি এটিও করতে পারেন না একটি পাসওয়ার্ড আছে এবং ব্যবহার gpasswd -d $user $groupপ্রথম মন্তব্য এবং গ্রহণযোগ্য উত্তর বর্ণনা অনুযায়ী একটি ব্যবহারকারী মুছে দিন। নোট করুন যে এই কমান্ডটি কোনও গোষ্ঠী পাসওয়ার্ডের জন্য অনুরোধ করে না বা এটির সংশোধন বা প্রয়োজনীয়তাও দেয় না।
লেকেনস্টেইন

0

মনে করুন যে সেই ব্যবহারকারীর নাম = ছাত্র এবং গোষ্ঠী নাম = গবেষণা , সুতরাং গোষ্ঠী studentথেকে ব্যবহারকারীদের অপসারণ researchকরার জন্য নিম্নলিখিত কাজগুলি করা দরকার:

gpasswd -d student research

কেন কিছু পুনরাবৃত্তি করতে হবে, যে এখানে 6 বছর আগে ছিল? এটি গৃহীত উত্তর হিসাবে চিহ্নিত!
বেতলিস্টা

-1
pw groupmod "groupname|gid" -d "username|uid"

আপনি যে কোনও কারণেই সিএসএইচ ব্যবহার করছেন এমন একটি সমাধান।


-1

একটি গ্রুপ gpasswd থেকে কোনও ব্যবহারকারীকে সরানো এই আইএমওর জন্য সর্বোত্তম উপযোগ।

কমান্ড উদাহরণ:

sudo gpasswd -d group user

* সহায়তা তথ্য *

Usage: gpasswd [option] GROUP

Options:
  -a, --add USER                add USER to GROUP
  -d, --delete USER             remove USER from GROUP
  -h, --help                    display this help message and exit
  -Q, --root CHROOT_DIR         directory to chroot into
  -r, --delete-password         remove the GROUP's password
  -R, --restrict                restrict access to GROUP to its members
  -M, --members USER,...        set the list of members of GROUP
  -A, --administrators ADMIN,...
                                set the list of administrators for GROUP
Except for the -A and -M options, the options cannot be combined.

1
গ্রুপ এবং ব্যবহারকারীর যুক্তিগুলি অদলবদল করা হয়। এছাড়াও, গ্রহণযোগ্য উত্তর প্রস্তাবিত হ'ল এই পোস্টটি আসলেই সহায়ক নয়?
লেকেনস্টেইন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.