কিভাবে রুট ব্যবহারকারীতে স্যুইচ করবেন তবে একই ডিরেক্টরিতে থাকবেন


10

আমি সম্প্রতি উবুন্টুতে স্যুইচ করেছি এবং আমি রুট ব্যবহারকারীর স্যুইচ করতে নিম্নলিখিত কমান্ডটি ব্যবহার করার সময় একটি জিনিস লক্ষ্য করেছি

sudo su - root

এটি আমাকে সরাসরি রুটের বাড়ীতে নিয়ে যায় ( /root), তাই আমি ফাইল সিস্টেমে আমার স্থানটি হারাতে (ডিরেক্টরিটি যেখানে আমি এই আদেশটি কার্যকর করেছি)। বর্তমান ডিরেক্টরিটি না হারিয়ে রুটে যাওয়ার কোনও উপায় আছে কি?

উত্তর:


16

প্রথমত, ব্যবহার করবেন না sudo su। এটি ভুল, বা বিপজ্জনক বা কোনও কিছু নয়, এটি কেবল অবহেলা এবং অর্থহীন । একজনের দ্বারা সহজেই পরিচালনা করা কোনও কাজ করতে আপনি দুটি পৃথক প্রোগ্রাম চালাচ্ছেন। আপনি যদি শেলটিকে মূল হিসাবে শুরু sudoকরতে চান তবে এটি আপনার জন্য করতে পারেন।

আপনি যদি লগইন শেলটি শুরু করতে চান (এটিই হয় sudo su -), ব্যবহার করুন sudo -i। এটি, যেহেতু এটি লগইন শেলটি শুরু করে, আপনাকে ডিফল্টরূপে রুটের হোম ডিরেক্টরিতে নিয়ে যাবে।

নিয়মিত, অ-লগইন শেল শুরু করতে, আপনি এটি ব্যবহার করতে পারেন sudo -s। এটি আপনার জন্য একটি মূল শেল শুরু করবে এবং আপনি যে ডিরেক্টরিটি থেকে চালিয়েছেন সেটিতে আপনাকে রাখবে:

terdon@tpad ~ $ pwd
/home/terdon
terdon@tpad ~ $ sudo -i  ## changes directory
[root@tpad ~]# pwd
/root
[root@tpad ~]# logout
terdon@tpad ~ $ sudo -s  ## doesn't change directory
[root@tpad terdon]# pwd
/home/terdon

সুতরাং, একটি রুট শেল শুরু করার এবং একই ডিরেক্টরিতে থাকার উপায় sudo -s


1
সমস্যাটি sudo -sহ'ল লক্ষ্যযুক্ত ব্যবহারকারীর প্রোফাইলটি চালায় না কারণ এটি লগইন শেল নয়। সুতরাং সম্ভবত আসল প্রশ্নটি লগইন শেলটি পাওয়ার কোনও উপায় আছে কিনা sudo, তবে ডিরেক্টরিটি পরিবর্তন না করেই। সম্ভবত না.
বার্মার

@ বারমার না, তবে sudo -iতা করেন। আমি ব্যবহার করেছি -sযেহেতু ওপি লগইন শেলটি চায় না (এতে যেতে চাইবে না $HOME)। আপনি যদি লগইন শেল চান তবে ব্যবহার করুন sudo -i। আমি পরিবেশের একটি তুলনামূলক পোস্ট করেছেন sudo -i, su -, sudo -sএবং suআমার প্রশ্নে এখানে আপনি একটি চেহারা আছে চান।
টেরডন

এখনই আমার এই কমান্ডটির খুব খারাপ অভিজ্ঞতা হয়েছে, সুডো-এস। এমনকি এটি ডিরেক্টরি পরিবর্তন করে না তবে এটি আমাকে সম্পূর্ণ রুট অ্যাক্সেস দেয় নি। আমার কয়েকটি ফাইল ডিরেক্টরিতে উপস্থিত ছিল কিন্তু আমি এগুলিকে সাধারণ ব্যবহারকারী এবং মূল ব্যবহারকারী হিসাবে দেখতে পারা যায় নি (sudo -s)। তারপরে আমি পুরানো উপায় (sudo su - root) ব্যবহার করে ডিরেক্টরিতে গিয়েছিলাম এবং আমার ফাইলগুলি এখন আমার কাছে দৃশ্যমান ছিল। কেন সুডো-এস আমাকে সীমাবদ্ধ অ্যাক্সেস দিয়েছে?
হামাদ হাসান

@ হামাদহসান আপনি যে বর্ণনা করেছেন তা ঘটতে পারে এমন কোনও উপায় নেই। এখানে আরও কিছু চলছে। ফাইলগুলি "দেখতে না পারা" আপনার অর্থ কী? আপনি সম্ভবত " ফাইল পড়তে অক্ষম" বলতে চাইছেন ? আপনি কি সম্ভবত এনক্রিপশন ব্যবহার করছেন?
টেরডন

"দেখতে অক্ষম" এর অর্থ সরল কমান্ড "এলএস"। এটি আমার ফাইলগুলি দেখায় নি। মোটেও কোনও এনক্রিপশন নেই। আমার ফাইলগুলি সহজ। এবং সত্যিই এটি ঘটেছে।
হামাদ হাসান

8

এটি খুব সহজ। লিখো

sudo su

পরিবর্তে

sudo su - root

এটি আপনাকে রুট হিসাবে একই ফোল্ডারে রাখবে।


9
এটি ভুল নয়, আমি বোঝাতে চাইছি এটি কাজ করে তবে ব্যবহারটি sudo suখুব বেশি বোঝায় না। এটা কি sudo -sজন্য। কেন এত উবুন্টু টিউটোরিয়াল সুপারিশ করে তা আমি কখনই বুঝতে পারি নি sudo su
টেরডন

@ ইটারডন আমি এটি কখনই বুঝতে পারি নি, তবে এটি সমস্ত লিনাক্স ব্যবহারকারীদের মধ্যে বিস্তৃত বলে মনে হচ্ছে। হতে পারে যাচাইকরণ এটি আরও স্মরণীয় করে তোলে।
বার্মার

@ বারমার ব্যক্তিগতভাবে, আমি এটি কেবল উবুন্টু বিশ্বে দেখেছি। যেহেতু বেশিরভাগ লিনাক্স সিস্টেমে ডিফল্টরূপে একটি সাধারণ রুট অ্যাকাউন্ট থাকে, যখন শেলটির প্রয়োজন হয় তখন su(একা, না sudo)। কারণ, তবে উবুন্টু ডিফল্টরূপে রুট অ্যাকাউন্টটি অক্ষম করে দেয়, এটি sudo suবেশ স্বাভাবিকভাবেই এসেছে। ইহা ও, ইউনিক্স বিশ্বের কয়েকটি কোণেও দৃশ্যত , তবে লিনাক্সে আমি কেবল উবুন্টুতে দেখেছি।
টেরডন

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