আমার বেশিরভাগ মেশিন নিয়মিতভাবে প্রবেশ করেছি কেবলমাত্র sudo suআমার বাকী অংশটি বিশেষ উদ্দেশ্যে ব্যবহারকারীর হিসাবে লগ ইন করা ব্যয় করার জন্য regularly সাধারণ কর্মপ্রবাহটি হ'ল:
mymachine:~ me$ ssh me@othermachine
othermachine:~ me$ sudo su - specialuser # note: no password needed
othermachine:~ specialuser$ # do stuff
আমি এটিকে একটি লাইনারে সিদ্ধ করতে চাই যা আমি ওরফে করতে পারি, তাই আমি প্রতিটি মেশিনের জন্য কেবল একটি উলাম সেট করতে পারি এবং যেখানে sudo su - specialuserবয়লারপ্লেট টাইপ না করেই আমার একক কমান্ডে থাকতে হবে সেখানে পৌঁছাতে পারি। আমি লগইন করতে পারে সেট আপ me@othermachineকরতে পারে sudo su, কিন্তু meআমি প্রয়োজন হিসাবে চালানোর জন্য নমনীয়তা রাখতে চাই ।
( দ্রষ্টব্য: আমার কোনও নিয়ন্ত্রণ নেই othermachineবা এটি কীভাবে সেট আপ করা হয়েছে; এটি একটি প্রতিষ্ঠিত কর্মপ্রবাহ যা আমি যখন নিয়োগ পেয়েছিলাম তখন in
আমার প্রথম চিন্তা ছিল ন্যায়বিচার
ssh me@othermachine "sudo su - specialuser"
এবং এই ধরণের কাজগুলি, তবে এটি আমার কোনও প্রম্পট পায় না, ^Cএটি মেরে এবং আমাকে লগ আউট করে দেয় এবং আমি ধরে নিয়েছি যে অন্যান্য বিভিন্ন জিনিস সম্ভবত ভুল are
ফুল লগইন শেল দিয়ে রিমোট ssh কমান্ড পড়ার পরে আমি আরও কয়েকটি বিদেশী জিনিস চেষ্টা করেছি
ssh me@othermachine 'bash -l -c "sudo su - specialuser"'
এবং
ssh me@othermachine 'bash -l -c "sudo su - specialuser"; bash'
- যার মধ্যেও আমি কাজ করার প্রত্যাশা করছিলাম, এবং তারা তা করেনি, তবে আমি ভেবেছিলাম আমার সম্পূর্ণতার জন্য তাদের চেষ্টা করা উচিত (এবং কাছাকাছি-সদৃশ এড়াতে); তারা একই প্রম্পট-কম শেল উত্পাদন করে (দ্বিতীয়টির জন্য একটি যুক্ত বোনাস প্রম্পট-কম শেলটি একটির জন্য -র meপরে exitনেওয়ার জন্য specialuser)। এবং আমি চেষ্টা করেছিলাম
ssh me@othermachine "sudo su - specialuser -c bash -l"
তবে এটি আমাকে পেয়েছে
sudo: no tty present and no askpass program specified
আরও ভাল ধারণা?
sudoআমি আঘাত করব ^C? আমি যদি আরও ভাল কিছু নিয়ে আসতে না পারি তবে আমি চেষ্টা করে দেখতে পারি।
su meথেকে পারে specialuser। অথবা .profileঅথবা .bashrc, আপনি অনুসরণ করো না যদি sudoসঙ্গে exit, আপনার প্রথম exitতুমি ফিরে নিতে হবে me, একটি দ্বিতীয় সঙ্গে সেশন শেষ করতে। বা এমনকি একটি পতাকা ফাইল, তাই ব্যবহার sudoদ্বারা পূর্বে হয় [ -f ~/.keep.me ] && del ~/.keep.meএবং অনুসরণ [ \! -f ~/.keep.me ] && exit: আপনি তারপর একটি কমান্ড শুধুমাত্র একটি স্ক্রিপ্ট বা ওরফে প্রয়োজন meহিসাবে :>~/.keep.me; exit। এখন exitআপনার সেশনটি শেষ করবে এবং meআপনার লগইন সেশনে ফিরে যাবে।
~/.profileএকটি স্বল্প বিলম্বের পরে sudo কমান্ড যোগ করার বিষয়ে ?