উত্তর:
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
সরল উপায় রয়েছে তবে সম্ভবত এটি সবচেয়ে সহজ, যদি এটি ইনস্টল করা থাকে এবং আপনার এটির ব্যবহারের অনুমতি রয়েছে।
su - [user]
দরকারী হতে পারে - অতিরিক্ত ড্যাশ আপনাকে লগইন শেল দেয়।
echo >>/dev/stderr
কোনও লগ-ইন দিয়ে su --login ...
কোনও লগিনে এই আদেশটি কার্যকর করার পরে ? আমি এই বিটিডব্লিকটি ইউনিক্স.স্ট্যাককেঞ্জেন্জ.কম
env
এটি তালিকাভুক্ত করেছি তা দেখেছি যে সবকিছু ঠিক মতো ছিল এবং পাশাপাশি একটি ভিজ্যুয়াল পরিদর্শনও যেতে পারে; আর একটা কথা ভুল ছিল: XAUTHORITY=/home/user1/.Xauthority'. Not sure _why_? So X-window doesn't work by default because the protection on
~ / .Xauthority` হয় file: -rw-------
। আমি একটি অনুলিপি তৈরি করেছি এবং এটি আমাকে পরীক্ষার মতো জিডিট চালাতে দেয়।
সাধারণত আপনি নিজের পছন্দমতো sudo
নতুন শেল চালু করতে ব্যবহার করেন ; -u
পতাকা আপনি ব্যবহারকারী নাম যদি আপনি চান উল্লেখ করতে দেয়:
[mrozekma@etudes-1 ~] % whoami
mrozekma
[mrozekma@etudes-1 ~] % sudo -u nobody zsh
[nobody@etudes-1 ~] % whoami
nobody
আপনার মতো সুডো অ্যাক্সেস না থাকলে আরও বেশ কয়েকটি প্রচলিত উপায় রয়েছে ssh username@localhost
, তবে আমার মনে sudo
হয় এটি ইনস্টল করা থাকলে সম্ভবত এটি সবচেয়ে সহজ এবং আপনার এটি ব্যবহারের অনুমতি রয়েছে
sudo -s
আপনাকে যেমন একটি শেল দেয় su
, sudo -i
লগইনের মতো অনুকরণ করে su -
। অবশ্যই একত্রিত করা যেতে পারে -u $user
।
$ whoami
এই কমান্ডটি বর্তমান ব্যবহারকারীর প্রিন্ট করে। ব্যবহারকারী পরিবর্তন করতে, আমাদের এই আদেশটি ব্যবহার করতে হবে (ব্যবহারকারীর পাসওয়ার্ড অনুসরণ করে):
$ su secondUser
Password:
সঠিক পাসওয়ার্ড প্রবেশের পরে, আপনি নির্দিষ্ট ব্যবহারকারী হিসাবে লগ ইন করবেন (যা আপনি পুনরায় চালনার মাধ্যমে চেক করতে পারেন whoami
।
আপনি যদি উবুন্টু চালাচ্ছেন, এবং আপনি যদি ব্যবহারকারী হিসাবে লগইন করতে চান তবে পাসওয়ার্ড সেট নেই:
sudo su - username
আপনার নিজের পাসওয়ার্ড লিখুন এবং আপনার সেট করা উচিত। অবশ্যই এটির জন্য আপনার ব্যবহারকারীর সাথে মূলের অধিকার পাওয়ার অধিকার রয়েছে sudo
।
টার্মিনাল সেশনটি অন্য কোনও ব্যবহারকারীর কাছে স্যুইচ করতে, যেখানে সেই ব্যবহারকারীটি মূল ব্যবহারকারীর মধ্যে ফিরে যেতে পারে না, এক্সিকিউট ব্যবহার করুন:
exec | # এক্সিকিউটিউ - [ব্যবহারকারীর নাম]
এটি নতুন মেয়াদী প্রক্রিয়াতে নতুন ব্যবহারকারীকে প্রযুক্তিগতভাবে লগইন করবে এবং বর্তমানটিকে বন্ধ করে দেবে। এই পদ্ধতিতে ব্যবহারকারী যখন প্রস্থান করার বা Ctrl-D চেষ্টা করবে তখন টার্মিনালটি বন্ধ হয়ে যাবে যদিও ব্যবহারকারী সেই ব্যক্তিই এটি ইনস্ট্যান্ট করেছিলেন, অর্থাত্, ব্যবহারকারীটি মূল ব্যবহারকারীর পদটিতে ফিরে যেতে পারে না। অর্থহীন, বিবেচনা করে তারা এখনও একটি নতুন টার্মিনাল সেশন শুরু করতে পারে এবং স্বয়ংক্রিয়ভাবে মূল ব্যবহারকারী শব্দ লগইন হতে পারে, কিন্তু এটি সেখানে।
সম্পাদনা: এটির মূল্য কী তা জন্য, আপনি ডিফল্টরূপে টার্মিনাল সেশনগুলি লক করতে আপনার। / .Bashrc- এ লিনাক্স ভ্লোক কমান্ডটি ব্যবহার করতে পারেন, শব্দটি সেশনের ব্যবহারকারীর পাসওয়ার্ডটি আনলক করার জন্য প্রয়োজনীয়। এটি ব্যবহারকারীর অ-ডিফল্ট। / .Bashrc ব্যবহার করে কনফিগার না করা হিসাবে ইনস্ট্যান্ট করা না হলে মূল ব্যবহারকারীর প্রেক্ষাপটে পূর্বোক্ত শব্দটি পুনঃসূচনাটি কিছুটা রোধ করবে।
তবুও অন্য একটি রুট হ'ল সেই ব্যবহারকারীরূপে কমান্ড চালানোর জন্য একটি পৃথক (নন-রুট) ব্যবহারকারী হিসাবে একটি নতুন শেল চালু করা।
ubuntu@aws-ip:~$ sudo -u mongodb bash #<-- or zsh, etc...
mongodb@aws-ip:~$ mongod --configsvr --dbpath /data/configdb --fork
এর একটি উদাহরণ mongodb
ব্যবহারকারী। শার্পযুক্ত মঙ্গোডিবি ক্লাস্টার স্থাপন করার সময়, সমস্ত প্রয়োজনীয় প্রক্রিয়াগুলি অবশ্যই চলমান হবে mongodb
এবং কয়েক ডজন নোডের জন্য এনআইডি স্ক্রিপ্টগুলি ব্যবহার করে প্রক্রিয়াগুলি ডিমনাইজ করার জন্য এটি প্রয়োজনীয় (বা সম্পূর্ণ সুবিধাজনক) নয়।
আমাদের এই অধিকারটি পেতে দাও: আপনি ইউজারএ হিসাবে লগ ইন এবং কিছু কমান্ড চালানোর জন্য ইউজারবি হিসাবে "লগইন" করতে চান, তবে সম্পন্ন হয়ে গেলে ইউজারএ-তে ফিরে আসতে চান। সরলতার জন্য, আমি ধরে নিচ্ছি যে আপনি ইউএসবি হিসাবে 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
এটি আপনাকে ব্যবহারকারীর জন্য একটি নতুন শেল দেবে (আইডি লিখে এটি পরীক্ষা করুন)। হয়ে গেলে, আপনি সিটিআরএল-ডি করতে পারেন এবং আপনার লগইনে ফিরে আসতে পারেন।
আপনার যদি কেবল একটি কমান্ড চালানোর প্রয়োজন হয় তবে আপনি sudo ব্যবহার করতে পারেন:
sudo -u username command
$XDG_RUNTIME_DIR
বিশেষত) যেগুলি আমাকে বাদাম চালিয়ে যাচ্ছিল তা নিয়ে আমি দৌড়েছি । -> unix.stackexchange.com/questions/354826/…