ব্যবহারকারীর নাম পরিবর্তন করার চেষ্টা করার সময়, টার্মিনাল আমাকে বলে যে ব্যবহারকারী বর্তমানে প্রক্রিয়া দ্বারা ব্যবহৃত হয়েছে


16

নীচের কমান্ডটি চালানোর পরে আমি এখানে পরামর্শ অনুযায়ী আমার ব্যবহারকারীর নামটি পরিবর্তন করার চেষ্টা করছি :

CurrentName@HostName ~ $ sudo usermod -l TheNameIWantToChange -d /home/TheNameIWantToChange -m CurrentName

টার্মিনাল এর সাথে প্রতিক্রিয়া জানায়:

CurrentName@HostName ~ $ usermod: user CurrentName is currently used by process 2491

এবং ব্যবহারকারীর নাম একই থাকে। কেউ কি জানেন যে আমি কীভাবে এটি ঠিক করতে এবং সর্বোপরি নিজের ব্যবহারকারীর নামটি পরিবর্তন করতে পারি?

উত্তর:


8

উদ্ধৃতি man usermod:

CAVEATS
   You must make certain that the named user is not executing any 
   processes when this command is being executed
   if the user's numerical user ID, the user's name, or the user's home 
   directory is being changed.  usermod
   checks this on Linux, but only check if the user is logged in 
   according to utmp on other architectures.

সুতরাং, আপনাকে নিশ্চিত করতে হবে যে আপনি যে নাম পরিবর্তন করছেন সেটি লগ ইন নেই।

এছাড়াও, আমি নোট করছি আপনি এটিকে মূল হিসাবে চালাচ্ছেন না। হয় এটিকে মূল হিসাবে চালান, বা "sudo usermod" দিয়ে চালান।


3
আপনি যদি প্রক্রিয়াটি পুনরায় আরম্ভ না করে হত্যা করতে না পারেন তবে কমান্ডটি একত্র করুনkill -9 23162 && sudo usermod -l TheNameIWantToChange -d /home/TheNameIWantToChange -m CurrentName
রিচার্ড ফ্রাঙ্ক

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

1

আমি মনে করি আপনার অন্য ব্যবহারকারীর সাথে কমান্ডটি চালানো উচিত। রুট, বা অন্য ব্যবহারকারীর সাথে লগইন করুন এবং আবার চেষ্টা করুন। আপনি যদি পরিবর্তন করতে চান এমন ব্যবহারকারীর সাথে যদি আপনি এক্স উইন্ডোতে থাকেন তবে কমান্ডগুলি ব্যর্থ হয় তা যৌক্তিক মনে হয়।


1

এটি মূলত উবুতুতে সমস্যা যেখানে আপনার প্রথম স্থান থেকে লগইন করার কোনও রুট অ্যাকাউন্ট নেই। সুতরাং এটি একটি বৈপরীত্য তৈরি করে: আমি সুডোর গ্রুপের একজন ব্যবহারকারী। আমি নিজের ইউড পরিবর্তন করতে পারি না

নিশ্চিত না যে এটিই সেরা সমাধান। আমি প্রথমে একটি জাল অ্যাকাউন্ট foo তৈরি করি, এটি sudo তালিকায় যুক্ত করুন। তারপরে আমি foo অ্যাকাউন্টে লগইন করে এবং ব্যবহারকারী-জি মাইওএনজিআইডি মাইলগিন কার্যকর করি


0

ইউজারমোড ব্যবহার করে আমার একই সমস্যা রয়েছে, এটি -m প্যারামিটার ব্যবহার করে ঠিক করা হয়েছে, যা হোম ডিরেক্টরিটির সামগ্রীটি একটি নতুন স্থানীয়করণে সরিয়ে দেয় move -D এর সংমিশ্রণে এই বিকল্পটি ব্যবহার করুন (ব্যবহারকারীর প্রধান ডিরেক্টরিটি যেখানে সেখানে ব্যবহারকারী পরিবর্তন করুন)।

আমি ম্যান ইউজারমড কমান্ডটি দেখতে পরামর্শ দিই


0

এই পদক্ষেপগুলি ব্যবহার করে দেখুন:

  1. রুট ব্যবহারকারীর জন্য পাসওয়ার্ড সেট করুন:

sudo passwd মূল

  1. রিবুট উবুন্টু
  2. বুট আপ করার পরে "রুট" হিসাবে লগইন করুন -> এটি উবুন্টুকে বর্তমান ব্যবহারকারীর জন্য কোনও প্রক্রিয়া তৈরি করতে দেয় না।
  3. ব্যবহারকারীর নাম পরিবর্তন করুন

    ব্যবহারকারীর -l newuser -d / home / newuser -m পুরাতন ব্যবহারকারী

  4. / হোম ডিরেক্টরিতে নতুন ব্যবহারকারীর নাম সহ ফোল্ডারের নাম পরীক্ষা করে ব্যবহারকারীর নাম পরিবর্তিত হয়েছে তা যাচাই করুন

-1

আপনার লগ ইন করা ব্যবহারকারীর ব্যবহারকারীর নাম পরিবর্তন করা উচিত নয়। পরিবর্তে, আপনার সমস্ত ব্যবহারকারীর প্রক্রিয়া শেষ করা উচিত, সংযোগ বিচ্ছিন্ন করতে হবে, ভিন্ন ব্যবহারকারী হিসাবে লগ ইন করতে হবে এবং তারপরে নাম পরিবর্তন করতে হবে।

যদি এটি খুব বেশি কাজের মতো মনে হয় তবে আপনি এই পরিবর্তনটি গরম করতে পারেন: https://medium.com/@deltazero/linux-howto-rename-currently-operating-user-f8fae62db110

এটি এর মতো কাজ করে:

# your new username
newuser=dave

# root-run these all at once
sudo su -c "\
  sed -i s/$USER/$newuser/g /etc/group \
  && sed -i s/$USER/$newuser/g /etc/shadow \
  && sed -i s/$USER/$newuser/g /etc/passwd \
  && mv /home/$USER/ /home/$newuser"

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