روز دیگر ، من برنامه ریزی کردم که از داده های سیستم دسک تاپ اوبونتو در یک درایو USB خارجی نسخه پشتیبان تهیه کنم.
بعد از انتقال همه داده ها به درایو خارجی ، متوجه شدم که مالک و حق دسترسی به پرونده ها و فهرست ها را دارید. منبع و مقصد متفاوت است.
اما من می خواستم ویژگی های فایل موجود (مانند مالک ، گروه ، زمان سنج و غیره) را در هر دو مکان حفظ کنم.
پس از جستجوی سریع گوگل و مشاهده صفحه مرد با دستور "سی پی" دریافتم که می توانیم حقوق و حقوق مالکیت را حفظ کنیم دسترسی به پرونده ها هنگام کپی کردن پرونده ها و دایرکتوری ها به لینوکس.
اگر تا به حال در چنین شرایطی بوده اید ، یک راه سریع برای پیاده سازی آن وجود دارد.
مالکیت و مجوزهای پرونده را هنگام کپی کردن فایل ها یا دایرکتوری ها در لینوکس ذخیره کنید. [19659007] دستور cp قابلیت کپی کردن پرونده ها و دایرکتوری ها را دارد ، اما زمان اصلاح ، زمان دسترسی و حالت ها را از پرونده منبع ذخیره می کند.
$ cp -rp ~ / data / media / sk / sk_seagate / data /
در اینجا من محتوای پوشه را کپی می کنم. با نام "داده" در درایو خارجی من.
از صفحات فرمان فرمان CP:
-p همان --preserve = حالت ، دارندگان لگن ، زمان سنج
- حفظ [=ATTR_LIST]
در صورت امکان خصوصیات مشخص شده (پیش فرض: حالت ، مالکیت ، زمانهای مکانی) را حفظ کنید
ویژگی های اضافی: متن ، پیوندها ، xattr ، همه
بنابراین ، اگر از پرچم -p استفاده می کنید ، تمام ویژگی های فایل موجود ، از جمله حالت ، مالک و زمان سنج را از پرونده منبع حفظ می کند.
و پرچم "-r" "در اینجا برای کپی بازگشتی دایرکتوری ها استفاده می شود.
به معنی – این فهرست ها ، زیر شاخه ها و پرونده های آن را کپی می کند.
$ cp -rp ~ / data / media / sk / sk_seagate / data /
در اینجا من محتوای پوشه را کپی می کنم. با نام "داده" در درایو خارجی من.
از صفحات فرمان فرمان CP:
-p همان --preserve = حالت ، دارندگان لگن ، زمان سنج - حفظ [=ATTR_LIST] در صورت امکان خصوصیات مشخص شده (پیش فرض: حالت ، مالکیت ، زمانهای مکانی) را حفظ کنید ویژگی های اضافی: متن ، پیوندها ، xattr ، همه
بنابراین ، اگر از پرچم -p استفاده می کنید ، تمام ویژگی های فایل موجود ، از جمله حالت ، مالک و زمان سنج را از پرونده منبع حفظ می کند.
و پرچم "-r" "در اینجا برای کپی بازگشتی دایرکتوری ها استفاده می شود.
به معنی – این فهرست ها ، زیر شاخه ها و پرونده های آن را کپی می کند.
علاوه بر این ، می توانید از پرچم -a استفاده کنید.
این دستور شامل پرچم -r است و همه چیز را ذخیره می کند ، به عنوان مثال ، پیوندها ، xattr ، ویژگیهای SELinux ، و غیره
$ cp -a / data / media / sk / sk_seagate / data /
از صفحات صفحه دستور cp:
-a ، - متغیر همان -dR --preserve = همه
برای تأیید اینکه مجوز پرونده و مالک آسیب نبیند ، از دستور getfacl در هر دو مکان استفاده کنید ، یعنی در مبدا و مقصد.
$ getfacl ~ / data [19659022] $ getfacl / media / sk / sk_seagate / data /
اگر می خواهید فایل ها را بین سیستم محلی و سیستم از راه دور در همان شبکه کپی کنید ، می توانید همانطور که نشان داده شده است ، از دستور scp برای انتقال پرونده ها از یک سیستم به سیستم دیگر استفاده کنید. در زیر.
$ scp -rp ~ / data [email protected]: / home / senthil /
دستور فوق پوشه محتویات به نام "داده" را از سیستم محلی من کپی می کند. سیستم آلن.
در اینجا 192.168.225.22 آدرس IP سیستم از راه دور من است ، و "senthil" نام کاربری سیستم از راه دور است.
مجوزهای پرونده و مالکیت دایرکتوری داده را بررسی کنید. در هر دو سیستم با استفاده از دستور "getfacl".
ابتدا بیایید ویژگی های فایل دایرکتوری "data" را در سیستم محلی بررسی کنیم:
خروجی مثال:
# پرونده: data / # مالک: sk # گروه: sk کاربر :: rwx گروه :: rwx other :: rx
در مرحله بعد ، ویژگی های پرونده فهرست "data" را بر روی سیستم از راه دور بررسی کنید.
می توانید مستقیماً وارد سیستم از راه دور شوید و با استفاده از دستور ssh ، مشخصات زیر را در فهرست از راه دور بررسی کنید ، همانطور که در زیر آمده است. [19659033] $ ssh [email protected] getfacl data
خروجی مثال: رمز عبور
[email protected]: # پرونده: داده # مالک: senthil # گروه: senthil کاربر :: rwx گروه :: rwx other :: rx
همانطور که در خروجی بالا مشاهده می کنید ، اطلاعات مربوط به مالک و گروه (یعنی senthil) در سیستم از راه دور من متفاوت است.
زیرا پرچم -p دستور scp نیست. کلیه مجوزها را ذخیره می کند.
از صفحات فرمان فرمان scp:
-p زمان های اصلاح ، زمان دستیابی و حالت های اصلی را از پرونده اصلی حفظ می کند.
مشخص است که پرچم -p فقط زمان اصلاح ، زمان را ذخیره می کند. دسترسی و حالت های موجود در پرونده منبع ، اما مالک آن نیست.
در چنین مواردی ، می توانید یک نام کاربری مشترک را در هر دو سیستم ایجاد کنید و com فوق را امتحان کنید. برای ارائه مالکیت و دسترسی یکسان به پرونده ها در سیستم های مختلف.
یا فقط از دستور "chown" در سیستم مقصد استفاده کنید تا مالک را تغییر دهید.