কেন আমার কাছে "su" এর পাসওয়ার্ড নেই? "Sudo" সমস্যা


34

আমি নিজের পাসওয়ার্ড এবং সব কিছু দিয়ে GUI ব্যবহার করে উবুন্টু ইনস্টল করেছি। প্রক্রিয়াটি জটিলতার সাথে মনে নেই। যাইহোক, আমাকে চিন্তিত করার কারণ হ'ল আমি নিম্নলিখিত পাসওয়ার্ডটি জানি না:

$ su
Password: <the only password I've ever created on this machine>
su: Authentication failure

আমি ঠিক জানি না কী করতে হবে। আমি কোনও সমস্যায় নেই, তবে আমি এখানে কী ঘটছে তা জানতে চাই। আমি নিজেকে ডিরেক্টরি থেকে লকও করতে পারি:

starkers@ubuntu:~/Desktop$ mkdir foobs
starkers@ubuntu:~/Desktop$ sudo chmod 777 -R foobs
sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
[sudo] password for starkers: <the only password I've ever created on this machine> 
starkers@ubuntu:~/Desktop$ cd foobs
bash: cd: foobs: Permission denied

আমি কিছুটা বিভ্রান্ত আমি কীভাবে নিজেকে এইভাবে লক করতে পারি? আমি sudoএখানে মূল কমান্ড মনে করি । তবে আমি foobsফাইলটি যতটা সম্ভব সম্ভবত এটির মাধ্যমেই উন্মুক্ত করছি chmodতাই কেন এটি আমাকে লক আউট করে?


6
আপনি প্রায় কখনও করবেন না chmod -R 777 whatever, যদি না আপনি বিশাল নিরাপত্তার ঝুঁকি তৈরি করতে চান।

1
@ ব্রোস্লো শীর্ষের জন্য ধন্যবাদ। এই প্রশ্নের বাইরে, তবে কীভাবে একজন সেট করে নিরাপদে কোনও ডিরেক্টরিতে লেখার সুযোগ পড়বে? 666?
সূচনাগুলি

1
অবশ্যই ভাল, তবে আপনি যা করার চেষ্টা করছেন তার উপর নির্ভর করে। উদাহরণস্বরূপ, সমস্ত কিছুর মধ্যে r / w অ্যাক্সেস থাকা আপনার ব্যবহারকারীর সত্যই দরকার? যদি তা না হয় তবে আপনি 644 এর মতো কিছু করতে পারেন (কেবল আপনি ব্যতীত সকলের জন্যই পড়ুন)। এবং সাধারণভাবে, পুনরাবৃত্তির সময় আমি খুব সতর্কতা অবলম্বন করব chmodযে এটি কেবল আপনার ইচ্ছায় যুক্ত ফাইলগুলি পরিবর্তন করে।

1
আপনি কি উচ্চ? 66 666 হ'ল 1) এখনও বিশ্ব-লিখনযোগ্য এবং অতএব সুরক্ষা ঝুঁকির একই ডিগ্রি, এবং 2) এক্সিকিউটেবল বিটটি সরিয়ে দেয়, যার অর্থ তিনি আর সেই ডিরেক্টরিতে chdir করতে সক্ষম হবেন না।
শাদুর

@ স্টারকার্স আমি এখানে যে আসল সুরক্ষা ইস্যুটি দেখছি তা হ'ল কিছু পাগল কারণে /var/lib/sudoবিশ্ব লেখার জন্য সেট করা আছে। এটি ঘটছে না এবং এটি কেন ঘটেছে তা জানার চেষ্টা করা উচিত।
শাদুর

উত্তর:


49

ডিফল্টরূপে, সুপারসার ( root) অ্যাকাউন্টটি অক্ষম করা আছে এবং কোনও পাসওয়ার্ড নেই। আপনি চালিয়ে একটি তৈরি করতে পারেন:

$ sudo passwd root

এরপরে আপনি suএই পাসওয়ার্ডটি ব্যবহার করে রুট হিসাবে লগইন করতে সক্ষম হবেন ।

হিসাবে হিসাবে chmod, সঠিক কমান্ডটি হবে:

$ chmod 777 -R foobs

আপনি এটি ব্যবহার করতে পারেন:

$ sudo -i

আপনার পাসওয়ার্ড ব্যবহার করে রুট হিসাবে লগইন করতে (উপরে বর্ণিত কোনও রুট পাসওয়ার্ড তৈরি না করে)।


4
@ অলি সম্ভবত আপনি যুক্ত করতে আপনার প্রশ্ন সম্পাদনা করতে পারেন sudo su। এটি টার্মিনালে স্থায়ী su অধিকার দেয়।
জাগ্রত

13
sudo suএটি ব্যবহার করবেন না , কারণ এটি পরিবেশের সাথে স্ক্রু করবে এবং জিনিসগুলি নষ্ট হয়ে যাবে। পরিবর্তে ব্যবহার sudo -i
strugee

