ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

استفاده از امتیازات ما

اکنون که یاد گرفتیم این مجوزها چگونه کار می کند، وقت آن است که آن را به رخ بکشیم. ما می خواهیم راه حل یک مشکل مشترک را نشان دهیم-راه اندازی یک دایرکتوری مشترک. بیایید تصور کنیم که دو کاربر به نام‌های «بیل» و «کارن» داریم. آنها هر دو مجموعه سی دی موسیقی دارند و مایلند یک فهرست مشترک راه اندازی کنند، جایی که هر کدام فایل های موسیقی خود را به صورت Ogg Vorbis یا MP3 ذخیره کنند. کاربر لایحه دسترسی به امتیازات ابرکاربر از طریق کد: sudo.

اولین چیزی که باید اتفاق بیفتد ایجاد گروهی است که هر دو را داشته باشد لایحه و کارن به عنوان اعضا با استفاده از ابزار مدیریت گرافیکی کاربر، لایحه گروهی به نام ایجاد می کند موسیقی و کاربران را اضافه می کند لایحه و کارن به آن:


تصویر

شکل 3: ایجاد یک گروه جدید با GNOME


بعدی، لایحه دایرکتوری فایل های موسیقی را ایجاد می کند:


[bill@linuxbox ~]$ sudo mkdir /usr/local/share/Music

کلمه عبور:

[bill@linuxbox ~]$ sudo mkdir /usr/local/share/Music

کلمه عبور:


پس از لایحه در حال دستکاری فایل های خارج از دایرکتوری اصلی خود است، امتیازات superuser مورد نیاز است. پس از ایجاد دایرکتوری، مالکیت و مجوزهای زیر را دارد:


[bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxr-xr-x 2 root root 4096 2016-03-21 18:05 /usr/local/share/Music

[bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxr-xr-x 2 root root 4096 2016-03-21 18:05 /usr/local/share/Music


همانطور که می بینیم، دایرکتوری متعلق به ریشه و دارای 755 مجوز است. برای اینکه این دایرکتوری قابل اشتراک گذاری باشد، لایحه برای اجازه نوشتن باید مالکیت گروه و مجوزهای گروه را تغییر دهد:



[bill@linuxbox ~]$ sudo chown :music /usr/local/share/Music [bill@linuxbox ~]$ sudo chmod 775 /usr/local/share/Music [bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxrwxr-x 2 root music 4096 2016-03-21 18:05 /usr/local/share/Music

[bill@linuxbox ~]$ sudo chown :music /usr/local/share/Music [bill@linuxbox ~]$ sudo chmod 775 /usr/local/share/Music [bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxrwxr-x 2 root music 4096 2016-03-21 18:05 /usr/local/share/Music


خب همه اینها یعنی چی؟ به این معنی است که ما اکنون یک دایرکتوری داریم،

/usr/local/share/Music که متعلق به root است و امکان دسترسی خواندن و نوشتن به موسیقی گروهی را فراهم می‌کند. موسیقی گروه دارای اعضای بیل و کارن است، بنابراین بیل و کارن می‌توانند فایل‌هایی را در پوشه /usr/local/share/Music ایجاد کنند. سایر کاربران می توانند محتویات دایرکتوری را فهرست کنند اما نمی توانند در آنجا فایل ایجاد کنند.

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


[bill@linuxbox ~]$ > /usr/local/share/Music/test_file

[bill@linuxbox ~]$ ls -l /usr/local/share/Music

-rw-r--r-- 1 قبض 0 2016-03-24 20:03 test_file

[bill@linuxbox ~]$ > /usr/local/share/Music/test_file

[bill@linuxbox ~]$ ls -l /usr/local/share/Music

-rw-r--r-- 1 قبض 0 2016-03-24 20:03 test_file


در واقع دو مشکل وجود دارد. اول، پیش فرض umask در این سیستم 0022 است که اعضای گروه را از نوشتن فایل های متعلق به سایر اعضای گروه جلوگیری می کند. اگر دایرکتوری مشترک فقط حاوی فایل باشد، مشکلی نیست، اما از آنجایی که این دایرکتوری موسیقی را ذخیره می کند، و موسیقی معمولاً در سلسله مراتبی از هنرمندان و آلبوم ها سازماندهی می شود، اعضای گروه به توانایی ایجاد فایل نیاز دارند. و دایرکتوری های داخل دایرکتوری های ایجاد شده توسط سایر اعضا. ما باید تغییر دهیم umask استفاده شده توسط لایحه و کارن در عوض به 0002.

دوم، هر فایل و فهرستی که توسط یک عضو ایجاد می‌شود، به‌جای گروه، روی گروه اصلی کاربر تنظیم می‌شود موسیقی. این را می توان با تنظیم بیت setgid در دایرکتوری برطرف کرد:



[bill@linuxbox ~]$ sudo chmod g+s /usr/local/share/Music

[bill@linuxbox ~]$ sudo chmod g+s /usr/local/share/Music

استفاده از امتیازات ما


[bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxrwsr-x 2 root music 4096 2016-03-24 20:03 /usr/local/share/Music

[bill@linuxbox ~]$ ls -ld /usr/local/share/Music

drwxrwsr-x 2 root music 4096 2016-03-24 20:03 /usr/local/share/Music


اکنون ما آزمایش می کنیم تا ببینیم آیا مجوزهای جدید مشکل را برطرف می کنند یا خیر. لایحه خود را تنظیم می کند umask به 0002، فایل آزمایشی قبلی را حذف می کند و یک فایل آزمایشی و دایرکتوری جدید ایجاد می کند:



[bill@linuxbox ~]$ umask 0002

[bill@linuxbox ~]$ rm /usr/local/share/Music/test_file [bill@linuxbox ~]$ > /usr/local/share/Music/test_file [bill@linuxbox ~]$ mkdir /usr/local/share/Music/test_dir [bill@linuxbox ~]$ ls -l /usr/local/share/Music

drwxrwsr-x 2 bill music 4096 2016/03/24 20:24 test_dir

-rw-rw-r-- 1 بیل موسیقی 0 2016-03-24 20:22 test_file [bill@linuxbox ~]$

[bill@linuxbox ~]$ umask 0002

[bill@linuxbox ~]$ rm /usr/local/share/Music/test_file [bill@linuxbox ~]$ > /usr/local/share/Music/test_file [bill@linuxbox ~]$ mkdir /usr/local/share/Music/test_dir [bill@linuxbox ~]$ ls -l /usr/local/share/Music

drwxrwsr-x 2 bill music 4096 2016/03/24 20:24 test_dir

-rw-rw-r-- 1 بیل موسیقی 0 2016-03-24 20:22 test_file [bill@linuxbox ~]$


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

یکی از مسائل باقی مانده است umask. تنظیم لازم فقط تا پایان جلسه ادامه دارد و باید تنظیم مجدد شود. در فصل 11، به ایجاد تغییر در آن خواهیم پرداخت umask دائمی


برترین سیستم عامل Cloud Computing در OnWorks: