এক টার্মিনালে ব্যবহারকারীদের মধ্যে কীভাবে স্যুইচ করবেন?


479

আমি বর্তমান ব্যবহারকারীর (একই টার্মিনালে) লগ আউট না করে ভিন্ন ব্যবহারকারী হিসাবে লগ ইন করতে চাই। আমি কেমন করে ঐটি করি?


1
আমি একটি অনুরূপ প্রশ্ন জিজ্ঞাসা করেছি, কারণ আমি এক্সডিজি এনভায়রনমেন্ট ভেরিয়েবলগুলি ( $XDG_RUNTIME_DIRবিশেষত) যেগুলি আমাকে বাদাম চালিয়ে যাচ্ছিল তা নিয়ে আমি দৌড়েছি । -> unix.stackexchange.com/questions/354826/…
জোনাথন

উত্তর:


559

suকমান্ড ব্যবহার সম্পর্কে ?

$ whoami
user1
$ su - user2
Password:
$ whoami
user2
$ exit
logout

আপনি যদি রুট হিসাবে লগ ইন করতে চান তবে ব্যবহারকারীর নাম উল্লেখ করার দরকার নেই:

$ whoami
user1
$ su -
Password:
$ whoami
root
$ exit
logout

সাধারণত, আপনি sudoব্যবহারকারী হিসাবে একটি নতুন শেল চালু করতে ব্যবহার করতে পারেন; -uপতাকা আপনি ব্যবহারকারী নাম যদি আপনি চান উল্লেখ করতে দেয়:

$ whoami
user1
$ sudo -u user2 zsh
$ whoami
user2

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


17
এছাড়াও, su - [user]দরকারী হতে পারে - অতিরিক্ত ড্যাশ আপনাকে লগইন শেল দেয়।
মুহূর্ত

আমি এই ত্রুটিটি পাচ্ছি "-সু: / দেব / স্ট্ডার: অনুমতি অস্বীকার করা হয়েছে" echo >>/dev/stderrকোনও লগ-ইন দিয়ে su --login ...কোনও লগিনে এই আদেশটি কার্যকর করার পরে ? আমি এই বিটিডব্লিকটি ইউনিক্স.স্ট্যাককেঞ্জেন্জ.কম
কুম্ভ বিদ্যুৎ

এটি কি প্রতিটি নতুন ব্যবহারকারীর পরিবেশের ভেরিয়েবলের জন্য আলাদা, ওভাররাইডিং মান রাখতে দেয়? ইত্যাদি কাজের জন্য যেমন Git কনফিগ, ওপেন সোর্স,
কেভিন Suttle

