"সুডো-এস" আসলে কী করে?


26

আমি উবুন্টু 10.04 ব্যবহার করছি।

আমি লক্ষ্য করেছি যে আমি টার্মিনালে " sudo -s " চালানোর পরে , প্রম্পটটি পরিবর্তিত হয়েছিল

" XXX @ XXX "

থেকে

" রুট @ XXX ",

মনে হচ্ছে এটি মূল অধিকারে পরিবর্তিত হয়েছে।

তবে আমি যখন এখানে "সুডো" কমান্ডের ডকুমেন্টেশন চেক করি , এটি "সুডো-এস" এর আরও একটি গল্প ব্যাখ্যা করে, কেউ কি আমাকে বোঝাতে পারেন যে " সুডো-এস " ঠিক কী করছে?


6
আপনি উপর এই জিজ্ঞাসা করা উচিত askubuntu.com

7
কেন জিজ্ঞাসাবাবু ডটকম? sudoসম্ভবত উবুন্টু-নির্দিষ্ট ...
ডেভ শেরোহমান

উত্তর:


9

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

sudo $SHELL

এটি বাদে এটি সম্ভবত ফ্যালব্যাক হবে /bin/shবা SHELLসেট না থাকলে কিছু ।


6

sudo -sআপনার $SHELLএনভায়রনমেন্ট ভেরিয়েবলে উল্লিখিত শেলটিকে সুপারউসার / রুট হিসাবে চালায় । আপনি অন্য ব্যবহারকারী ব্যবহার করে নির্দিষ্ট করতে পারেন -u

$SHELLএনভায়রনমেন্ট ভেরিয়েবল ব্যবহারকারীর ডিফল্ট লগ-ইন শেল পাথ ধারণ করে। ডিফল্ট শেল প্রোগ্রামের জন্য আসল সেটিংটি সাধারণত থাকে etc/passwd। আপনার বর্তমান সেশনে আপনি যা করেছেন তার উপর নির্ভর করে $ শেল ভেরিয়েবলটিতে আপনি বর্তমানে ব্যবহার করছেন শেল প্রোগ্রামটি নাও থাকতে পারে। উদাহরণস্বরূপ আপনি যদি zsh এর সাথে স্বয়ংক্রিয়ভাবে লগইন করেন তবে বাশকে আহ্বান জানান, $ শেল থেকে পরিবর্তন হবে না /bin/zsh

বর্তমান ব্যবহারকারী এবং শেল প্রোগ্রামটি দেখান: echo $(whoami) is logged in and shell is $0

  • whoami ব্যবহারকারীর অধীনে কাজ করা ব্যবহারকারীর নাম মুদ্রণ করে।
  • $0 বর্তমানে চলমান প্রোগ্রামের নাম / পথ রয়েছে (এক্ষেত্রে শেল প্রোগ্রাম)।

3

ম্যানুয়াল থেকে:

সুডো কোনও অনুমোদিত ব্যবহারকারীর সুপারডুজার বা অন্য কোনও ব্যবহারকারী হিসাবে কমান্ড কার্যকর করতে অনুমতি দেয় যেমন সুডোয়ার্স ফাইলে উল্লিখিত হয়।

-স শেল, শেল পরিবেশ পরিবর্তনশীল দ্বারা নির্ধারিত শেলটি সেট করা থাকলে বা পাসওড (5) এ উল্লিখিত শেলটি চালায়।

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


1
ম্যানুয়ালটি থেকে এটি স্পষ্ট নয় যে আপনি যদি কোনও ব্যবহারকারী সরবরাহ না করেন তবে এটি রুটে ডিফল্ট হয়। এটি -uশিখতে বিকল্পের জন্য আপনাকে বিবরণটি পড়তে হবে । তবে যার সাথে পরিচিত নন sudo, তারা তাকান জানেন না -u
উইসবুকি

1

সুপারভাইজারের এই পোস্টটি একবার দেখুন:

"সু-এস" এবং "সুডো-এস" কমান্ডের মধ্যে পার্থক্য কী?

যাইহোক, আপনার পোস্টটি সুপারইউসারে স্থানান্তরিত করা উচিত (বা মন্তব্যগুলিতে বলা হয়েছে জিজ্ঞাসাবাট্টু)!


0

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


-1

sudo -s আপনাকে এমন একটি কমান্ড চালাতে দেয় যার জন্য আপনি প্রাক-অনুমোদিত [দেখুন / ইত্যাদি / sudoers], সম্ভবত আপনাকে আপনার বর্তমান আইডি নিশ্চিত করার জন্য জিজ্ঞাসা করে।

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