20
মূল পাসওয়ার্ড সেট করবেন না। মূল পাসওয়ার্ড সেট করবেন না
wchargin

4
chmod 777 প্রায় সর্বদা খারাপ (স্টিপ বিট ছাড় দেওয়া হয় / tmp হিসাবে ব্যবহৃত হয়)। এই উত্তরটি একটি সুরক্ষা ঝুঁকি। এছাড়াও রুট পাসওয়ার্ড সেট করা উবুন্টু যেভাবে ব্যবহার করা উচিত তা নয়; আবার একটি সুরক্ষা ঝুঁকি আমন্ত্রণ। দয়া করে নিয়ন_ওভারলোডের উত্তরটি অনুসরণ করুন।
রিঞ্জউইন্ড

4
@WChargin আপনি কেন রুট অ্যাকাউন্ট / পাসওয়ার্ড না রাখার পরামর্শ দিচ্ছেন? আমি আর্চলিনাক্স ব্যবহারকারী হিসাবে সত্যই আগ্রহী।
রব

67

1. আপনার কাছে কেন একটি রুট পাসওয়ার্ড নেই

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

পূর্ণ "সুডো" অনুমতি সহ যে কেউ sudoতাদের কমান্ডের প্রাক-মুলতুবি রেখে "সুপারইউজার হিসাবে" কিছু করতে পারে । উদাহরণস্বরূপ, apt-get dist-upgradeএকটি সুপারভাইজার হিসাবে চালানোর জন্য , আপনি ব্যবহার করতে পারেন:

sudo apt-get dist-upgrade

আপনি ওয়েবে উবুন্টু সম্পর্কে টিউটোরিয়ালটি যে কোনও জায়গায় পড়তে পারবেন সুদোর এই ব্যবহারটি আপনি দেখতে পাবেন। এটি করার বিকল্প

su
apt-get dist-upgrade
exit

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

সুডু অতিরিক্ততর সুবিধাগুলি সহ একটি একক কমান্ড সম্পাদন করা সহজ করে তোলে। এর সাথে su, আপনি স্থায়ীভাবে একটি সুপারসেলার শেলটিতে ফেলে যান যা অবশ্যই exitবা ব্যবহার করে বেরিয়ে আসা উচিত logout। এটি লগ আউট করা এবং পরে আবার প্রবেশ করার চেয়ে আরও সুবিধাজনক কারণ এটি প্রয়োজনের চেয়ে বেশি সময়ের জন্য সুপারসেলার শেলটিতে থাকতে পারে।

Sudo সহ, আপনার কাছে কমান্ডটি দিয়ে স্থায়ী (ইন্টারেক্টিভ) সুপারসেলার শেলটি খোলার বিকল্প রয়েছে:

sudo su

... এবং এটি এখনও কোনও রুট পাসওয়ার্ড ছাড়াই করা যেতে পারে, কারণ কমান্ডকে sudoসুপারভাইজার সুবিধা দেয় su

এবং একইভাবে, su -লগইন শেলের পরিবর্তে আপনি sudo su -বা তার শর্টকাট ব্যবহার করতে পারেন sudo -i

তবে এটি করার সময় আপনার অবশ্যই সচেতন হওয়া দরকার যে আপনি প্রতিটি কমান্ডের সুপারভাইজার হিসাবে কাজ করছেন। প্রয়োজনের চেয়ে বেশি সময়ের জন্য সুপারভাইজার হিসাবে না থাকার জন্য এটি একটি সুরক্ষার নীতি, যা ঘটনাক্রমে সিস্টেমে কিছুটা ক্ষতি হওয়ার সম্ভাবনা হ্রাস করার জন্য (এটি ছাড়াই আপনি কেবলমাত্র আপনার ব্যবহারকারীর মালিকানাধীন ফাইলগুলির ক্ষতি করতে পারেন)।

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


আপনার chmod 777 -R কমান্ডের সাথে সমস্যাগুলি

আপনার প্রশ্নেরও এর দ্বিতীয় অংশ রয়েছে: কমান্ডের সাথে আপনার সমস্যাগুলি sudo chmod 777 -R foobs

প্রথমত, নিম্নলিখিত সতর্কতাটি আপনার মেশিনে একটি সম্ভাব্য গুরুতর সুরক্ষা সমস্যা নির্দেশ করে:

sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700

