আমি কীভাবে ফাইলগুলির মালিক পরিবর্তন না করে সুডোর সাথে আদেশগুলি ব্যবহার করতে পারি?


12

আমি যখন ফাইলগুলি সহ কিছু ক্রিয়াকলাপ করতে sudo ব্যবহার করি তখন এই ফাইলগুলির মালিকানা পরিবর্তন হয়। আমি কীভাবে ফাইলগুলির মালিক পরিবর্তন না করে সুডোর সাথে আদেশগুলি ব্যবহার করতে পারি?

ফাইল সংরক্ষণাগার 35. উদাহরণ উদাহরণস্বরূপ অ্যাপাচি থেকে তবে আমি সেড ব্যবহার করি (usr অ্যাডমিন সুডোর সাথে)

$ ls -l
-rwxr-xrw-. 1 apache apache 181 Aug 5 11:56 archivos35.sh

adminসুডো সহ ব্যবহারকারী ---

sudo sed -i s/old/new/g archivos35.sh

কিন্তু sudo দিয়ে সেই কমান্ডটি করা ফাইলটির মালিককে পরিবর্তন করে

$ ls -l
-rwxr-xrw-. 1 admin apache 181 Aug 5 11:56 archivos35.sh

ফাইলের মালিককে পরিবর্তন করতে আমি sudo সহ কমান্ডটি কীভাবে এড়াতে পারি? আমি কেবল ফাইলটির মালিককে পরিবর্তন না করেই পরিবর্তন করতে চাই।


আপনার স্ক্রিপ্ট বিশ্ব-রচনামূলক কেন?
জিম এল।

ভুল করে আমি এটা 756. সাথে সেট ই বা করবো না
Dok গাস

উত্তর:


29

আপনার যদি sudoফাইলটি সংশোধন করতে ব্যবহার করতে হয় তবে সঠিক ব্যবহারকারীর কাছে স্যুইচ করতে এটি ব্যবহার করুন। আপনি না প্রয়োজন রুট পাল্টাতে শুধু ডিফল্ট যে। সুতরাং, আপনার ক্ষেত্রে, আপনি এটি করতে চাই:

sudo -iu apache sed -i 's/old/new/g' archivos35.sh

sedএটি ইউজার হিসাবে কমান্ড চালাবে apache


2

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


1
আপনি ভাববেন যে -iবিকল্পটি ওরফে --in-placeপ্রকৃতপক্ষে স্থান পরিবর্তন করবে ...
জেস্টোর হাউজ

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

1
@ জেস্টারহাউস আপনি ভাবেন, তবে এটি কমপক্ষে সর্বত্র নয়।
কাইল জোন্স

3
@ জেস্টোরহাউস সর্বাধিক তথাকথিত 'ইন-প্লেস' সম্পাদনাগুলি নয়, তারা বেশিরভাগই একটি অস্থায়ী ফাইল পরিবর্তন করে এবং তারপরে মূলটির উপরে এটি এমভি করে (এবং এতে বেশিরভাগই অন্তর্ভুক্ত থাকে, সেড এবং পার্লের প্রয়োগ এবং বেশিরভাগ প্রোগ্রাম) "ইন-প্লেস এডিট" বিকল্প সহ)। আপনি যদি আসল স্থান পরিবর্তন করতে চান তবে স্ক্রিপ্টযোগ্য পাঠ্য সম্পাদক edবা exবা vi/ ব্যবহার করুন vim
কাস

1
এমনকি কিছু পাঠ্য সম্পাদকেরা লেখার সময় ক্রাশের ক্ষেত্রে ব্যর্থ-নিরাপদ হিসাবে ফাইলটি লেখার সময় টেম্প + পুনরায় নামকরণ পদ্ধতি ব্যবহার করেন। উদাহরণস্বরূপ ইম্যাকস ডিফল্টরূপে এটি করে তবে আপনি এটি কনফিগারেশনের মাধ্যমে ওভাররাইট করতে পারেন।
বারমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.