Sudo ব্যবহার করে পাসওয়ার্ড না জিজ্ঞাসা করে ফাঁসির অনুমতি কীভাবে দেওয়া যায়?


15

আমি একটি জাভা অ্যাপ্লিকেশন লিখছি যেখানে আমাকে কমান্ড লাইন কার্যকর করতে হবে এবং ফলাফল ফিরে পেতে হবে তবে আমি যখন কমান্ডটি কার্যকর করি তখন এটি sudo পাসওয়ার্ড চাইবে। এখনও পর্যন্ত আমি চেষ্টা করেছি:

$ sudo -s
$ vim /etc/sudoers
# User privilege specification
root         ALL=(ALL:ALL) NOPASSWD: ALL
javauser     ALL=(ALL:ALL) NOPASSWD: ALL

:wq
$ 4 -r--r-----   1 root root     615 2011-10-26 09:23 sudoers

কমান্ডটি কার্যকর করার পরে এটি আবার "[জাভোসর] জাভোসারের জন্য পাসওয়ার্ড:" জিজ্ঞাসা করে। তবে আমি ইতিমধ্যে noPASSWD উল্লেখ করেছি।

whoamiফিরে আসে alexএবং আমি sudoersফাইল হিসাবে এটি যোগ করছি

# User privilege specification
root    ALL=(ALL:ALL) ALL
alex ALL=NOPASSWD: ALL


# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

দৌড়ানো কি আমাকে আমার পাসওয়ার্ড জিজ্ঞাসা করে, কোনও ধারণা?


দেখে মনে হচ্ছে ইতিমধ্যে একটি খুব অনুরূপ প্রশ্ন রয়েছে: Askubuntu.com / প্রশ্নগুলি / 39281/… - আপনি কি সেখান থেকে উত্তরটি চেষ্টা করেছেন?
সের্গেই

নিশ্চিত হয়ে নিন যে আপনার জাভা কোডটিতে আপনি আপনার সিস্টেম কলে "sudo / পরম / পথ / টু / কমান্ড" ব্যবহার করেন। BTW। সুরক্ষা কারণে sudoers ফাইল সম্পাদনা করার sudo visudoপরিবর্তে আপনার ব্যবহার করা উচিত vim। আপনি যদি কোনও ভুল করেন তবে প্রোগ্রামটি আপনাকে সে সম্পর্কে সতর্ক করে।
কন-এফ-ব্যবহার করুন

আমি ঠিক কী চেষ্টা করেছি তা এখানে পাওয়া যাবে: gist.github.com/1315951

উত্তর:


28

টার্মিনালটিতে আপনাকে নিম্নলিখিত sudo visudoকাজগুলি করতে হবে এবং ফাইলটির শেষে এই জাতীয় একটি লাইন যুক্ত করতে হবে যা আপনি sudo পাসওয়ার্ড টাইপ না করেই চালাতে চান সেই আদেশগুলি নির্দিষ্ট করে (আমি আপনাকে প্রোগ্রামটিতে যে কমান্ড ব্যবহার করতে চান তা ব্যবহার করার পরামর্শ দিচ্ছি এবং এটির দ্বারা সমস্ত প্রোগ্রামগুলি কার্যকর করার অনুমতি দিন না)

<yourusername> ALL=NOPASSWD: <command1>, <command2>

আপনি যতক্ষণ না কমান্ডটি টাইপ করেন ততক্ষণ আপনি পাসওয়ার্ড ছাড়াই নির্দিষ্ট কমান্ডগুলি চালাতে পারেন sudo

উদাহরণস্বরূপ: বলুন যে আপনি shutdown -r nowপ্রতিবার sudo পাসওয়ার্ড টাইপ না করে চালাতে চান এবং আপনার ব্যবহারকারীর নামটি 'joedoe'

  1. sudo visudoএকটি টার্মিনাল টাইপ করুন

  2. যোগ joedoe ALL=NOPASSWD: /usr/sbin/shutdown -r nowএকটি নতুন লাইন হিসেবে ফাইলের শেষে , প্রোগ্রাম আপনি ব্যবহার করার চেষ্টা করছেন পরম পাথ ব্যবহার করুন।

  3. আপনার প্রোগ্রামে আপনি sudo shutdown -r nowsudo পাসওয়ার্ড টাইপ না করে ব্যবহার করতে পারেন ।

আপনি which <program name>একটি টার্মিনাল ব্যবহার করে কোনও প্রোগ্রামের পরম পথ খুঁজে পেতে পারেন ।

এটির একটি অত্যন্ত নোংরা কৌশলটি আপনার সিস্টেমটিকে অন্যান্য বিপদের জন্য উন্মুক্ত করে দেয় তবে আমি অনুমান করছি যে আপনি কী করছেন তা জানেন এবং এটি চান।

সম্পাদন করা

আপনার সত্যিকারের নিশ্চিত হওয়া দরকার যে আপনি যে অনুমতিগুলি নির্ধারণ করছেন সেটি ফাইলের শেষে রয়েছে যাতে গোষ্ঠীগুলির অনুমতি দ্বারা কোনও কিছুই ওভাররাইট না হয়।


মনে হচ্ছে তিনি ইতিমধ্যে এটি করেছিলেন।
কন-এফ-ব্যবহার

যদি তিনি ইতিমধ্যে তা করে থাকেন তবে আপনি তাকে কেন ব্যাখ্যা করছেন যে তার ব্যবহার করা উচিত sudo visudoএবং vimসুডোর ফাইল সম্পাদনা করার জন্য নয় ? তিনি যদি এটি করেন তবে এটি কাজ করবে।
ব্রুনো পেরেরা

1
আপনি কি sudoআপনার কোডের ভিতরে কমান্ডের সামনে টাইপ করছেন? আপনি sudoers ফাইলে nopasswd জোর করেও আপনার এটি করা দরকার। যেমন: ব্যবহার sudo <command>না শুধুমাত্র <command>
ব্রুনো পেরেরা

1
আমার জন্য সিএমডি = "হোয়ামি" রিটার্ন brunoএবং সেমিডি = "sudo whoami"রিটার্নroot
ব্রুনো পেরেইরা

3
খুঁজে পেয়েছি! আমার লাইনটি sudoersফাইলের শেষের দিকে না থাকলে এটি পুনরুত্পাদন করতে পারে । গ্রুপ অ্যাসাইনমেন্ট ইত্যাদির পরে সত্যই শেষ লাইন! ফাইলটি সর্বশেষ হতে লাইনটি সরান! (আশা করি এটি ছিল)
ব্রুনো পেরেইরা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.