বিদ্যমান ব্যবহারকারীকে একটি বিদ্যমান গ্রুপে কীভাবে যুক্ত করবেন?

আমি অ্যাপাচি ব্যবহারকারী যুক্ত করতে চাই (www-data) থেকে audio গ্রুপ. আমি ম্যান পৃষ্ঠাটি পড়েছি useradd, কিন্তু আমি কোন ভাগ্য হচ্ছে না. আমি জুবুন্টু চালাচ্ছি 11.10. আমি যা করছি তা এখানে:

$ sudo useradd -G audio www-datauseradd: user 'www-data' already exists

যদি আমি বাইরে চলে যাই -G বিকল্প, ব্যাশ, এর জন্য সহায়তা তথ্য প্রিন্ট করে useradd:

$ sudo useradd  audio www-dataUsage: useradd [options] LOGINOptions: -b, --base-dir BASE_DIR       base directory for the home directory...

এটা আমি এই কাজ করতে ব্যবহার করা উচিত কি অপশন ম্যান পৃষ্ঠা থেকে আমার কাছে স্পষ্ট নয়.

দ্য useradd কমান্ড একটি নতুন ব্যবহারকারী যোগ করার চেষ্টা করবে. যেহেতু আপনার ব্যবহারকারী ইতিমধ্যে বিদ্যমান এই কি আপনি চান না.

পরিবর্তে: একটি বিদ্যমান ব্যবহারকারী পরিবর্তন করতে, একটি নতুন গ্রুপে যে ব্যবহারকারী যোগ করার মত, ব্যবহার করুন usermod কমান্ড.

এই চেষ্টা করুন:

sudo usermod -a -G groupName userName
  • দ্য -a (সংযোজন) সুইচ অপরিহার্য. অন্যথা, ব্যবহারকারী তালিকায় না, কোনো গ্রুপ থেকে মুছে ফেলা হবে.

  • দ্য -G সুইচ ব্যবহারকারী দায়িত্ব অর্পণ করা অতিরিক্ত দলের একটি (কমা-পৃথক) তালিকা লাগে.

সাধারণভাবে (জিইউআইয়ের জন্য, বা ইতিমধ্যে চলমান প্রক্রিয়াগুলির জন্য ইত্যাদি), ব্যবহারকারী লগ আউট এবং লগ ইন করতে হবে তাদের নতুন গ্রুপ যোগ দেখতে. বর্তমান শেল সেশনের জন্য, আপনি ব্যবহার করতে পারেন newgrp:

newgrp groupName
  • newgrp বর্তমান শেল অধিবেশন গ্রুপ যোগ করে.

একটি গ্রুপে একটি ব্যবহারকারী যুক্ত করা হচ্ছে:

sudo adduser user group

একটি গ্রুপ থেকে একটি ব্যবহারকারী সরানো হচ্ছে:

sudo deluser user group

একটি বিদ্যমান ব্যবহারকারী যোগ করার পরে:

usermod -a -G group user  

আপনার প্রয়োজন হতে পারে লগআউট এবং লগইন থেকে গ্রুপ অনুমতি পেতে /etc/group.

আমি সাধারণত ব্যবহার করি

sudo gpasswd -a myuser mygroup

আমি মন্তব্য করতে যথেষ্ট খ্যাতি আছে না, কারণ আমি একটি উত্তর হিসাবে এই পোস্ট করছি. @ ডিপেন্ডোলিনো যেমন উল্লেখ করেছেন, এই কমান্ডের প্রভাব অব্যাহত রাখার জন্য:

sudo usermod -a -G groupName userName

...আপনি লগ আউট/আবার লগইন করতে হবে.

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

$ sudo su -# su [userName]$ groups

ব্যাখ্যা:

  • sudo su - আপনি একটি রুট শেল দিতে হবে
  • su [userName] আপনার ব্যবহারকারীর সাথে একটি শেল আপনি ফেরৎ
  • groups এখন চালানো হলে আপনার সাথে যোগ করা গ্রুপ প্রদর্শন করবে usermod -aG কমান্ড

আমার ক্ষেত্রে আমি আমার ব্যবহারকারীর সাথে 'ডকার' গ্রুপ যুক্ত করার চেষ্টা করছিলাম

পূর্বে:

$ groupsuserName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

পরে:

$ groupsuserName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker
sudo usermod -a -G groupName userName

শুধু জরিমানা কাজ করবে, কিন্তু আমি ছিল পুনরায় বুট করুন সম্পূর্ণরূপে, শুধু লগ আউট এবং আবার লগ ইন কাজ না...

উবুন্টুতে, যেহেতু হিসাবে লগ ইন root সক্রিয় করা হয়নি, ব্যবহারকারীদের মধ্যে sudo গ্রুপ নির্দিষ্ট সীমিত কমান্ডের জন্য বিশেষাধিকার বাড়িয়ে পারেন. কোন সীমাবদ্ধ কমান্ড সঙ্গে প্রস্তুত করা আবশ্যক sudo বিশেষাধিকার চড়ান.

sudo usermod -a -G গ্রুপ ব্যবহারকারী

বিদ্যমান ব্যবহারকারী যোগ হবে user নামকরণ করা একটি পরিপূরক গ্রুপে group. ব্যবহারকারীর প্রধান গ্রুপ অপরিবর্তিত থাকবে.

স্থায়ীভাবে কোনও ব্যবহারকারীকে একটি গ্রুপে যুক্ত করতে, এই কমান্ডটি চালান:

sudo usermod -a -G <groupname> <username>

তারপরে লগ আউট করুন এবং আবার লগ ইন করুন (বা প্রয়োজনে পুনরায় বুট করুন)

ব্যাখ্যা:

দ্য usermod কমান্ড পরিবর্তন হবে /etc/group ফাইল লাইন যে গ্রুপ প্রাসঙ্গিক নির্দিষ্ট ব্যবহারকারীর নাম তালিকা. আপনি যদি চালান grep <groupname> /etc/group, আপনি আউটপুট আপনার ব্যবহারকারীর নাম দেখতে হবে.

লিনাক্স, প্রত্যেক প্রক্রিয়ার একটি ব্যবহারকারী এবং গ্রুপ নির্ধারিত হয়, এবং কোন সন্তানের প্রসেস ঊর্ধ্বতন প্রক্রিয়ার ব্যবহারকারী এবং গ্রুপ উত্তরাধিকারী. সুতরাং, এই পরিবর্তনটি কার্যকর হওয়ার জন্য এবং প্রস্তাব দেওয়ার জন্য আপনাকে লগ আউট করে আবার লগ ইন করতে হবে (কোন মুহুর্তে /etc/group পড়া এবং ব্যবহার করা হয়). ওয়েল্যান্ডে, আমি দেখেছি যে একটি সম্পূর্ণ রিবুট প্রয়োজন.

আপনি যদি কমান্ডটি চালান groups বর্তমান প্রক্রিয়া প্রত্যাশিত গ্রুপ বা না আছে, যদি আপনি দেখতে পারেন.