آکادمی اسکیلدآپ
خودت رو ارتقا بده!

چگونه به کمک chown مالکیت را در توزیع های لینوکس تغییر دهیم؟

0 13

در مقالات قبلی بار ها از chown برای تغییر مالکیت در سیستم عامل های مبتنی بر لینکوس استفاده کردیم اما در این مقاله قصد دارم در قالب متنی خلاصه به معرفی دستور chown بپردازم.

chown برای تغییر مالک فایل ها و پوشه ها مورد استفاده قرار میگیرد این دستور خلاصه ای از دو کلمه change owner است. اما مالکیت در لینکوس به چه معناست؟ فعلا قصد پاسخ به این سوال را نداریم اما در مقالات بعدی به این امر هم رسیدگی می کنم. به کمک chown هم می توانید گروه کاربری مالکیت و هم کاربر مالک را تغییر دهید. یک مثال از دستو chown ببنید:

chown [options] user_spec files

دقت داشته باشید این یک دستو مدیریتیست و برای استفاده از آن باید بتوانید از دستور sudo استفاده کنید و یا کاربر root باشید.

تغییر مالک فایل ها

برای تغییر مالکیت یک فایل باید چنین دستوری استفاده شود:

sudo chown user_name file_name

می توانید بجای نام کاربری از شناسه کاربری هم استفاده کنید. قبل استفاده ازدستور بالا می توانید از دستور پایین استفاده کنید تا اطلاعات فایل همراه با نام مالک فعلی نمایش داده شود وارد پوشه فایل شوید:

ls -l file.txt

جواب دستور چیزی شبیه به این است:

-rw-r--r-- 1 ali ali 456 Jan 24 09:30 file.txt
درک جواب بالا به این تصویر نگاهی بیاندازید

همانطور که دید فعلا کاربری به اسم ali مالک فایل است. اما اگر دستور بالا را برای تغییر ali به mohammad استفاده کنم نتیجه چه می شود؟

-rw-r--r-- 1 mohammad ali 456 Jan 24 09:30 file.txt

همانطور که می بینید مالکیت کاربر تغییر کرد اما گروه کاربری بدون تغییر باقی مانده اگر بخواهیم گروه کاربری هم تغییر بدهیم دستور زیر مناسب است:

تغییر گروه کاربری و کاربر مالکیت

sudo chown user_name:group_name file_name

و البته باز هم می توانید از شناسه کاربر و شناسه گروه استفاده کنید بجای نام آنها به مثال زیر توجه کنید:

sudo chown mohammad:ali file.txt

همانطور متوجه شدید من با دستور بالا کاربر را به mohammad و گروه را به ali تغییر خواهم داد.

تغییر گروه کاربری فایل به گروه کاربری پیشفرض

هر کاربر در لینوکس یه گروه کاربری اصلی یا پیشفرض دارد اگر آن کاربر برای مثال فایلی ایجاد کند گروه کاربری پیشفرض آن کاربر برای فایل به ثبت می رسد. برای بدست آورد گروه پیشفرض کاربر می توانید از دستور id استفاده کنید (نگران نباشید این مورد رو هم بعدا توضیح می دم یا اگر مشتاق دونستن هستید تو گوگل یا شایدم داک داک گو جستجوش کنید 🙂 )

اما برای آنکه بتوانید مالکیت یک فایل را به یک کاربر بدهید طوری که بصورت خودکار گروه فایل به گروه پیشفرض همان کاربر تغییر کند از دستور زیر استفاده کنید:

sudo chown user_name: file_name

همانطور می بینید صرفا جای نام گروه را خالی رها کردم فقط همین.

فقط گروه مالکیت را تغییر دهیم

اینبار کافیست جای نام کاربری را خالی رها کنم به دستور زیر توجه کنید:

sudo chown :group_name file_name

یک مثال هم ببنید:

sudo chown :sudo file.txt 

فقط گروه فایل بالا به گروه sudo تغییر دادم.

گروه و کاربر مالک یک پوشه را تغییر دهیم

از دستور های بالا برای پوشه ها هم می توانید استفاده کنید کافیست بجای نام فایل نام پوشه را وارد کنید اما یک مشکل باقی خواهد ماند! فقط مالکیت برای پوشه تغییر خواهد کرد و محتویات آن تغییری نمی کنند به کمک دستور زیر یعنی با استفاده از -R که اول کلمه recursive است می توانید پوشه و تمام زیر مجموعه های آن را تغییر مالکیت دهید به دستور زیر توجه کنید:

sudo chown -R user_name:group_name directory_name

تغییر مالکیت با الگو برداری از یک فایل دیگر

شما می توانید یک فایل را بر اساس فایلی دیگر تغییر مالکیت دهید به این معنی که مالک فایل اول هر کاربر و هر گروهی که باشد اکنون فایل جدید هم دارای همان مشخصات مالکیت خواهد بود.

sudo chown --reference=file1.txt file2.txt

دستور های بالا را امتحان کنید و نتایج را به کمک دستور زیر برای یک یا چند فایل مشاهده کنید

ls -l file1.txt file2.txt 
ارسال یک پاسخ