তারার ফাইলের বিষয়বস্তুর জন্য মালিক এবং গোষ্ঠীকে জোর করবেন?


21

আমি কোনও মালিকের অন্তর্ভুক্ত সামগ্রীগুলির সাথে একটি টার ফাইল তৈরি করতে চাই: গ্রুপ জোড় যা সিস্টেমে ফাইলটি তৈরি করা হচ্ছে না exist

আমি যে দিকটি চেষ্টা করেছি তা এখানে:

tar ca --owner='otherowner' --group='othergroup' mydata.tgz mydata

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

tar: otherowner: Invalid owner
tar: Error is not recoverable: exiting now

মালিককে গ্রহণ করার জন্য কি জাল দেওয়ার কোনও উপায় আছে: গোষ্ঠী, যদিও ফাইল দুটি তৈরি হচ্ছে এমন সিস্টেমে তাদের দুটিরই উপস্থিত নেই?


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

উত্তর:


19

লিনাক্স অভ্যন্তরীণ মালিক এবং গোষ্ঠীর নাম ব্যবহার করে না তবে সংখ্যা - ইউআইডি এবং জিআইডি। ব্যবহারকারীর সুবিধার্থে ব্যবহারকারী এবং গোষ্ঠীর নামগুলি / etc / passwd এবং / etc / গ্রুপ ফাইলের বিষয়বস্তু থেকে ম্যাপ করা হয়। যেহেতু those ফাইলগুলির মধ্যে আপনার 'অন্য মালিক' প্রবেশ নেই, তাই লিনাক্স আসলে কোনও ইউআইডি এবং জিআইডি কোনও ফাইলের জন্য নির্ধারিত হওয়া জানে না। পরিবর্তে একটি নম্বর পাস করার চেষ্টা করুন:

$ tar cf archive.tar test.c --owner=0 --group=0
$ tar -tvf archive.tar 
-rw-rw-r-- root/root        45 2013-01-10 15:06 test.c
$ tar cf archive.tar test.c --owner=543543 --group=543543
$ tar -tvf archive.tar 
-rw-rw-r-- 543543/543543    45 2013-01-10 15:06 test.c

মনে হচ্ছে এটি কাজ করে।


মজাদার! সুতরাং টার কমান্ডটি ব্যবহারকারী এবং গোষ্ঠী নম্বরের জন্য সিস্টেমটি পোলিং করে আমি যে নামগুলি ব্যবহার করার চেষ্টা করছিলাম তার সাথে মেলে। ধন্যবাদ!
ডেভিড

1
অন্যদের জন্য এই নোটটি আসবে: পতাকাগুলি ব্যবহার করার সময় টার স্বয়ংক্রিয়ভাবে ব্যবহারকারী / গোষ্ঠীর নামগুলি আউটপুট করে -tvf। একটি সংরক্ষণাগারে ফাইলগুলির জন্য বর্তমান নম্বরগুলি দেখতে এই জাতীয় কমান্ড ব্যবহার করুন:$ tar --numeric-owner -tvf archive.tar
ডেভিড

আসলে আমার টার সংস্করণটি দিয়ে আমি যে কোনও ব্যবহারকারীর নাম লিখতে পারি এবং এটি টর ফাইলে সংরক্ষণ করতে পারি (তবে আমার সংখ্যাসূচক ব্যবহারকারী আইডিটি ডিফল্টরূপে)। তালিকাভুক্ত করার সময় আপনি ডিফল্টরূপে ব্যবহারকারীর নাম পান তবে ব্যবহারকারীর আইডি --numeric-ownerপতাকা ব্যবহার করে । আরও মজার বিষয় হ'ল আপনি ব্যবহার করে --owner=name:1234বা উভয়ই সেট করতে পারেন --group=groupname:4711। উত্স: টার সোর্স কোডটির ফাংশন পার্স_অ্যালনার_গোষ্ঠী
ব্লুহর্ন

সম্ভবত এটি লক্ষণীয় যে ustar (BSD এবং লিনাক্সের স্ট্যান্ডার্ড) টার শিরোনামটি উভয় সংখ্যার ইউআইডি / জিআইডি মানগুলির পাশাপাশি ব্যবহারকারী এবং গোষ্ঠীর নামগুলি এনকোড করে। আনপ্যাক করার সময়, নামগুলি প্রথমে ব্যবহার করা হয়, যদি তারা শিরোনামে উপস্থিত থাকে এবং সিস্টেমে সংজ্ঞায়িত ব্যবহারকারী এবং গোষ্ঠীর সাথে মেলে। সংখ্যাযুক্ত ইউআইডি এবং জিআইডি কেবল ফালব্যাক হিসাবে ব্যবহৃত হবে।
kbolino

1

প্যারাম যোগ --no-same-owner --no-same-permissionsদিয়ে tar। একটি নিন ডক্সে বর্ণন


2
এই বিকল্পগুলি কেবলমাত্র একটি সংরক্ষণাগার থেকে ফাইল বের করার সময় ব্যবহৃত হয় - একটি তৈরি না করে।
অ্যান্টনি জি -

আপনি ঠিকই বলেছেন অ্যান্থনি জিওগেন!
ব্রুনো ভোগো

-2

ফ্লাইতে আইডির সাহায্যে ব্যবহারকারী / গোষ্ঠীটি প্রতিস্থাপনের জন্য এখানে কোডের একটি অংশ রয়েছে:

tar ca --owner="$(id -u ***otherowner***)" --group="$(id -g ***othergroup***)" mydata.tgz mydata

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