"সু", "সুডো-এস", "সুডো-আই", "সুদো সু" এর মধ্যে পার্থক্য কী?


148

আমি এটি ইতিমধ্যে ম্যানুয়াল থেকে পড়েছি তবে আমি পার্থক্য দেখতে পাচ্ছি না ..

su - ব্যবহারকারীর আইডি পরিবর্তন করুন বা সুপারভাইজার হয়ে উঠুন

sudo -s [command]

-s(শেল) বিকল্প শেল শেল এনভায়রনমেন্ট ভেরিয়েবল দ্বারা নির্দিষ্ট যদি এটি সেট করা হয় বা শেল passwd কোন উল্লেখিত রান (5)। যদি একটি কমান্ড নির্দিষ্ট করা থাকে, তবে এটি কার্যকর করার জন্য শেলকে দেওয়া হয়। অন্যথায়, একটি ইন্টারেক্টিভ শেল কার্যকর করা হয়।

sudo -i ম্যানুয়াল বিবরণ অদৃশ্য


7
এছাড়াও, su userঅবিশ্বস্ত শেল থেকে লগইন করতে ব্যবহার করবেন না , তবে su - userUnix.stackexchange.com/q/7013/8250
Lekensteyn

@ লিকেনস্টাইন বাহ, দুর্দান্ত উদাহরণ। LOL এর জন্য
THX

1
পুরানো আদেশটি সর্বদা মনে রাখবেন: আপনি মূলের নাম বৃথা যাবেন না!
törzsmókus

বলা sudo -iখারাপ নয়, তবে আপনি অবশ্যই এটি ব্যবহার করে জিনিসগুলি শেষ করতে পারবেন
কলব ক্যানিয়ন

নিকট-সদৃশ: Askubuntu.com
পোস্ট করুন

উত্তর:


118

এই আদেশগুলির মধ্যে প্রধান পার্থক্য হ'ল তারা তাদের কাজগুলিতে অ্যাক্সেসকে সীমাবদ্ধ করে।

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

sudo (হুম ... স্মৃতিচক্র কী? সুপার-ইউজার-ডিও?) সম্পূর্ণ আলাদা। এটিতে একটি কনফিগার ফাইল (/ etc / sudoers) ব্যবহার করা হয় যা ব্যবহারকারীদের নির্দিষ্ট ক্রিয়াগুলির (অধিকার হিসাবে কমান্ডগুলি চালানো ইত্যাদি) অধিকারের তালিকাভুক্ত করা হয়, যখন এটি চালু করা হয় তখন এটি ব্যবহারকারীর পাসওয়ার্ডের জন্য জিজ্ঞাসা করে - যাতে সেই ব্যক্তিকে নিশ্চিত করা যায় টার্মিনালটি আসলে একই "জো" কে তালিকাভুক্ত রয়েছে /etc/sudoers। কোনও ব্যক্তির কাছ থেকে প্রশাসনিক সুবিধাগুলি প্রত্যাহার করতে আপনাকে কেবল কনফিগার ফাইলটি সম্পাদনা করতে হবে (বা একটি কনফিগারেশনে তালিকাভুক্ত একটি গ্রুপ থেকে ব্যবহারকারীকে অপসারণ করতে হবে)। এটি সুবিধাগুলির বেশ পরিচ্ছন্ন ব্যবস্থাপনার ফলস্বরূপ।

এর ফলস্বরূপ, অনেক ডেবিয়ান-ভিত্তিক সিস্টেমে rootব্যবহারকারীর কোনও পাসওয়ার্ড সেট নেই - যেমন সরাসরি রুট হিসাবে লগইন করা সম্ভব নয়।

এছাড়াও, /etc/sudoersকিছু অতিরিক্ত বিকল্প নির্দিষ্ট করার অনুমতি দেয় - যেমন ব্যবহারকারী এক্স কেবলমাত্র ওয়াই ইত্যাদি প্রোগ্রাম চালাতে সক্ষম

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


