এসএসএইচ দিয়ে 'সুডো' চালাচ্ছেন


8

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

সমস্যাটি হ'ল দূরবর্তী যন্ত্রগুলিতে কমান্ডটি sudoচালানো দরকার । এবং একই সাথে স্ক্রিপ্টের পুরো পয়েন্টটি হ'ল ব্যবহারকারীকে একাধিকবার পাসওয়ার্ড টাইপ করতে হবে। এর জন্য পাসওয়ার্ড টাইপ করা এড়ানো উপায় আছে sudo? দূরবর্তী মেশিনে কমান্ডের অনুমতি পরিবর্তন করা কোনও বিকল্প নয়।

উত্তর:


8

সুডোর জন্য আপনি কোনও ব্যবহারকারীকে পাসওয়ার্ড না চাইতেই সুডো চালানোর অনুমতি দিতে পারেন, চেষ্টা করুন man sudoers। কমান্ড /etc/sudoersজারি করে আপনি ফাইলটি সম্পাদনা করতে পারেন visudo। এটি বিশেষ হতে হবে কারণ অন্যথায় ফাইলটি সঠিকভাবে পুনরায় লোড করা হয়নি। ফলাফলের লাইনগুলি (এখানে ফাইলের উদাহরণ থেকে নেওয়া) হওয়া উচিত:

## Allows people in group wheel to run all commands
# %wheel    ALL=(ALL)   ALL

## Same thing without a password
%wheel  ALL=(ALL)   NOPASSWD: ALL

ধন্যবাদ. এটি মজার বিষয় যেহেতু আমার সহকর্মী আপনার উত্তর পোস্ট করার ঠিক আগে, একই লাইনে একটি সমাধান প্রস্তাব করেছিলেন। আপনি কি যুক্ত করতে পারবেন যে সম্পাদনা করার জন্য ফাইলটি রয়েছে /etc/sudoersএবং এটি sudo /usr/sbin/visudo
চালিয়েও

8
আপনি যে কমান্ডটি চালাতে চান তা যদি আপনি জানেন তবে আপনি সমস্ত কমান্ড নির্দিষ্ট করতে চাইবেন না a একটি সুরক্ষা গর্তের বিট, জানো know
টম ও'কনোর

3
@ টম ও'কনর: হ্যাঁ, আমি কেবল প্রয়োজনীয় কমান্ড সরবরাহ করেছি। সম্পূর্ণতার জন্য এখানে একটি উদাহরণ দেবে:%wesho ALL=NOPASSWD: /sbin/service httpd
ওয়াহিদগ

আহ, যথেষ্ট ন্যায্য। :)
টম ও'কনোর

7

@Wesho,

আপনি ড্যাডডম যা বলেছিলেন তা করতে পারেন (এটি কার্যকর হবে এবং এটি সহজ) বা আপনার পাম-এসএসএল-এজেন্ট-অউথ নামক একটি পিএএম মডিউল ব্যবহার করে আপনার সেটআপটি গোছাতে চান ।

দেবিয়ান / উবুন্টু সিস্টেমগুলির প্রক্রিয়াটি যুক্তিসঙ্গতভাবে সহজ:

$ sudo aptitude install libssl-dev libpam0g-dev build-essential checkinstall
$ wget "http://downloads.sourceforge.net/project/pamsshagentauth/pam_ssh_agent_auth/v0.9.3/pam_ssh_agent_auth-0.9.3.tar.bz2"
$ tar -xjvf pam_ssh_agent_auth-0.9.3.tar.bz2
$ cd pam_ssh_agent_auth-0.9.3

$ ./configure --libexecdir=/lib/security --with-mantype=man

$ make
$ sudo checkinstall

Sudo কনফিগারেশন সম্পাদনা করুন:

$ sudo visudo

নিম্নলিখিত যুক্ত করুন:

Defaults env_keep += SSH_AUTH_SOCK

সুডো পিএএম সেটিংস পরিবর্তন করে চালিয়ে যান:

$ sudo vi /etc/pam.d/sudo

যোগ প্রমাণীকরণ মাত্র 2 বিদ্যমান উপরের লাইনটি @include লাইন:

auth [success=2 default=ignore] pam_ssh_agent_auth.so file=~/.ssh/authorized_keys
@include common-auth
@include common-account

ভাল খবর!

sudo কোনও লেখক ছাড়াই কিন্তু sudo কনফিগারেশন থেকে কেবল পাসওয়ার্ড অপসারণের পরিবর্তে শক্তিশালী প্রমাণীকরণ করতে এসএসএইচ এজেন্টের উপর নির্ভর করে।


1
এছাড়াও আপনি চেক করতে পারেন এই
আন্দ্রে দে মিরান্ডার

1
authorized_keysলক হওয়া আবশ্যক তাই কেবল রুট এটি পরিবর্তন করতে পারে - অন্যথায় আপনি পাসওয়ার্ডটি অক্ষমও করতে পারেন।
ijk


2

আন্ড্রে ডি মিরান্ডার উত্তরটি পাম_এসএইচ_এজেন্ট_আউথ ব্যবহার করে একটি দুর্দান্ত সমাধান সরবরাহ করে তবে অংশগুলি পুরানো । বিশেষত /etc/pam.d/sudoঅনেকগুলি লিনাক্স সংস্করণ ব্যবহার করার সময় নির্দেশাবলী।

আপনি যদি উবুন্টু 12.04 সুনির্দিষ্টভাবে চালাচ্ছেন, তবে আমি আসলে পিপিএ: পিপিএ: সিপিক / পাম-এসএস-এজেন্ট- আথ তৈরি করে একটি pam_ssh_agent_auth বিল্ড সরবরাহ করে প্রক্রিয়াটি সহজ করেছি ।

আপনি চালিয়ে প্যাকেজ ইনস্টল করতে পারেন:

sudo add-apt-repository ppa:cpick/pam-ssh-agent-auth
sudo apt-get install pam-ssh-agent-auth

ইনস্টলেশনের পরে, যদি আপনি এই পিএএম মডিউলটি সুডোর সাথে ব্যবহার করতে চান তবে আপনাকে সুডোর সেটিংস এবং পিএএম কনফিগারেশন কনফিগার করতে হবে, উবুন্টু 12.04 এ আপনি নীচের দুটি ফাইল তৈরি করে তা করতে পারেন:

/etc/sudoers.d/pam-ssh-agent-auth:

Defaults    env_keep+="SSH_AUTH_SOCK"

/etc/pam.d/sudo:

ent#%PAM-1.0

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth       sufficient pam_ssh_agent_auth.so file=/etc/security/authorized_keys
@include common-auth
@include common-account
@include common-session-noninteractive

আপনি যদি শেফ ব্যবহার করছেন তবে উপরের প্রক্রিয়াটি আমার কুকবুকের সাহায্যে স্বয়ংক্রিয়ভাবে তৈরি করা যেতে পারে, নিম্নলিখিত দুটি স্থানের মধ্যে পাওয়া যায়:
https://github.com/cpick/pam-ssh-agent-auth
http: //commune.opscode .com / কুকবুকস / পাম-এসএস-এজেন্ট-আথ

পাকপ্রণালীর এর filesডিরেক্টরি ধারণকারী /etc/pam.d/sudoএবং /etc/sudoers.d/pam-ssh-agent-authফাইল উবুন্টু 12.04 সুনির্দিষ্ট সঙ্গে যে কাজ উপরে বর্ণিত এবং যখন অন্য সংস্করণের / ডিস্ট্রো ব্যবহার করে একটি সহায়ক আদ্যস্থল হওয়া উচিত।

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