একটি সন্ধান, যখন আমি envএটি তালিকাভুক্ত করেছি তা দেখেছি যে সবকিছু ঠিক মতো ছিল এবং পাশাপাশি একটি ভিজ্যুয়াল পরিদর্শনও যেতে পারে; আর একটা কথা ভুল ছিল: XAUTHORITY=/home/user1/.Xauthority'. Not sure _why_? So X-window doesn't work by default because the protection on ~ / .Xauthority` হয় file: -rw-------। আমি একটি অনুলিপি তৈরি করেছি এবং এটি আমাকে পরীক্ষার মতো জিডিট চালাতে দেয়।
ইচ্ছা

1
যদি আপনি "এই অ্যাকাউন্টটি বর্তমানে উপলভ্য নয়" পান: সু-এস / বিন / বাশ
www-

46

সাধারণত আপনি নিজের পছন্দমতো sudoনতুন শেল চালু করতে ব্যবহার করেন ; -uপতাকা আপনি ব্যবহারকারী নাম যদি আপনি চান উল্লেখ করতে দেয়:

[mrozekma@etudes-1 ~] % whoami
mrozekma
[mrozekma@etudes-1 ~] % sudo -u nobody zsh
[nobody@etudes-1 ~] % whoami
nobody

আপনার মতো সুডো অ্যাক্সেস না থাকলে আরও বেশ কয়েকটি প্রচলিত উপায় রয়েছে ssh username@localhost, তবে আমার মনে sudoহয় এটি ইনস্টল করা থাকলে সম্ভবত এটি সবচেয়ে সহজ এবং আপনার এটি ব্যবহারের অনুমতি রয়েছে


আমার সিস্টেমে ssh সার্ভার বা sudo না থাকলে কী হবে? আপনি কি উত্তরের অংশটি উল্লেখ করতে পারেন?
tshepang

ঠিক আছে, প্র্যাট বললেন যে এক
tshepang

4
sudo -sআপনাকে যেমন একটি শেল দেয় su, sudo -iলগইনের মতো অনুকরণ করে su -। অবশ্যই একত্রিত করা যেতে পারে -u $user
মুহূর্ত

অনেক বেশি দক্ষ সাধারণত লগইন করতে পারবেন না এমন একজন ব্যবহারকারী হিসাবে "লগইন" করতে সক্ষম হলেন একটি দুর্দান্ত সম্পদ ..! অনুমতি বা সেলিনাক্স নিয়ে ঝামেলা ছাড়াই আমাকে পুরোপুরি একটি ডেটাবেস দৌড়ানোর অনুমতি দিয়েছে
ফলিক্স গাগনন-গ্রেনিয়ার

20
$ whoami 

এই কমান্ডটি বর্তমান ব্যবহারকারীর প্রিন্ট করে। ব্যবহারকারী পরিবর্তন করতে, আমাদের এই আদেশটি ব্যবহার করতে হবে (ব্যবহারকারীর পাসওয়ার্ড অনুসরণ করে):

$ su secondUser
Password:

সঠিক পাসওয়ার্ড প্রবেশের পরে, আপনি নির্দিষ্ট ব্যবহারকারী হিসাবে লগ ইন করবেন (যা আপনি পুনরায় চালনার মাধ্যমে চেক করতে পারেন whoami


আপনি sudoer না হলে দরকারী।
মার্কো সুলা

15

আপনি যদি উবুন্টু চালাচ্ছেন, এবং আপনি যদি ব্যবহারকারী হিসাবে লগইন করতে চান তবে পাসওয়ার্ড সেট নেই:

sudo su - username

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


8

টার্মিনাল সেশনটি অন্য কোনও ব্যবহারকারীর কাছে স্যুইচ করতে, যেখানে সেই ব্যবহারকারীটি মূল ব্যবহারকারীর মধ্যে ফিরে যেতে পারে না, এক্সিকিউট ব্যবহার করুন:

exec | # এক্সিকিউটিউ - [ব্যবহারকারীর নাম]

এটি নতুন মেয়াদী প্রক্রিয়াতে নতুন ব্যবহারকারীকে প্রযুক্তিগতভাবে লগইন করবে এবং বর্তমানটিকে বন্ধ করে দেবে। এই পদ্ধতিতে ব্যবহারকারী যখন প্রস্থান করার বা Ctrl-D চেষ্টা করবে তখন টার্মিনালটি বন্ধ হয়ে যাবে যদিও ব্যবহারকারী সেই ব্যক্তিই এটি ইনস্ট্যান্ট করেছিলেন, অর্থাত্, ব্যবহারকারীটি মূল ব্যবহারকারীর পদটিতে ফিরে যেতে পারে না। অর্থহীন, বিবেচনা করে তারা এখনও একটি নতুন টার্মিনাল সেশন শুরু করতে পারে এবং স্বয়ংক্রিয়ভাবে মূল ব্যবহারকারী শব্দ লগইন হতে পারে, কিন্তু এটি সেখানে।

সম্পাদনা: এটির মূল্য কী তা জন্য, আপনি ডিফল্টরূপে টার্মিনাল সেশনগুলি লক করতে আপনার। / .Bashrc- এ লিনাক্স ভ্লোক কমান্ডটি ব্যবহার করতে পারেন, শব্দটি সেশনের ব্যবহারকারীর পাসওয়ার্ডটি আনলক করার জন্য প্রয়োজনীয়। এটি ব্যবহারকারীর অ-ডিফল্ট। / .Bashrc ব্যবহার করে কনফিগার না করা হিসাবে ইনস্ট্যান্ট করা না হলে মূল ব্যবহারকারীর প্রেক্ষাপটে পূর্বোক্ত শব্দটি পুনঃসূচনাটি কিছুটা রোধ করবে।



2

তবুও অন্য একটি রুট হ'ল সেই ব্যবহারকারীরূপে কমান্ড চালানোর জন্য একটি পৃথক (নন-রুট) ব্যবহারকারী হিসাবে একটি নতুন শেল চালু করা।

ubuntu@aws-ip:~$ sudo -u mongodb bash          #<-- or zsh, etc... 
mongodb@aws-ip:~$ mongod --configsvr --dbpath /data/configdb --fork

এর একটি উদাহরণ mongodbব্যবহারকারী। শার্পযুক্ত মঙ্গোডিবি ক্লাস্টার স্থাপন করার সময়, সমস্ত প্রয়োজনীয় প্রক্রিয়াগুলি অবশ্যই চলমান হবে mongodbএবং কয়েক ডজন নোডের জন্য এনআইডি স্ক্রিপ্টগুলি ব্যবহার করে প্রক্রিয়াগুলি ডিমনাইজ করার জন্য এটি প্রয়োজনীয় (বা সম্পূর্ণ সুবিধাজনক) নয়।


2

আমাদের এই অধিকারটি পেতে দাও: আপনি ইউজারএ হিসাবে লগ ইন এবং কিছু কমান্ড চালানোর জন্য ইউজারবি হিসাবে "লগইন" করতে চান, তবে সম্পন্ন হয়ে গেলে ইউজারএ-তে ফিরে আসতে চান। সরলতার জন্য, আমি ধরে নিচ্ছি যে আপনি ইউএসবি হিসাবে ls -l / tmp চালাতে চান। আপনি যদি ইউজারএর বর্তমান শেলটি ছেড়ে না যেতে চান তবে বরং ইউজারবি হিসাবে একটি কমান্ড চালান এবং এখনও ইউজারএ হিসাবে লগইন থেকে থাকেন তবে আপনার এটি করা উচিত:

su - UserB -c "ls -l /tmp"   <-- Just an example

এটি ধরে নিয়েছে যে আপনি ব্যবহারকারীর পাসওয়ার্ডটি জানেন। তবে, আপনি যদি ব্যবহারকারীর পাসওয়ার্ড না জানেন তবে আপনার মূল পাসওয়ার্ডটি জানতে হবে। তারপর:

sudo su - UserB -c "ls -l /tmp"   <-- UserB's pw not needed here

আপনি যদি প্রচুর কমান্ড চালানোর জন্য অস্থায়ীভাবে ইউজারবি হিসাবে লগইন করতে চান, তবে কেবল করুন:

sudo su - UserB

এটি আপনাকে ব্যবহারকারীর জন্য একটি নতুন শেল দেবে (আইডি লিখে এটি পরীক্ষা করুন)। হয়ে গেলে, আপনি সিটিআরএল-ডি করতে পারেন এবং আপনার লগইনে ফিরে আসতে পারেন।


1

আপনার যদি কেবল একটি কমান্ড চালানোর প্রয়োজন হয় তবে আপনি sudo ব্যবহার করতে পারেন: sudo -u username command


-1
~$ sudo login

তারপরে এটি আপনাকে sudo পাসওয়ার্ডের জন্য অনুরোধ জানাবে (বর্তমানে ব্যবহারকারীর পাসওয়ার্ডে লগইন হয়েছে)।

এছাড়াও: বর্তমান ব্যবহারকারী সুডার্স ফাইলে রয়েছে তা নিশ্চিত করুন!


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