সঙ্গে su
, আপনি পরিণত ডিফল্টরূপে রুট কিন্তু সম্ভাব্য অন্য ব্যবহারকারী - অন্য ব্যবহারকারী। আপনি যদি বলেন su -
, আপনার পরিবেশটি সেই ব্যবহারকারীর লগইন পরিবেশের সাথেও প্রতিস্থাপন হয়ে যায়, যাতে আপনি যা দেখেন তা সেই ব্যবহারকারী হিসাবে লগ ইন করা থেকে পৃথক হয়। কোনও su
ব্যবহারকারী যখন লগ ইন করেন তখন সেই ব্যবহারকারীর দ্বারা করা পদক্ষেপ থেকে অন্য ব্যবহারকারীর কাছে যাওয়ার সময় সিস্টেমটি আপনাকে বলার কোনও উপায় নেই ।
বিষয়গুলি এর সাথে খুব আলাদা sudo
:
কমান্ডগুলি আপনি টার্গেট ব্যবহারকারী হিসাবে sudo
নির্বাহ করেন - ডিফল্টরূপে মূল, তবে এর সাথে পরিবর্তনযোগ্য -u
- তবে এটি আপনার দ্বারা চালিত কমান্ডগুলিকে লগ করে, আপনার ব্যবহারকারীর নাম দিয়ে ট্যাগ করে যাতে দোষের পরে নির্ধারিত হতে পারে। :)
sudo
খুব নমনীয়। উদাহরণস্বরূপ, প্রদত্ত ব্যবহারকারী বা ব্যবহারকারীদের একটি গ্রুপকে চালানোর অনুমতি দেওয়া আদেশগুলি আপনি সীমাবদ্ধ করতে পারেন। সাথে su
, এটি সব কিছুই বা কিছুই নয়।
এই বৈশিষ্ট্যটি সাধারণত ভূমিকা সংজ্ঞায়িত করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি চালানোর জন্য অনুমোদিত একটি "ব্যাকআপ" গোষ্ঠীটি সংজ্ঞায়িত করতে পারেন dump
এবং tar
যার প্রত্যেকটিরই সিস্টেম ডিস্কটিকে সঠিকভাবে ব্যাক আপ করার জন্য রুট অ্যাক্সেসের প্রয়োজন।
আমি এখানে এটি উল্লেখ করছি কারণ এর অর্থ আপনি কাউকে sudo
তাদের যোগ্যতা sudo -s
বা sudo bash
ক্ষমতা না দিয়ে সুবিধাগুলি দিতে পারেন। তাদের কেবলমাত্র তাদের কাজটি করার জন্য প্রয়োজনীয় অনুমতি রয়েছে, যেখানে তাদের সাথে su
পুরো সিস্টেমটি চালানো হয়েছে। আপনাকে sudo vi
এগুলি সম্পর্কে সতর্কতা অবলম্বন করতে হবে, যদিও: আপনি যদি কাউকে বলার ক্ষমতা দেন তবে উদাহরণস্বরূপ, তারা শেল আউট করতে পারে vi
এবং কার্যকরভাবে একই ক্ষমতা থাকতে পারে sudo -s
।
কারণ এটি রুট পাসওয়ার্ডের পরিবর্তে সুডোরের পাসওয়ার্ড নেয়, sudo
একাধিক sudoers এর মধ্যে অনুমতি বিচ্ছিন্ন করে।
এটি একটি প্রশাসনিক সমস্যা সমাধান করে su
, এটি হ'ল যখন রুট পাসওয়ার্ড পরিবর্তন হয়, যাদের এটি ব্যবহার করতে হবে তাদের সকলকে su
বলা উচিত। sudo
sudoers এর পাসওয়ার্ড স্বাধীনভাবে পরিবর্তন করতে দেয়। প্রকৃতপক্ষে, সিস্টেমে sudo
সমস্ত সাসাদমিনের কাজটি করার জন্য বাধ্য করার জন্য কোনও সিস্টেমে রুট ব্যবহারকারীর অ্যাকাউন্টটি পাসওয়ার্ড-লক করা সাধারণ sudo
। অনেকগুলি বিশ্বস্ত sudoers সহ একটি বৃহত সংস্থায়, এর অর্থ যখন সিসাদমিনগুলির মধ্যে একটি চলে যায়, আপনাকে রুট পাসওয়ার্ড পরিবর্তন করতে হবে এবং যারা এডমিন রয়ে গেছে তাদের এগুলি বিতরণ করতে হবে না।
মধ্যে মূল পার্থক্য sudo bash
এবং sudo -s
যে -s
খাটো হয় এবং আপনি উপায়ে একটি দম্পতি আপনার ব্যবহারকারীর ডিফল্ট শেল মধ্যে সঞ্চালনের জন্য কমান্ড পাস করতে দেয়:
আপনি বলতে পারেন sudo -s some-command
যা some-command
আপনার শেলের নীচে চলে । এটি মূলত শর্টহ্যান্ডের জন্য sudo $SHELL -c some-command
।
পরিবর্তে আপনি কমান্ডগুলি শেলের মানক ইনপুটগুলিতে যেমন পাস করতে পারেন sudo -s < my-shell-script
। আপনি একটি সঙ্গে এই ব্যবহার করতে পারে heredoc একটি একক বিভিন্ন আদেশগুলি প্রেরণ করতে sudo
, কল টাইপ করার দরকার এড়ানো sudo
বারবার।
এই দুটি আচরণই areচ্ছিক। আরও সাধারণভাবে, আপনি -s
একা দেন, সুতরাং এটি কেবল আপনার ব্যবহারকারীর শেলটি ইন্টারেক্টিভভাবে চালায়। যে মোডে, এটা থেকে পৃথক sudo bash
যে এটা তুলনায় বিভিন্ন শেল চালানো হতে পারে bash
, যেহেতু এটি প্রথম দেখায় SHELL
এনভায়রনমেন্ট ভেরিয়েবল, এবং তারপর যে যদি সেট না করলে, আপনার ব্যবহারকারীর লগ-ইন শেল সেটিং এ, সাধারণত মধ্যে /etc/passwd
।
দ্বারা চালিত শেল sudo -s
আপনার বর্তমান ব্যবহারকারীর পরিবেশের উত্তরাধিকারী। আপনি যদি যা চান তা যদি পরিষ্কার পরিবেশ হয়, যেমন আপনি লগইনের ঠিক পরে পান তবে পরিবর্তে আপনি যা চান তা হ'ল sudo -i
তুলনামূলক সাম্প্রতিক সংযোজন sudo
। সাধারণভাবে বলতে গেলে, sudo -i
হয় sudo -s
যেমন su -
হয় su
এটি সব কিন্তু কিছু কী এনভায়রনমেন্ট ভেরিয়েবল রিসেট এবং আপনি আপনার ব্যবহারকারীর হোম ডিরেক্টরি ফিরে পাঠায়:। যদি আপনি স্ট্যান্ডার্ড ইনপুট বা শেলের নীচে চালানোর আদেশও না দিয়ে থাকেন তবে sudo -i some-command
এটি সেই শেলটি একটি ইন্টারেক্টিভ লগইন শেল হিসাবে চালিত করবে, সুতরাং আপনার ব্যবহারকারীর শেল স্টার্টআপ স্ক্রিপ্টগুলি (যেমন .bash_profile
) আবার চালানো হবে।
এই সমস্ত sudo -i
কিছু তুলনায় যথেষ্ট সুরক্ষিত করে তোলে sudo -s
। কেন? কারণ যদি কেউ এর আগে আপনার পরিবেশ পরিবর্তন করতে পারে তবে sudo -s
তারা অনিচ্ছাকৃত কমান্ড কার্যকর করতে পারে। সর্বাধিক সুস্পষ্ট কেসটি সংশোধন করা হচ্ছে SHELL
, তবে এটি সরাসরি কমও ঘটতে পারে যেমন PAGER
আপনি যদি বলছেন man foo
নীচে থাকাকালীন sudo -s
।
আপনি বলতে পারেন, "যদি তারা সংশোধন করতে পারে তবে তারা সংশোধন PAGER
করতে পারে PATH
এবং তারপরে তারা কেবল একটি খারাপ sudo
প্রোগ্রামের বিকল্প নিতে পারে ," তবে যথেষ্ট /usr/bin/sudo /bin/bash
ফাঁস হওয়া কেউ এই ফাঁদটি এড়াতে বলতে পারেন । আপনি সম্ভবত এতটা অসম্পূর্ণ নন যে আপনি অন্য সমস্ত সংবেদনশীল পরিবেশের ভেরিয়েবলের ফাঁদগুলিও এড়াতে পারেন । আপনি কি ভিসিএস কমান্ড EDITOR
চালানোর আগে উদাহরণস্বরূপ চেক করতেও মনে রেখেছিলেন ? এইভাবে ।sudo -i
যেহেতু sudo -i
আপনার কার্য ডিরেক্টরিটি আপনার ব্যবহারকারীর হোম ডিরেক্টরিতেও পরিবর্তন করে, আপনি এখনও sudo -s
সেই পরিস্থিতিতে ব্যবহার করতে চাইতে পারেন যেখানে আপনি জানতেন যে আপনি cd
যখন দৌড়েছিলেন তখন আপনি যে একই ডিরেক্টরিতে থাকতে চান সেখানে থাকতে চান sudo
। যদিও আপনি ছিলেন সেখানে এটি এখনও নিরাপদ sudo -i
এবং cd
ফিরে।
sudo su -
এইভাবে আপনার রুট পাসওয়ার্ডের প্রয়োজন হবে না এবং-
হোম ডিরেক্টরিটি সঠিকভাবে সেট করা আছে তা নিশ্চিত করে।