আমি একটি স্ক্রিপ্ট তিন ফাংশন executes আছে: A && B && C
।
B
একটি সুপার-ব্যবহারকারী হিসাবে ফাংশনটি চালানো দরকার, যখন নেই A
এবং C
না।
আমার বেশ কয়েকটি সমাধান রয়েছে তবে এর একটিও সন্তোষজনক নয়:
পুরো স্ক্রিপ্ট sudo:
sudo 'A && B && C'
এটি চালানোর জন্য একটি খারাপ ধারণা
A
এবংC
সুপার-ইউজার হিসাবে এটির প্রয়োজন না হলে মনে হয়স্ক্রিপ্টটি ইন্টারেক্টিভ করুন:
A && sudo B && C
আমার পাসওয়ার্ডটি টাইপ-ইন করতে হতে পারে তবে আমি চাই আমার স্ক্রিপ্টটি অ-ইন্টারেক্টিভ হোক, কারণ প্রতিটি ফাংশনে কিছুটা সময় নিতে পারে এবং আমি চাই না যে স্ক্রিপ্টটি আমার জন্য অপেক্ষা করবে। ঠিক আছে, এ কারণেই এটি প্রথম স্থানে একটি স্ক্রিপ্ট, সুতরাং আমাকে এটি চালানো দেখতে হবে না।
বোকা সমাধান:
sudo : && A && sudo -n B && C
প্রথমে প্রথমে কোনও অপ-চালানো বোকামি বলে মনে হচ্ছে
sudo
এবং আমার আঙুলটিও অবশ্যই কাটতে হবে যা A এর চেয়ে বেশি নেবে না$sudo_timeout
।হাইপোথিটিক্যাল সমাধান (আমি আশা করি আপনি এটি আমাকে বলুন এটি বিদ্যমান):
sudo --store-cred 'A && sudo --use-cred-from-parent-sudo B && C'
এটি শুরুতে আমার পাসওয়ার্ডের জন্য অনুরোধ জানাবে এবং তারপরে প্রয়োজনের সময় কেবলমাত্র সেই শংসাপত্রগুলি ব্যবহার করবে।
এই সব সম্পর্কে আপনার মতামত কি? আমি খুব অবাক হয়েছি যে এই সমস্যার কোনও সমাধান নেই, কারণ আমি মনে করি এটি একটি সাধারণ সমস্যা (কী সম্পর্কে make all && sudo make install
)
A
এবংC
অংশগুলি স্পষ্টভাবে ব্যবহার করে সম্পাদন করতে পারেনsu -l some_non_priviliged_user
। সময়সীমা ছাড়ার সমস্যা নেই এবং এ এবং সি এর জন্য কোনও প্রাইভেলিজ নেই বলে আমি মনে করি না যে 4 টি সম্ভব, এটিsudo
কোনও ব্যবহারকারীর জন্য "গ্লোবাল স্টেট" বলে মনে হয়।