পাসওয়ার্ড ছাড়াই অন্য ব্যবহারকারীকে sudo অনুমতি দিন


46

আমি কোনও নির্দিষ্ট ব্যবহারকারীর কাছে 'su' করতে সক্ষম হতে চাই, যা আমাকে কোনও পাসওয়ার্ড প্রবেশ না করেই কোনও কমান্ড চালাতে দেয়।

উদাহরণ স্বরূপ:

যদি আমার লগইনটি ব্যবহারকারী 1 এবং ব্যবহারকারী আমি 'su' করতে চাই তবে তা ব্যবহারকারী 2:

আমি কমান্ডটি ব্যবহার করব:

su - user2

তবে তারপরে এটি আমাকে অনুরোধ করে

Password:


পাসওয়ার্ডের জন্য অন্য ব্যবহারকারীকে জিজ্ঞাসা করুন। অন্তত অন্য ব্যবহারকারী জানেন যে তার আইডি এর অধীনে কী হয়েছে।
গ্লোবাল যাযাবর

1
অন্য শারীরিক ব্যবহারকারীর সাথে এটি করার কিছুই নয়। দুটি আইডিই আমার are আমি অ্যাকাউন্টটি তৈরি করার সাথে সাথে পাসওয়ার্ডটি জানি। আমি শুধু প্রতিবার পাসওয়ার্ড টাইপ করতে চাই না।
zio

ব্যবহারকারীর কাছে গিয়ে আঘাত করা ঠিক হবে নাকি আপনার বিশেষত একটি শেল উত্তরাধিকারী হওয়া দরকার এবং কাজ করার জন্য সু প্রয়োজন?
bmike

1
@ জিজি গ্রেট ইউজ কেস আপনার open -na Skypeজন্য কাজ করে না?
bmike

উত্তর:


66

sudo আপনার জন্য ঠিক যে করতে পারেন :)

এটির জন্য কিছুটা কনফিগারেশন প্রয়োজন, তবে একবার হয়ে গেলে আপনি কেবল এটি করেন:

sudo -u user2 -s

এবং আপনি কোনও পাসওয়ার্ড না দিয়েই ইউজার 2 হিসাবে লগ ইন হয়ে যাবেন।

কনফিগারেশন

কনফিগার উবুন্টু করার জন্য, আপনাকে মাধ্যমে কনফিগারেশন ফাইল এডিট করতে হবে: visudo। দ্রষ্টব্য: এই কমান্ডটি viটেক্সট সম্পাদক ব্যবহার করে কনফিগারেশনটি খুলবে , আপনি যদি এতে অস্বস্তি না করেন তবে আপনাকে export EDITOR=<command>নিম্নলিখিত লাইনটি কার্যকর করার আগে অন্য একটি সম্পাদক (ব্যবহার করে ) সেট করতে হবে । অন্য কমান্ড লাইন সম্পাদক কখনও কখনও সহজ হিসাবে বিবেচিত হয় nano, তাই আপনি করতে হবে export EDITOR=/usr/bin/nano। আপনার জন্য সাধারণত সুপার ব্যবহারকারীর অধিকার প্রয়োজন visudo:

sudo visudo

এই ফাইলটি বিভিন্ন বিভাগে, এলিয়াসগুলি পরে ডিফল্ট এবং অবশেষে আপনার বিধি রয়েছে have আপনাকে এখানে নতুন লাইন যুক্ত করতে হবে। সুতরাং আপনি ফাইলের শেষে নেভিগেট করুন এবং এটি যুক্ত করুন:

user1    ALL=(user2) NOPASSWD: /bin/bash

এছাড়াও আপনি প্রতিস্থাপন করতে পারেন /bin/bashদ্বারা ALLএবং তারপর আপনি পাসওয়ার্ড ছাড়াই USER2 যেমন কোনো কমান্ড আরম্ভ পারে: sudo -u user2 <command>

আপনি যদি কোনও ব্যবহারকারীর স্যুইচ করতে সক্ষম হন তবে কেবল ব্যবহার করুন

user1    ALL=(ALL) NOPASSWD: /bin/bash

হালনাগাদ

আমি সবে স্কাইপ সম্পর্কিত আপনার মন্তব্য দেখেছি। আপনি সরাসরি সুডোর কনফিগারেশন ফাইলে স্কাইপ যুক্ত করার বিষয়ে বিবেচনা করতে পারেন। আমি ধরে নিয়েছি আপনার অ্যাপ্লিকেশন ফোল্ডারে আপনি স্কাইপ ইনস্টল করেছেন :

user1    ALL=(user2) NOPASSWD: /Applications/Skype.app/Contents/MacOS/Skype

তারপরে আপনি টার্মিনাল থেকে কল করবেন:

sudo -u user2 /Applications/Skype.app/Contents/MacOS/Skype