2
আমি কখনও su"স্যুইচ ব্যবহারকারী" হিসাবে দেখিনি , তবে সর্বদা সুপারসুজার হিসাবে; অন্যের ব্যবহারকারীর নাম ব্যতীত ডিফল্ট আচরণ (যদিও তা বোঝা যায়)। উইকিপিডিয়া থেকে : "১৯ command৪ সালের প্রথম দিকে সুপার কমান্ড, সুপার ব্যবহারকারী [1] হিসাবেও পরিচিত, তাকে" বিকল্প ব্যবহারকারী "," স্পুফ ব্যবহারকারী "বা" সেট ব্যবহারকারী "বলা হয় কারণ এটি বর্তমানের সাথে সম্পর্কিত অ্যাকাউন্টটি পরিবর্তনের অনুমতি দেয় টার্মিনাল (উইন্ডো) "
ডাঃ জিম্বোব

5
@ ডিআর জিম্বোব: আপনি ঠিক বলেছেন, তবে আমি খুঁজে পেয়েছি যে "সুইচ ব্যবহারকারী" কিন্ডা এটির চেয়ে ভাল বর্ণনা করে - যদিও historতিহাসিকভাবে এটি "সুপার ব্যবহারকারী" হিসাবে দাঁড়িয়েছে for আমি উইকিপিডিয়া নিবন্ধটি আমার উত্তরের সাথে মিল খুঁজে পেয়েও আনন্দিত - আমি আর্টিকেলটি আগে কখনও দেখিনি :)
সের্গেই

11
"সু" এর সরকারী অর্থ হ'ল "বিকল্প ব্যবহারকারী"। দেখুন: "ম্যান সু"।
অ্যাঞ্জেল ও'স্পিয়ার

1
@ অ্যাঞ্জেলো'স্পিয়ার: মজার বিষয় হল উবুন্টুর ম্যানপেজটিতে "বিকল্প" এর কথা মোটেই উল্লেখ করা হয়নি। Gnu.org ( gnu.org/software/coreutils/manual/html_node/su-invocation.html ) এ ম্যানপেজটি আসলে "সু: বিকল্প ব্যবহারকারী এবং গ্রুপ আইডি সহ একটি কমান্ড চালান" বলে say আমি মনে করি gnu.org একটি প্রচলিত উত্স :)
সের্গেই

1
কি হবে sudo su?
কাজ ওল্ফ

59

sudoআপনাকে রুট সুবিধার্থে আপনার নিজের ব্যবহারকারীর অ্যাকাউন্টে কমান্ড চালাতে দেয়। suআপনাকে ব্যবহারকারীর স্যুইচ করতে দেয় যাতে আপনি মূল হিসাবে লগ ইন করতে পারেন।

sudo -sমূল অধিকার সহ একটি শেল চালায়। sudo -iমূল ব্যবহারকারীর পরিবেশও অর্জন করে।

suএবং এর মধ্যে পার্থক্যটি দেখতে এবং sudo -sকরুন cd ~এবং তারপরে pwdতাদের প্রত্যেকের পরে। প্রথম ক্ষেত্রে, আপনি মূলের হোম ডিরেক্টরিতে থাকবেন, কারণ আপনি রুট। দ্বিতীয় ক্ষেত্রে, আপনি নিজের হোম ডিরেক্টরিতে থাকবেন, কারণ আপনি নিজেই মূল অধিকার নিয়ে with

এখানে এই সঠিক প্রশ্নের আরও আলোচনা আছে


20
"আপনি নিজেও মূল অধিকার নিয়ে এসেছেন" আসলে যা ঘটছে তা নয় :) আসলে, "মূল অধিকার নিয়ে নিজেকে" হওয়া সম্ভব নয় - হয় আপনি মূল হন বা আপনি নিজেই। উভয় ক্ষেত্রে হোয়ামি টাইপ করার চেষ্টা করুন । সত্য যে cd ~ফলাফল ভিন্ন উবুন্টু ফলে সেটিং না -s $ হোম পরিবেশ পরিবর্তনশীল।
সের্গেই

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

