🐧 نحوه حفظ مالکیت و مجوزهای پرونده هنگام کپی کردن فایلها یا فهرستها – Squad Security Security Squad

روز دیگر ، من برنامه ریزی کردم که از داده های سیستم دسک تاپ اوبونتو در یک درایو USB خارجی نسخه پشتیبان تهیه کنم.

بعد از انتقال همه داده ها به درایو خارجی ، متوجه شدم که مالک و حق دسترسی به پرونده ها و فهرست ها را دارید. منبع و مقصد متفاوت است.

اما من می خواستم ویژگی های فایل موجود (مانند مالک ، گروه ، زمان سنج و غیره) را در هر دو مکان حفظ کنم.

پس از جستجوی سریع گوگل و مشاهده صفحه مرد با دستور "سی پی" دریافتم که می توانیم حقوق و حقوق مالکیت را حفظ کنیم دسترسی به پرونده ها هنگام کپی کردن پرونده ها و دایرکتوری ها به لینوکس.

اگر تا به حال در چنین شرایطی بوده اید ، یک راه سریع برای پیاده سازی آن وجود دارد.

مالکیت و مجوزهای پرونده را هنگام کپی کردن فایل ها یا دایرکتوری ها در لینوکس ذخیره کنید. [19659007] دستور cp قابلیت کپی کردن پرونده ها و دایرکتوری ها را دارد ، اما زمان اصلاح ، زمان دسترسی و حالت ها را از پرونده منبع ذخیره می کند.

 $ 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" در سیستم مقصد استفاده کنید تا مالک را تغییر دهید.

برای اطلاعات بیشتر ، به cp و scp ها به صفحات آن مراجعه کنید. [19659045]