এটি ssh কী ধারণার তুলনায় অনেক কম জটিল, সুতরাং আপনার দূরবর্তী অ্যাক্সেসের জন্য ssh কীগুলির প্রয়োজন না হলে এটি ব্যবহার করুন।
বিমিক

2
সুরক্ষা-দৃষ্টিভঙ্গি থেকে একটি বিষয় লক্ষণীয় হ'ল নির্দিষ্ট কমান্ড নির্দিষ্ট করে বোঝানো হয় যে এটি ব্যবহারকারীর জন্য কেবল পঠনযোগ্য কমান্ড হওয়া উচিত; অন্যথায়, তারা অন্য কোনও কিছু দিয়ে কমান্ডটি মুছে ফেলতে এবং ব্যবহারকারীরূপে চালাতে পারে। এবং যদি আপনি এটি সম্পর্কে চিন্তা না করেন, তবে আপনি সেইসাথে নির্দিষ্ট করতে পারেন যে ইউজার 1 যে কোনও কমান্ড ইউজার 2 হিসাবে চালাতে পারে এবং তাই একটি সহজ সুডো কনফিগারেশন থাকতে পারে।
স্টান কুর্দিজিল

পছন্দ করুন যদিও এটি সচেতন হওয়ার মতো কিছু, তবে ব্যবহারকারীদের দ্বারা সিস্টেম এক্সিকিউটেবলকে রাইটিংযোগ্য করে তোলা খুব কমই হয় তবে আপনি যদি মূল না হন তবে এই ক্ষেত্রে আপনার সুডোর দরকার নেই ;-) তবে আপনি এই মন্তব্যটি যুক্ত করবেন ঠিক কারণ এটি খুব কমই দেখা যায় আমি সম্ভবত এটি একাধিকবার উপেক্ষা করেছি।
হিউজেন্স

su - user2পরিবর্তে আচরণের আরও কাছাকাছি আসার জন্য su user2, কমান্ডগুলি সম্ভবত সকলেরই অন্তর্ভুক্ত হওয়া উচিত sudo -u user2 -i, যাতে ব্যবহারকারী 2 হিসাবে প্রাথমিক লগইন অনুকরণ করতে পারে
জের্ট ভ্যান ডান বার্গ

4

আমি দ্বিতীয় অ্যাকাউন্টের জন্য পাবলিক / প্রাইভেট এসএসএস কীগুলি সেট আপ করব এবং কীটি প্রথম অ্যাকাউন্টে সঞ্চয় করব।

তারপরে আপনি একটি কমান্ড চালাতে পারেন:

 ssh user@localhost -n /Applications/Skype.app/Contents/MacOS/Skype &

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


1
কোনও হোস্টের যে কোনও অ্যাকাউন্টে পাসওয়ার্ড-মুক্ত লগইনের সাধারণ ক্ষেত্রে এটি একটি ভাল সুরক্ষিত সমাধান, তবে আমি বলব যে যখন উভয় অ্যাকাউন্ট একই হোস্টে থাকে এবং একই ব্যবহারকারীর অন্তর্ভুক্ত থাকে তখন সম্ভবত এটি অত্যধিক কমে যায়।
calum_b

@ স্কটিশ উইল্ডক্যাট পাসওয়ার্ডের স্ক্রিপ্টিং এবং এটিকে পরিষ্কার পাঠ্যে খাওয়ানো বা ভেরিয়েবল ব্যবহার করে এবং পাসওয়ার্ডটি কীচেইনে সংরক্ষণ এবং বিকল্পটি expectইন্টারঅ্যাকশন স্ক্রিপ্ট করার মতো একটি সরঞ্জাম ব্যবহারের চেয়ে অনেক বেশি নিরাপদ । আমি কেবল sudo su - blahআমার পাসওয়ার্ডটি ব্যবহার করি এবং টাইপ করি। আমি মনে করি যে অন্য উত্তরটি এটিকে একটি মন্তব্য হিসাবে রাখার জন্য সুডোকে যথেষ্ট কভার করেছে।
bmike

ওহ, আমি অবশ্যই আপনার উত্তরটি সরিয়ে দেওয়ার পরামর্শ দিচ্ছিলাম না ... আমি ভোটও কম করি নি, এটি একটি দুর্দান্ত উত্তর good
calum_b

আমরা সামগ্রিক চুক্তিতে উপস্থিত হয়েছি - সংযোজনের জন্য ধন্যবাদ - আপনি যদি এটির উন্নতি করতে পারেন তবে উত্তরে এটির সম্পাদনা করতে দ্বিধা বোধ করবেন।
bmike

গৃহীত সমাধানটির ( sudo -u user2 <...>) এর সুবিধা রয়েছে যে এটি দূর থেকে ব্যবহার করা যাবে না, যা সুরক্ষার জন্য সহায়তা করতে পারে - ব্যবহারকারীর জন্য এমন কোনও ব্যক্তিগত কী নেই যা চুরি হতে পারে।
গার্ট ভ্যান ডেন বার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.