در مقالات قبلی بار ها از 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
بدون دیدگاه