আমি কীভাবে নিজের ব্যবহারকারী আইডি পরিবর্তন করতে পারি?


49

আমার সিস্টেমে কেবল একজন ব্যবহারকারী রয়েছেন। আমি কীভাবে এর ব্যবহারকারীর আইডি 1000 এর ডিফল্ট থেকে পরিবর্তন করতে পারি?

একটি সাধারণ ডেস্কটপ ইনস্টলেশন লগইন প্রক্রিয়া ভাঙ্গা এড়ানোর জন্য যদি অতিরিক্ত পদক্ষেপগুলি প্রয়োজন হয় তবে সেগুলি উত্তরের অংশ হিসাবে অন্তর্ভুক্ত করা উচিত।


5
কৌতূহলের বাইরে, কোনও ইউজার আইডি পরিবর্তন করার কারণগুলি কী কী?
অলিভিয়ের লালনডে

14
আপনি যদি সাধারণত এনএফএসের মাধ্যমে অন্যান্য সিস্টেমের সাথে ডেটা, বা ইউআইডি সংরক্ষণ করে এমন কিছু অনুলিপি পদ্ধতি অবলম্বন করেন তবে আপনি যদি সিস্টেমের সর্বত্র একই ব্যবহারকারীর জন্য একই ইউআইডি ব্যবহার করেন তবে এটি সহায়তা করবে।
জোও পিন্টো

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

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

উত্তর:


27

সমস্যাটি হ'ল, যেমনটি আপনি উল্লেখ করেছেন, আপনার ব্যবহারকারীর ইউআইডিটি কোনও সেশনে লগ ইন করার পরে আপনি পরিবর্তন করতে পারবেন না। এগিয়ে যেতে আপনাকে অন্য ব্যবহারকারীর অ্যাকাউন্ট ব্যবহার করতে হবে।

তবে আপনাকে নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে হবে না, এডমিনে প্রচার করতে হবে, লগ আউট করতে হবে, নতুন অ্যাডমিন অ্যাকাউন্টে লগ ইন করতে হবে, আপনার প্রাথমিক অ্যাকাউন্টের ইউআইডি পরিবর্তন করতে হবে, লগ আউট করতে হবে, আপনার প্রাথমিক অ্যাকাউন্টে লগ ইন করতে হবে এবং নতুন প্রশাসক ব্যবহারকারীকে মুছতে হবে না শুধু আপনার ইউআইডি পরিবর্তন করুন। ;)

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

যেহেতু পুনরুদ্ধার মোড কেবল কমান্ড লাইন ইন্টারফেসে কাজ করে, একবার রুট সেশনে লগইন করে আপনাকে:

  1. ব্যবহার করুন read-write মোডে root ফাইল-সিস্টেমের পুনরারোহণ করার BubbaJ এর নির্দেশাবলী : mount -o remount,rw /

  2. ব্যবহার করুন লুইস আলভারাডো হুকুম : usermod -u NEW_UID your_username

  3. ফাইল অনুমতিগুলি আপডেট করার জন্য ডিডিমেকের নির্দেশাবলী অনুসরণ করুন ।
  4. তারপরে, আপনার কম্পিউটারটি পুনরায় চালু করুন ( reboot), যাতে আপনি স্বাভাবিক মোডে বুট করতে পারেন।

1
উবুন্টু 14.04 এর জন্য কাজ করে না। করার পরে usermod -u NEW_UID your_usernameএবং find / -uid 1000 -exec chown -h 5000 '{}' \+পুনরায় বুটটি অনুমান-সেশন-কেবল জিইউআই লগইনকে নিয়ে যায়।
কে

হতে পারে, বাড়িতে লুকানো ফাইলগুলি সঠিকভাবে পরিবর্তন করা যায় না? আপনি কি আপনার বাড়ির জন্য এনক্রিপশন ব্যবহার করেন?
গণিত

আপনি যদি এই কনফিগারেশন ফাইলগুলিতে প্রদত্ত নীতিগুলির বাইরে আপনার ইউডি পরিবর্তন করে থাকেন তবে আপনি নিজের /etc/login.defsএবং /etc/adduser.confফাইলগুলি পরীক্ষা করতে চাইতে পারেন। নীতি সীমা বাইরের ব্যবহারকারীগণ লগইন লুপে প্রদর্শিত হয় না তবে আপনি নীতি পরিবর্তন করতে পারেন। এই উত্তরটি
কে মার্কি

usermod: user user_name is currently used by process 1118 @Alexandre পি
Alper

54

আপনি এটা পরিবর্তন করতে পারেন /etc/passwd, /etc/groupএবং /etc/shadowঅথবা আপনি উপরে পছন্দের possibilties ব্যবহার করুন। তবে - সবচেয়ে গুরুত্বপূর্ণ - আপনাকে ব্যবহারকারীর অন্তর্ভুক্ত সমস্ত ফাইলের মালিকানা পরিবর্তন করতে হবে।

উদাহরণস্বরূপ, যদি পুরানো ব্যবহারকারীর আইডি 1000 এবং নতুনটি 5000 হয়:

find / -uid 1000 -exec chown -h 5000 {} +

এবং গ্রুপ আইডির জন্য একই (যদি আপনি এটিও পরিবর্তন করেন)।

find / -gid 1000 -exec chgrp -h 5000 {} +

8
এটি একটি সত্যই গুরুত্বপূর্ণ বিষয়। আপনি যদি এগুলি না করেই অন্যান্য উত্তরগুলিতে প্রদত্ত কৌশলগুলি অনুসরণ করেন তবে অনেক কিছুই ভাঙ্গবে।
পুলি

4
আমি শুধু একটা ভাল ব্যবহার করা উচিত শিখেছি sudo find / -xdev -uid 1000 -exec chown 5000 '{}' \+, অন্যথায় এক মাউন্ট তথ্য (অন্তর্ভুক্ত হবে /mntসঙ্গে, যা সম্ভবত অবাঞ্ছিত হয়) এবং আপনি যে ফাইলগুলি ভালো জগাখিচুড়ি /procএবং /devএই পোস্টটি
সেবাস্তিয়ান

2
এটি একটি ভাল ধারণা নয়। / হোম অন্যরকম একটি ফাইল সিস্টেমে রয়েছে সেই ক্ষেত্রে আপনি নিজের ফাইলগুলির মালিকানাও পরিবর্তন করতে পারবেন না।

এই উত্তরে আপনাকে / ইত্যাদি ফাইলগুলি সম্পাদনা করার আগে গ্রুপ এবং uid অনুমতিগুলি পরিবর্তন করা উচিত?
মিঃ ডানিয়েল

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

25

@ আলেকজান্দ্রিপি এর ভিত্তিতে সম্পূর্ণ সমাধান এবং @ddeimeke + অফিসিয়াল ডকুমেন্টেশন। পুনরায় বুট করার দরকার নেই।

দেবিয়ান / উবুন্টু নীতিটি হ'ল যদি jimব্যবহারকারী আইডি সহ কোনও ব্যবহারকারী 1001থাকে তবে jimগ্রুপ আইডি সহ একটি গ্রুপও থাকে 1001। এই সমাধানটি সেই গোষ্ঠী আইডিগুলিকেও আপডেট করে।

  1. মূল অ্যাকাউন্টটি সক্ষম করুন :

    sudo passwd root
    
  2. যদি ব্যবহারকারী লগ ইন থাকে তবে লগ আউট (ভার্চুয়াল টার্মিনালগুলিতেও)
  3. ভিটি 1 এ যান: Ctrl-Alt-F1
  4. রুট হিসাবে লগ ইন করুন এবং এটি ব্যবহারকারীর নাম এবং পুরানো / নতুন ইউআইডি সরবরাহ করে চালান:

    # put the information we need in variables
    username=...
    old_uid=`id -u $username`  # looks up current (old) uid
    new_uid=...
    
    # update the user ID and group ID for $username
    usermod -u $new_uid $username
    groupmod -g $new_uid $username
    
    # update the file ownerships
    # NB: you cannot combine the next two chowns, or files where 
    # only the uid xor the gid matches won't be updated  
    chown -Rhc --from=$old_uid $new_uid /    # change the user IDs
    chown -Rhc --from=:$old_uid :$new_uid /  # change the group IDs
    
  5. প্রস্থান
  6. হিসাবে লগ ইন করুন $username
  7. মূল অ্যাকাউন্টটি অক্ষম করুন :

    sudo passwd -dl root
    

রুট অ্যাকাউন্ট সক্ষম করা প্রয়োজন হবে না; শুধু রিকভারি মোড ব্যবহার করুন ।
ündrük

2
এটি রিবুট করার চেয়ে দ্রুত হওয়া উচিত, এ কারণেই আমি এটি পোস্ট করেছি।
l0b0

3
উবুন্টু 14.04 এবং 14.10 এ আপনাকে / মিডিয়াতে বর্ধিত এসিএল অনুমতিগুলিও ঠিক করতে হবে অন্যথায় পুরানো ইউআইডি রয়ে গেছে বলে অটোমোটিং (নটিলাস / নিমোতে) বিরতি। sudo setfacl -m "u:<NEWUID>:r-x" /media/<USERNAME> sudo setfacl -x "u:<OLDUID>" /media/<USERNAME>
richud.com

এটি আমার জন্য কবজির মতো কাজ করেছিল। যদিও শুধুমাত্র ইউড পরিবর্তন করতে হয়েছিল।
chmike

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

7

আপনি যদি কনসোল এ গিয়ে টাইপ করেন: usermod --helpআপনি প্যারামিটারগুলির মধ্যে একটি পাবেন:

-u, --uid ব্যবহারকারী অ্যাকাউন্টের জন্য নতুন ইউআইডি

সুতরাং আপনি যদি ব্যবহারকারী সাইরেক্সের জন্য ইউআইডি পরিবর্তন করতে চান তবে করুন:

usermod -u 1000 cyrex

এটি 1000 এর আগে যা কিছু মান ছিল তা থেকে সেরেক্সের জন্য ইউআইডি পরিবর্তন করবে

আপনি যদি এটি দেখতে চান তবে এইটি করুন:

যাও

সিস্টেম -> প্রশাসন -> ব্যবহারকারী এবং গ্রুপস

তালিকা থেকে নিজেকে নির্বাচন করুন এবং অ্যাডভান্সড সেটিংগুলিতে ক্লিক করুন

ইউআইডি সেই উইন্ডোর শেষে রয়েছে।


1
আপনার প্রস্তাবিত গ্রাফিকাল পদ্ধতিটি চেষ্টা করে দেখেছি, তবে একটি বার্তা রয়েছে যে "ব্যবহারকারী লগ ইন করার সময় আপনি ব্যবহারকারীর আইডি পরিবর্তন করতে পারবেন না।" আপনি কি এই পদ্ধতিটি পরীক্ষা করেছেন?
ündrük

2
হেই ভাল যে সত্য। আমি অন্য একাউন্ট দিয়ে চেষ্টা করেছি। আপনাকে মূল বা অন্য কোনও অ্যাডমিন অ্যাকাউন্টের মাধ্যমে লগইন করতে হবে। তারপরে গ্রাফিকাল পদ্ধতিতে করুন। তার জন্য দুঃখিত।
লুইস আলভারাডো

2
  • গোটো সিস্টেম >> প্রশাসন >> ব্যবহারকারী এবং গোষ্ঠী

বিকল্প পাঠ

  • উন্নত সেটিংস ক্লিক করুন এবং নীচে সেখানে উন্নত ট্যাবটি দেখতে পাবেন আপনার ব্যবহারকারী আইডি।
  • এটি পরিবর্তন করুন এবং ঠিক আছে ক্লিক করুন।
    বিকল্প পাঠ

1
আমি কি আপনার স্ক্রিনশটটিতে থাকা সতর্কবার্তাটি উপেক্ষা করব?
ündrük

এই সতর্কতা থেকে মুক্তি পেতে আপনাকে অন্য একটি ব্যবহারকারী অ্যাকাউন্ট থেকে এটি পরিবর্তন করতে হবে।
karthick87

7
আমার প্রশ্ন "আমি কীভাবে নিজের ব্যবহারকারী আইডি পরিবর্তন করতে পারি ?" যদি আপনি নিজের উত্তরটি স্থির করে থাকেন যে এই মানটি সম্পাদনা করার জন্য আমার একটি নতুন ব্যবহারকারী তৈরি করা উচিত তবে আপনার উত্তরটি এটিকে নির্দেশ করার জন্য সম্পাদনা করা উচিত।
ündrük

0

কেডিএ সহ: উন্নত ব্যবহারকারীর সেটিংস পরিবর্তন মেনুতে:

অন্য ব্যবহারকারী থেকে পরিবর্তন করা 1000 এর জন্য কাজ করে না যা ডিফল্ট ব্যবহারকারী।

আপনাকে তা ম্যানুয়ালি করতে হবে - আমার অভিজ্ঞতা


0

প্রথমে আপনাকে রুট হিসাবে অন্তত কিছু সময়ের জন্য লগইন করতে হবে, সুতরাং আসুন আমরা এটি সম্ভব করে তুলি:

sudo passwd root

পুনরায় বুট করুন, কনসোলে স্যুইচ করতে Ctrl + Alt + f1, রুট হিসাবে লগইন করুন, নিম্নলিখিতটি করুন (হোম ডিরের মালিকানা স্বয়ংক্রিয়ভাবে যত্ন নেওয়া হবে):

groupmod --gid NEWGID username
usermod  --uid NEWUID username 

আপনার বাড়ির দির ছাড়া অন্য জায়গায় আপনার ফাইলগুলির জন্য:

sudo chown -R username:username /path/to/files

আপনি চাইলে মূলের পাসডাব্লুটি মুছুন এবং লক করুন। (আমি এটি রাখার প্রবণতা রাখি):

passwd -dl root

0

আমি নিম্নলিখিত পরিবর্তনগুলির সাথে ডিডিমেকের নির্দেশনাগুলি অনুসরণ করেছি :

  1. আমি লগআউট করিনি এবং পরিবর্তে করেছি sudo su
  2. আমি স্পর্শ করিনি /etc/shadow

আমি অন্যান্য উত্তরে এটি উল্লেখ করে দেখেছি যে আপনি পুনরুদ্ধারে বুট করা উচিত বা লগইন করা উচিত root। খনিটি ছিল একটি নতুন উবুন্টু 14 ইনস্টল তাই আমি লগ ইন না করে এটি কাজ করবে কিনা তা পরীক্ষা করতে রাজি হয়েছিল root। এছাড়াও আমি এসসিএইচ-এর একটি ইসি 2 ইভেন্টে এটি করছিলাম।

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