1
@ অ্যাক্টপাস: আমি যা বলার চেষ্টা করছিলাম তা হ'ল ইউনিক্সে কোনও প্রক্রিয়াতে কেবল একটি ইউআইডি থাকতে পারে এবং ইউআইডি প্রক্রিয়াটির অনুমতিগুলি নির্ধারণ করে। আপনি "রুট সুবিধাগুলি সহ নিজেকে" হতে পারবেন না, একটি প্রোগ্রাম হয় আপনার ইউআইডি দিয়ে বা রুটের ইউআইডি (0) দিয়ে চলে।
সের্গে

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

36

এই উত্তরটি এই প্রশ্নের দ্বুপে আমার উত্তরের এক দ্বিপুটি , এখানে প্রচলিত উত্তরটি রেখে দিন যাতে লোকেরা এটি খুঁজে পেতে পারে!

sudo -iএবং এর মধ্যে প্রধান পার্থক্য sudo -s:

  • sudo -iআপনাকে মূল পরিবেশ দেয়, যেমন আপনার ~/.bashrcঅবহেলিত।
  • sudo -sআপনাকে ব্যবহারকারীর পরিবেশ দেয় তাই আপনার ~/.bashrcশ্রদ্ধা হয়।

এখানে একটি উদাহরণ রয়েছে, আপনি দেখতে পাচ্ছেন যে lslআমার ~/.bin/ডিরেক্টরিতে আমার কাছে একটি অ্যাপ্লিকেশন রয়েছে যা অ্যাক্সেসযোগ্য sudo -sতবে এর মাধ্যমে অ্যাক্সেসযোগ্য নয় sudo -i। এটিও নোট করুন যে বাশ প্রম্পট এর সাথে বদলে যাবে sudo -iতবে পরিবর্তিত হবে sudo -s:

dotancohen@melancholy:~$ ls .bin
lsl

dotancohen@melancholy:~$ which lsl
/home/dotancohen/.bin/lsl

dotancohen@melancholy:~$ sudo -i

root@melancholy:~# which lsl

root@melancholy:~# exit
logout

dotancohen@melancholy:~$ sudo -s
Sourced .bashrc

dotancohen@melancholy:~$ which lsl
/home/dotancohen/.bin/lsl

dotancohen@melancholy:~$ exit
exit

sudo -sআপনি যে পরিবেশটির সাথে পরিচিত তা আপনাকে দেওয়ার পক্ষে সুবিধাজনক তবে আমিsudo -i দুটি কারণে ব্যবহার করার পরামর্শ দিচ্ছি :

  1. আপনি যে 'রুট' সেশনে রয়েছেন সেই ভিজ্যুয়াল অনুস্মারক।
  2. মূল পরিবেশ ম্যালওয়ারের সাথে বিষাক্ত হওয়ার সম্ভাবনা অনেক কম, যেমন একটি দুর্বৃত্ত লাইনের অভ্যন্তরে .bashrc

আমি লক্ষ্য করেছি যে সুডো-গুলি / ইত্যাদি / প্রোফাইলে প্রসেস করছে না, বা আমার /etc/profile.d/ এ থাকা কিছু আছে .. কোনও ধারণা কেন?

@ ডটানকোহেন - আপনি যে sudo -sপরিবেশটির সাথে পরিচিত তার অর্থ কী ?
অনুপ্রাণিত

@ ডোটানকোহেন - সুডো-এস কমান্ডটি ইতিমধ্যে ভিজ্যুয়াল ইঙ্গিত সরবরাহ করেছে যাতে আমি কৌতূহল করি কেন সুডো -i আরও ভাল বিকল্প।
16:28

9

su "রুট" ব্যবহারকারীর পাসওয়ার্ড জিজ্ঞাসা করে।