এর অর্থ এই যে কোনও পর্যায়ে আপনি /var/lib/sudoবিশ্ব-লিখনযোগ্য হতে পারেন। আমি ধারণা করি আপনি কোনও কমান্ড ব্যবহার করে কোনও পর্যায়ে এটি করেছেন sudo chmod 777 -R /। দুর্ভাগ্যক্রমে, এটি করে আপনি সম্ভবত আপনার সিস্টেমে সমস্ত ফাইল অনুমতি ভঙ্গ করেছেন। এটি অসম্ভব যে এটিই একমাত্র গুরুত্বপূর্ণ সিস্টেম ফাইল যার অনুমতিগুলি বিশ্ব-লিখনযোগ্য হিসাবে পরিবর্তিত হয়েছে। মূলত আপনার কাছে এখন সহজেই হ্যাকযোগ্য ব্যবস্থা রয়েছে এবং এটিকে ফিরে পাওয়ার একমাত্র সহজ উপায় হ'ল পুনরায় ইনস্টল করা।

দ্বিতীয়ত, আপনি যে কমান্ডটি ব্যবহার করছিলেন:

sudo chmod 777 -R foobs

আপনার হোম ডিরেক্টরিতে ফাইলগুলি পরিচালনা করার ক্ষেত্রে ~/Desktop, এই ক্ষেত্রে আপনার ব্যবহার করা উচিত নয় sudo। আপনার হোম ডিরেক্টরিতে আপনি তৈরি করা সমস্ত ফাইল যেকোন উপায়ে আপনার দ্বারা পরিবর্তনযোগ্য হওয়া উচিত (এবং যদি না হয় তবে মজার কিছু চলছে)।

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

এটি প্রায় নিশ্চিত যে আপনি যে কোনও সমস্যার সমাধান করার চেষ্টা করছেন chmod 777 -R [dir]এটির জন্য এটি উপযুক্ত সমাধান নয় (এবং আমি উপরে উল্লিখিত হিসাবে প্রমাণ রয়েছে যে আপনি / var / lib তেও সিস্টেম ফাইলগুলিতে এটি করেছেন এবং আমি অন্যান্য অনেকগুলি ধরে নিয়েছি) জায়গা).

থাম্বের কয়েকটি প্রাথমিক নিয়ম:

  • আপনি যদি কেবল নিজের বাড়ির ডিরেক্টরি, ডেস্কটপ ইত্যাদিতে নিজের ফাইলগুলি নিয়ে গণ্ডগোল করে থাকেন তবে আপনার কখনই ব্যবহার sudoবা সুপার-ইউজার অধিকারের প্রয়োজন হবে না । আপনি যদি এটি করেন তবে এটি একটি সতর্কতা চিহ্ন যা আপনি কিছু ভুল করছেন।

  • আপনার প্যাকেজগুলির মালিকানাধীন সিস্টেম ফাইলগুলি ম্যানুয়ালি কখনও পরিবর্তন করা উচিত নয়। ব্যতিক্রম: আপনি যদি না প্যাকেজগুলির দ্বারা দস্তাবেজকৃত পদ্ধতিগুলিতে বিশেষত এটি না করেন যেমন তাদের কনফিগারেশনটি পরিবর্তন করে /etc। এটি ফাইলের অনুমতি পরিবর্তন করার ক্ষেত্রেও প্রযোজ্য। যদি কোনও টিউটোরিয়াল বা সমস্যাটি সমাধানের চেষ্টা করার প্রয়োজন হয় sudoবা সুপারসাইজার অধিকারের প্রয়োজন হয় এবং এটি কেবলমাত্র / etc / এ কোনও কনফিগারেশনের পরিবর্তন নয়, এটি একটি সতর্কতা চিহ্ন যে আপনি কিছু ভুল করছেন।


দুর্দান্ত ব্যাখ্যা .. থাম্বস আপ .. :)
সৌরভ কুমার

7
আমি মনে করি "sudo -i" "sudo su" এর পরিবর্তে একটি রুট শেল পাওয়ার "অফিসিয়াল" উপায়
সর্বোচ্চ

3
হ্যাঁ, আপনার ব্যবহার sudo -iকরা উচিত sudo su
শেঠ

sudo -i(অথবা sudo su -) না বিশ্বজনীনভাবে ভাল কিন্তু ভিন্ন - এই লঞ্চ একটি লগইন শেল যে একটি রুট ব্যবহারকারী লগ-ইন পরিবেশ, যা, executes simulates উদাহরণস্বরূপ, .profileফাইল বা .loginরুট ব্যবহারকারীর ফাইল। এগুলি আরও ভাল যদি আপনি চান যে শেলটির পরিবেশটি সুপার-ব্যবহারকারীর সুবিধার্থে ঘটে থাকে এমন ইন্টারেক্টিভ শেলের চেয়ে শিকড়ের পরিবেশটি মূল লগইন শেলের মতো হয়। এটা সম্ভবত ভাল একটি শেল ব্যবহার করা হয় তবে লগইন ভিত্তিক শেল ব্যবহার করা, কিন্তু যে এর তর্ক করা: উত্তর পয়েন্ট যে উবুন্টু প্রধানত ব্যবহার করার জন্য ডিজাইন করা হয় sudoসুপার-ইউজার অধিকারসহ কমান্ড চালানোর জন্য।
থমাসরুতার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.