مدیریت مالکیت و مجوزهای فایل احتمالاً ضروری ترین وظیفه یک مدیر سیستم است. در هر سیستم عامل چند کاربره ای مانند لینوکس ، تخصیص صحیح مالکیت فایل ها و دایرکتوری ها بسیار مهم است.
دستور chown مفیدترین ابزار برای این کار است. با chmod اشتباه نشود، chown می تواند مالکیت کاربر فایل ها را تغییر داده و آنها را به گروه های مختلف اختصاص دهد. این یک دستور ضروری برای تسلط برای هر کاربر جدی لینوکس است.
در اینجا راهنمایی برای شروع شما وجود دارد.
چگونه مالکیت یک فایل را بررسی می کنید؟
قبل از اینکه شروع به جابجایی فایلها در بین مالکان و گروههای مختلف کنید، ابتدا باید نحوه بررسی مالک فعلی فایل را بیاموزید. این فرآیند ساده است: افزودن یک پرچم -l به یک دستور ls معمولی شامل اطلاعات مالکیت فایل یا دایرکتوری مورد درخواست است.
بگویید فایلی به نام example.txt دارید. دستور مشاهده اطلاعات مالکیت آن به این صورت خواهد بود:
ls -l example.txt
استفاده از chown در یک فایل منفرد
ساده ترین راه برای استفاده از chown این است که کاربر صاحب یک فایل خاص را تغییر دهید. نحو نام فایل نام کاربری sudo chown است، که در آن نام کاربری نام کاربری است که می خواهید فایل را به او بدهید و نام فایل نام فایل مورد نظر است. این چیزی است که در عمل به نظر می رسد:
sudo chown someone_else example.txt
توجه داشته باشید که این موضوع مالکیت گروه فایلها را تغییر نمیدهد، فقط کاربر را تغییر میدهد. برای تغییر مالک گروه، باید از نحو دیگری استفاده کنید - sudo chown :groupname filename
در این مورد خاص، این می شود:
سودو چاون :group2 example.txt
همچنین میتوانید هر دو دستور را در یک خط ترکیب کنید تا کاربر و همچنین مالکیت گروهی یک فایل را تغییر دهید:
sudo chown me:group1 example.txt
تغییر مالکیت چندین فایل با Chown
تغییر مالکیت هر فایل به صورت جداگانه زمانی که با تعداد بیشتری فایل سروکار دارید بسیار خسته کننده است. خوشبختانه، اکثر دستورات لینوکس به شما این امکان را می دهد که چندین نام فایل جدا شده با فاصله را در یک دستور واحد به هم متصل کنید. مانند این:
سودو chown someone_else:group2 example1.txt example2.txt.
از همین ترفند برای بررسی مالکیت چندین فایل نیز استفاده کنید:
ls -l example1.txt example2.txt
حتی برای ترکیب چندین نام فایل در یک فرمان، این فرآیند برای بیش از چند فایل بسیار ناخوشایند است. یک رویکرد بهتر این است که مالکیت کل محتویات یک فهرست را به یکباره تغییر دهید.
این با افزودن یک پرچم -R به دستور chown به دست می آید. این باعث میشود تا از محتویات دایرکتوری عبور کند و بهطور بازگشتی مالکیت هر فایل درون آن را تغییر دهد. این یک نمایش است:
سودو چاون -R someone_else:group2 نمونهها
میتوانیم دوباره از پرچم بازگشتی برای بررسی مالکیت فایلهای موجود در پوشه نمونهها استفاده کنیم.
نمونههایls -l -R
تغییر مالکیت فایل با UID
مدیران سیستمی که بسیاری از کاربران را مدیریت میکنند، به سرعت از وارد کردن نامهای کاربری مکرر خسته میشوند. یک اشتباه تایپی در هر یک از نام ها باعث ایجاد خطا در استفاده از chown می شود و سرعت کار را به میزان قابل توجهی کاهش می دهد.
یک جایگزین بهتر استفاده از شناسه کاربری است. UID یک شماره چهار رقمی است که به هر کاربر ایجاد شده اختصاص داده می شود، از 1000 شروع می شود و به بالا می رود. این بسیار راحت تر از رشته است و خطای بسیار کمتری دارد.
برای استفاده از این روش، فقط نام کاربری را با UID جایگزین کنید:
سودو چاون 1001 example.txt
اگر UID یک کاربر را نمیدانید، میتوانید به سرعت آن را با دستور id بررسی کنید. فقط برای مشاهده شناسه منحصر به فرد آن کاربر، id -u نام کاربریرا وارد کنید.
این روش را می توان به نام گروه ها نیز تعمیم داد. برای دریافت UID گروه ورود کاربر و سایر گروههایی که به آنها تعلق دارند، از دستور id بدون پرچم -u استفاده کنید.
id someone_else
همانطور که می بینید، ما شناسه های گروه مختلفی داریم که کاربر مشخص شده به آنها تعلق دارد. با کنار هم گذاشتن همه، میتوانیم از chown مانند این برای اختصاص یک مالک جدید و تغییر گروه یک فایل استفاده کنیم:
سودو چاون 1001:1003 example.txt
چکار دیگری می توانید با فرمان chown انجام دهید؟
ما قبلاً بیشتر کاربردهای متداول چاون را نشان داده ایم. اکنون میتوانید کاربران و گروههایی را که دارای یک فایل هستند از طریق روشهای مختلف تغییر دهید. اما این محدودیت کامل توانایی های فرمان نیست..
برای توضیحات فنی و فهرست کاملی از آرگومان هایی که می توانید با دستور استفاده کنید، می توانید به صفحات مرد رسمی مراجعه کنید. برای مشاهده آن، فقط man chown را در ترمینال وارد کنید.
آیا Chown مفید است؟
اگر شما تنها کاربر رایانه خود هستید، هرگز نیازی به استفاده از chown نخواهید داشت. اما اگر از یک سیستم لینوکس در یک محیط حرفه ای استفاده می کنید، خواه یک سرور تجاری باشد یا یک کامپیوتر دانشگاه، تسلط بر دستور chown (علاوه بر chmod ) بسیار مهم است.
قابلیت اختصاص دادن و حذف فایلها به کاربران و گروهها برای حفظ مرزهای سخت در سیستمهای چند کاربره ضروری است. بهترین بخش در مورد chown انعطاف پذیری آن است - می توانید با یک دستور با فایل های جداگانه یا کل فهرست ها کار کنید.
همچنین می توانید مالکیت را به کاربران و گروه ها به طور جداگانه و در یک بیانیه ترکیبی اختصاص دهید. با استفاده از UIDهای راحتتر، مدیریت حتی پیچیدهترین سلسلهمراتب کاربر را آسان میکند.
.