Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Використання наших привілеїв

Тепер, коли ми дізналися, як працює ця річ з дозволами, настав час продемонструвати її. Ми збираємося продемонструвати рішення поширеної проблеми-створення спільного каталогу. Уявімо, що у нас є два користувача з іменами «білл» і «карен». Вони обидва мають колекцію музичних компакт-дисків і хочуть створити спільний каталог, де кожен з них зберігатиме свої музичні файли як Ogg Vorbis або MP3. Користувач законопроект має доступ до привілеїв суперкористувача через Суду.

Перше, що має відбутися, - це створити групу, в якій буде обидва законопроект та карена як члени. Використовуючи графічний інструмент керування користувачами, законопроект створює групу під назвою музика і додає користувачів законопроект та карена до нього:


зображення

Малюнок 3: Створення нової групи за допомогою GNOME


Далі, законопроект створює каталог для музичних файлів:


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

пароль:

[bill@linuxbox ~]$ sudo mkdir /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

[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 коренева музика 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 коренева музика 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


Насправді є дві проблеми. По-перше, за замовчуванням умаск у цій системі є 0022, що не дозволяє членам групи записувати файли, що належать іншим членам групи. Це не було б проблемою, якби спільний каталог містив лише файли, але оскільки цей каталог зберігатиме музику, а музика зазвичай організована за ієрархією виконавців та альбомів, учасникам групи знадобиться можливість створювати файли. і каталоги всередині каталогів, створених іншими членами. Нам потрібно змінити умаск використаний законопроект та карена замість 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


Тепер ми перевіряємо, чи нові дозволи вирішують проблему. законопроект встановлює його умаск до 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 білл музика 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 білл музика 4096 2016-03-24 20:24 test_dir

-rw-rw-r-- 1 музичний запис 0 2016-03-24 20:22 test_file [bill@linuxbox ~]$


І файли, і каталоги тепер створюються з правильними дозволами, щоб дозволити всім членам групи музика для створення файлів і каталогів всередині музика каталог.

Залишилося одне питання умаск. Необхідні налаштування діють лише до кінця сеансу та повинні бути скинуті. У розділі 11 ми розглянемо внесення змін до умаск постійний.


Найпопулярніші хмарні обчислення ОС на OnWorks: