مدیریت مالکیت فایلها و دایرکتوریها بسیار مهم است هنگام کار با سیستمهای عامل لینوکس روی سرورهای مجازی خصوصی. استفاده صحیح از دستور chown میتواند جلوی تغییرات غیرمجاز کاربران ناخواسته به فایلها را بگیرد و آنها را در برابر ورود افراد غریبه و غیر مجاز محافظت کند. این آموزش شامل مرور کاملی از دستور chown است و نحوه استفاده از آن را توضیح میدهد. در این مقاله قصد داریم که به صورت کامل و قدم به قدم آموزش استفاده از دستور Chown در لینوکس برای تغییر مالکیت یک فایل را به شما آموزش دهیم
وب سایت روناک هاست بزرگترین مرجع خرید و فروش انواع سرویس های ابری و میزبانی وب است که از جلمه آن ها می توان به موارد زیر اشاره کرد:
سرور مجازی NVME | یک مدل سرور مجازی که به هارد های NVME پر سعرت مجهز شده است که بتواند سایت ها و اطلاعات را با سرعت بالا بارگذاری کند
سرور مجازی بورس | نوعی سرور مجازی که مخصوص کسانی است که برای بورس ، فارکس و انجام معاملات مالی و جهانی می خواهد سرویسی ایمن و سریع داشته باشند
سرور مجازی ترید | نوعی دیگر از سرور های مجازی است که مخصوص افراد تریدر و کسانی که در بازار های مالی و ارز دیجیتال فعالیت می کنند ساخته شده است
سرور اختصاصی | یکی دیگر از سرویس های روناک هاست که مخصوص افراد حرفه ای و کارهای سنگین برای کسانی که فعالیت های اختصاصی روی سرور می خواهند انجام دهند
هاست وردپرس ارزان | یک هاست محبوب برای سایت های وردپرسی با قیمت مناسب و بالاترین کیفیت و پشتیبانی عالی
هاست ووکامرس | یک هاست وردپسی اما مناسب برای سایت های فروشگاهی و آنلاین شاپ ها با سرعت بالا و قیمت بسیار مناسب
درک نحوه ی کارکرد و اجرای دستور Chown در لینوکس
لینوکس با یک سیستم مجوز منحصر به فرد که به سه بخش تقسیم شده است، همراه است: مجوزهای کاربر، گروه و دیگران. مقایسه زیر را ببینید:
- User – حسابهای شخصی یا حسابهایی که برای برنامههای خاص ایجاد شدهاند. اگر یک کاربر مالکیت را تغییر دهد، تغییرات فقط برای آن کاربر خاص اعمال میشود.
- Group– هر عضوی از یک گروه دسترسیهای یکسانی دارد. به عنوان مثال، اگر یک کاربر به گروه مدیران اضافه شود، او قادر خواهد بود اقدامات مشابه صاحب گروه را انجام دهد. مهم است بهیاد داشت که هر کاربر باید بخشی از یک گروه باشد و گروهها میتوانند شامل چند کاربر باشند. اگر یک کاربر در گروه تغییرات مالکیتی ایجاد کند، این تغییرات بر روی همه کاربران اعمال میشود.
- Others – نمایندهٔ مجوزهایی برای همهٔ افرادی است که نه صاحبند و نه در گروه هستند.
این سه گروه مجوزهای خود را با منطق rwx که در زیر نشان داده شده است، دارند:
- r – دسترسی خواندن (read)
- w – دسترسی نوشتن (write)
- x – دسترسی اجرا (execute)
r برای خواندن (read)، w برای نوشتن (write) و x برای اجرا (execute) استفاده میشود. در مثال بالا، User دسترسی خواندن، نوشتن و اجرا را دارد.Group قادر به خواندن و اجرا است، در حالی که Others تنها قادر به اجرا هستند.
دستور اصلی برای تغییر مالکیت یک فایل chown است. این دستور به کاربران اجازه میدهد تا مالکیت کاربر و گروه را برای فایلها و دایرکتوریها تغییر دهند. در زیر، نحوه استفاده از نحو chown را بررسی خواهیم کرد:
chown [OPTION] OWNER[:GROUP] FILE(s)
- [OPTION] – نمایندهٔ پرچمهایی است که کاربر میتواند با دستور استفاده کند. لیست کامل پرچمها با استفاده از دستور man در دسترس است. این دستور همچنین نحو، توضیح و در برخی موارد نمونهها را برای یک دستور خاص ارائه میدهد.
- OWNER [:GROUP] – یک گزینه را برای تغییر مالکیت کاربر، گروه یا هر دو به صورت همزمان ارائه میدهد. OWNER نام کاربر یا شناسهٔ کاربری صاحب جدید است، در حالی که [: GROUP] گروه جدید است. به دقت به دو نقطه بین صاحب و گروه توجه کنید.
- FILE(S) – در اینجا کاربران میتوانند فایلها یا دایرکتوریهایی که میخواهند مالکیت آنها را تغییر دهند را فهرست کنند.
نحوه بررسی مالکیت فعلی یک فایل
قبل از استفاده از دستور chown، دسترسیهای کاربر و گروه را تأیید کنید. برای این کار، از طریق SSH به VPS خود متصل شده و با استفاده از دستور cd به دایرکتوری مورد نیاز بروید.
به عنوان مثال، اگر فایل در /home/Hostinger قرار دارد، با استفاده از دستور زیر به آنجا بروید:
cd /home/Hostinger
سپس، فایلهای موجود در دایرکتوری را لیست کنید:
ls –l
به عنوان مثال برای این آموزش، فایلی به نام chownSample.txt ایجاد کردیم. خروجی دستور ls به ین صورت است:
-rw-r–r– 1 Hostinger root 0 May 23 06:58 chownSample.txt
بخش اول -rw-rr- مجوزهای فایل برای کاربر، گروه و دیگران را نشان میدهد. کاربر Hostinger به عنوان صاحب فایل لیست شده است، در حالی که مالکیت گروه به root تنظیم شده است.
نحوه تغییر مالکیت یک فایل با استفاده از دستور Chown در لینوکس
برای تغییر مالکیت فایل، نحوهٔ پایهٔ دستور عبارت است از:
chown user FILE(s)
ما قصد داریم مالکیت فایل chownSample.txt را از کاربر Hostinger به کاربر دیگری به نام newowner تغییر دهیم. یک مثال از این دستور در زیر نشان داده شده است:
chown newowner chownSample.txt
برای تأیید تغییر مالکیت، دوباره از دستور ls -l استفاده کنید. این کار خروجی زیر را تولید خواهد کرد:
-rw-r–r– 1 newowner root 0 May 23 06:58 chownSample.txt
نحوه تغییر مالکیت یک گروه
دستور chown همچنین برای تغییر گروه قابل استفاده است. قالب اصلی برای تغییر مالکیت و گروه به صورت زیر است:
chown OWNER[:group] FILESs)
به عنوان مثال، با استفاده از این دستور، صاحب را به عنوان newowner و گروه را به عنوان newgroupowner برای همان فایل chownSample.txt تنظیم کنید:
chown newowner:newownergroup chownSample.txt
برای تأیید تغییر صاحب و گروه، از دستور ls -l استفاده کنید.
-rw-r–r– 1 newowner newownergroup 0 May 23 07:00 chownSample.txt
اگر تنها نیاز دارید گروه را تغییر دهید، بخش مالکیت را میتوان نادیده بگیرید. به عنوان مثال، دستور کامل برای تغییر تنها گروه به newownergroup به صورت زیر خواهد بود:
chown:newownergroup chownSample.txt
نحوه تغییر مالکیت دایرکتوری با دستور Chown در لینوکس
امکان استفاده از دستور chown برای دایرکتوریها نیز وجود دارد. در این مثال، با یک دایرکتوری به نام TestPermissions کار خواهیم کرد. ابتدا، از دستور ls -l استفاده کنیم تا مجوزهای آن را نمایش دهیم.
drwxr-xr-x 2 Hostinger root 4096 May 23 07:41 TestPermissions
بخش اول drwxr-xr-x مجوزهای پوشه برای کاربر، گروه و دیگران را نشان میدهد. کاربر Hostinger صاحب این دایرکتوری است، در حالی که مالکیت گروه به root تنظیم شده است. همانند فایلها، صاحب و گروه میتوانند به راحتی برای دایرکتوریها تغییر کنند. به عنوان مثال، این دستور کاربر newowner را به عنوان صاحب دایرکتوری TestPermissions تنظیم میکند:
chown newowner /TestPermissions
برای تغییر گروه به تنهایی، از:
chown:newownergroup /TestPermissions
برای تغییر مالک دایرکتوری و گروه، از:
chown newowner:newownergroup /TestPermissions
همان دستور میتواند مجوزها را برای چندین فایل یا دایرکتوری نیز تنظیم کند. نحوهٔ پایهٔ این دستور به صورت زیر است:
chown [OPTIONS] [OWNER][:GROUP] file1 file2
در زیر نحوهٔ تنظیم newowner به عنوان صاحب و newownergroup به عنوان گروه برای دایرکتوری TestPermissions با فایل chownSample.txt در داخل آن نشان داده شده است:
chown newowner:newownergroup /home/TestPermissions/ /home/TestPermissions/chownSample.txt
نحوه استفاده از chown بازگشتی
عملیات بازگشتی در chown بسیار کربردی است اگر میخواهید مجوزهای همهٔ زیردایرکتوریها و فایلها را در یک دایرکتوری تغییر دهید. برای عملیات بازگشتی، از گزینه -R استفاده کنید. در زیر یک مثال آورده شده است:
chown -R [USER][:GROUP] Directory
ما از همان دایرکتوری TestPermissions استفاده خواهیم کرد و newowner را به صورت بازگشتی به عنوان صاحب آن تنظیم خواهیم کرد:
chown -R newowner /home/TestPermissions/
حالا همهٔ فایلها و زیردایرکتوریها در پوشه TestPermissions توسط کاربر newowner متعلق میشوند.
چگونه مالک symbolic link را تغییر دهم؟
یک لینک نمادین یا لینک تقارنی، یک ارجاع به یک فایل فیزیکی موجود است. میتوان آن را همچنین به عنوان یک میانبر پیشرفته در نظر گرفت، مشابه آنچه در ویندوز استفاده میشود. دستور chown میتواند برای تغییر صاحب و گروه لینکهای نمادین استفاده شود. ابتدا، یک لینک نمادین برای فایل chownSample.txt ایجاد کنید.
ln -s chownSample.txt mysymlink
برای تأیید اطلاعات مالکیت و گروه، از دستور ls -l استفاده کنید. این دستور نتیجهٔ زیر را نمایش میدهد:
-rw-r–r– 1 root newownergroup 0 May 24 07:00 chownSample.txtlrwxr-xr-x 1 root newownergroup 0 May 24 07:00 mysymlink -> chownSample.txt
دو مورد در دسترس است – یکی برای فایل فیزیکی و دیگری برای لینک نمادین. حالا سعی کنید صاحب را به صاحب جدید برای لینک نمادینی که تازه ایجاد شده است تغییر دهید:
chown newowner mysymlink
دستور فوق صاحبیت فایل chownSample.txt را تغییر میدهد. حالا خروجی دستور ls -l به صورت زیر است:
rw-r–r– 1 newowner newownergroup 0 May 24 07:00 chownSample.txtlrwxr-xr-x 1 root newownergroup 0 May 24 07:00 mysymlink -> chownSample.txt
اگر میخواهید مالکیت لینک نمادین را تغییر دهید، از گزینه -h استفاده کنید:
chown -h newowner mysymlink
اکنون با استفاده از دستور ls -l خروجی زیر تولید می شود:
-rw-rr- 1 مالک جدید گروه مالک جدید 0 مه 24 07:00 chownSample.txtlrwxr-xr-x 1 مالک جدید گروه مالک جدید 0 مه 24 07:00 mysymlink -> chownSample.txt
همانطور که می بینید، ویژگی پیوند نمادین به روز شده است.
نتیجه گیری
اگر میخواهید صاحبیت فایلها و دایرکتوریهای لینوکس خود را مدیریت کنید، از دستور chown استفاده کنید. این دستور به شما اجازه میدهد صاحبیتها و گروههای مختلف را برای فایلها و دایرکتوریهای مختلف تعیین کنید. در این آموزش، ما به ساختار دستور chown پرداختیم و یاد گرفتیم که چگونه:
- مالک فعلی فایل را بررسی کنیم.
- مالکیت یک فایل را تغییر دهیم.
- مالکیت گروه را تغییر دهیم.
- مالکیت یک دایرکتوری را تغییر دهیم.
از chown با قابلیت بازگشتی استفاده کنیم و صاحبیت فایلها و دایرکتوریها را به صورت بازگشتی تغییر دهیم.
ویژگی لینک نمادین را تغییر دهیم.