আমি এমন একটি লিনাক্স কমান্ড খুঁজছি যা প্রদত্ত ব্যবহারকারীর সমস্ত ফাইলের মালিকানা, বিশেষত লক্ষ্যযুক্ত ডিরেক্টরিতে অন্য নির্দিষ্ট ব্যবহারকারীর কাছে পরিবর্তন করতে পারে।
আমার স্বপ্নের আদেশটি দেখতে এরকম কিছু হবে ...
chuser -R --olduser tom --newuser jerry
অথবা
chuser -R --olduser 1066 --newuser 1492
এটি আমার পরিস্থিতি ... এতে ব্যবহারকারী এবং গোষ্ঠী সম্পর্কিত তথ্য সহ আমার কাছে একটি ব্যাকআপ ফাইল (.tgz) আছে। এটি অ্যাপাচি এবং মাইএসকিউএল চলমান একটি ওয়েব সার্ভার থেকে নেওয়া হয়েছিল। ব্যাকআপের ফাইলগুলি সিস্টেম জুড়ে রয়েছে এবং এতে বিভিন্ন ব্যবহারকারী এবং বেশ কয়েকটি সিস্টেম টাইপ অ্যাকাউন্ট রয়েছে এবং এটি নতুন সার্ভারে পুনরুদ্ধার করলে সেটিংসটি হারিয়ে যায় না key সমস্যাটি হ'ল মেশিনে থাকা ব্যবহারকারীরা ফাইলগুলি ব্যাকআপ ফাইলের সাথে মেলে না বলে পুনরুদ্ধার করা হচ্ছে। উদাহরণস্বরূপ উভয় মেশিনের একটি মাইএসকিউএল ব্যবহারকারী ছিল তবে তাদের পৃথক ব্যবহারকারী আইডি রয়েছে এবং বিভিন্ন ব্যবহারকারীর আইডি রয়েছে যা উভয় মেশিনেই বিদ্যমান ছিল যা বিভিন্ন ব্যবহারকারীর অন্তর্ভুক্ত। এর অর্থ পুরানো মেশিনে থাকা নতুন মেশিনে ব্যবহারকারীদের সিঙ্ক করার কোনও উপায় নেই।
আমি এইভাবে ফাইন্ড কমান্ডের সাহায্যে সমস্ত ব্যবহারকারীর ফাইলগুলি খুঁজে পেতে পারি ...
find /decompressed-backup-dir -uid 1050
অথবা
find /decompressed-backup-dir -user tom
যদি আমার সন্দেহ হয় যে আমি একক কমান্ড দিয়ে যা চাই তার করার উপায় নেই তবে সম্ভবত মালিকানা পরিবর্তন পরিচালনার জন্য ফাইন্ড কমান্ডের ফলাফলগুলিকে অন্য কমান্ডে পাইপ করার কোনও উপায় আছে?
আমি এটি একটি পিএইচপি স্ক্রিপ্টের সাহায্যে করতে পারলাম তবে ব্যাকআপে 4 গিগাবাইট এবং কয়েক হাজার ফাইল রয়েছে যাতে আমি পিএইচপি বা পার্ল ব্যবহার করতে চাই না তবে শেল স্ক্রিপ্টটি খুশি হতে পারে যা এটি পরিচালনা করতে পারে।
-uid
আমি ব্যবহার করেছি-user