sudoআপনার নিজের পাসওয়ার্ডের জন্য জিজ্ঞাসা করে (এবং আপনাকে রুট হিসাবে কমান্ডগুলি চালনার অনুমতি দেওয়া হয়েছে কিনা তা যাচাই করে দেখুন /etc/sudoers- ডিফল্টরূপে "প্রশাসক" বা "সুডো" গ্রুপের অন্তর্ভুক্ত সমস্ত ব্যবহারকারীর অ্যাকাউন্টকে সুডো ব্যবহার করার অনুমতি দেওয়া হয়েছে)।

sudo -sরুট হিসাবে শেল চালু করে তবে আপনার কার্যক্ষম ডিরেক্টরিটি পরিবর্তন করে না। sudo -iমূল অ্যাকাউন্টে একটি লগইনকে অনুকরণ করে: আপনার কার্যকরী ডিরেক্টরিটি হবে /rootএবং রুট এর .profileইত্যাদি লগইনে থাকলে তা উত্সাহিত হবে।


1
উত্তরটি আরও সম্পূর্ণ করে তুলতে: sudo -sপ্রায় সমান su( sudo -isu -
OME

@ ডিজে ক্র্যাশডমি - আপনি কেন প্রায় সমান বলছেন? পার্থক্য কি?
অনুপ্রাণিত

2

উবুন্টু বা একটি সম্পর্কিত সিস্টেমে, আমি suপ্রচলিত, অতি-ব্যবহারকারী অর্থে খুব বেশি ব্যবহার করতে পাই না । sudoকেসটি আরও ভালভাবে পরিচালনা করে। যাইহোক, suওয়ান-অফ পরিস্থিতিতে অন্য ব্যবহারকারী হয়ে ওঠার জন্য দুর্দান্ত যেখানে sudoers কনফিগার করা নির্বোধ হবে।

উদাহরণস্বরূপ, আমি যদি আমার লাইভ সিডি / ইউএসবি থেকে আমার সিস্টেমটি মেরামত করি তবে আমি প্রায়শই আমার হার্ড ড্রাইভ এবং অন্যান্য প্রয়োজনীয় জিনিসগুলি এবং chrootসিস্টেমে মাউন্ট করব । এই জাতীয় ক্ষেত্রে, আমার প্রথম আদেশটি সাধারণত:

su - myuser  # Note the '-'. It means to act as if that user had just logged in.

এইভাবে, আমি রুট হিসাবে নয়, তবে আমার সাধারণ ব্যবহারকারীর মতো অপারেটিং করছি এবং আমি তখন sudoযথাযথভাবে ব্যবহার করি use


0
  • su রুট পাসওয়ার্ড জিজ্ঞাসা করে, মূল হয়ে যায়, একটি ইন্টারেক্টিভ অ লগইন শেল খুলবে।
  • su - রুট পাসওয়ার্ড জিজ্ঞাসা করে, রুট হয়ে যায়, একটি ইন্টারেক্টিভ লগইন শেল খুলবে।

  • sudo -s আপনার পাসওয়ার্ড জিজ্ঞাসা করে, রুট হয়ে যায়, একটি ইন্টারেক্টিভ অ লগইন শেল খুলবে।
  • sudo -i আপনার পাসওয়ার্ড জিজ্ঞাসা করে, মূল হয়ে যায়, একটি ইন্টারেক্টিভ লগইন শেল খুলবে।

সেরা অনুশীলন এই দুটি ব্যবহার করা হয়।


  • sudo suআপনার পাসওয়ার্ড suজিজ্ঞাসা করে, এক সেকেন্ডের জন্য রুট হয়ে যায় এবং রুট হিসাবে চালায় `
  • sudo su -আপনার পাসওয়ার্ড জিজ্ঞাসা করে, এক সেকেন্ডের জন্য রুট হয়ে যায় এবং su -রুট হিসাবে চলে ।

সুতরাং এই ক্ষেত্রে আপনি suব্যবহার করছেন sudoএবং আপনাকে রুটের আসল পাসওয়ার্ড জানতে হবে না। ফলাফল হিসাবে suএবং একই su -


লগইন এবং নন লগইন শেল মধ্যে পার্থক্য কি?
পাইলট 6

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