Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Осуществление наших привилегий

Теперь, когда мы узнали, как работает эта штука с разрешениями, пришло время продемонстрировать ее. Мы собираемся продемонстрировать решение общей проблемы.-создание общего каталога. Представим, что у нас есть два пользователя с именами «Билл» и «Карен». У них обоих есть коллекции музыкальных компакт-дисков, и они хотят создать общий каталог, где каждый будет хранить свои музыкальные файлы в формате Ogg Vorbis или MP3. Пользователь законопроект имеет доступ к привилегиям суперпользователя через Sudo.

Первое, что нужно сделать, это создать группу, в которой будут законопроект и Карен как участники. Используя графический инструмент управления пользователями, законопроект создает группу под названием Музыка и добавляет пользователей законопроект и Карен к нему:


изображение

Рисунок 3: Создание новой группы в GNOME


Далее, законопроект создает каталог для музыкальных файлов:


[законопроект @ linuxbox ~] $ sudo mkdir / usr / local / share / Музыка

Пароль:

[законопроект @ linuxbox ~] $ sudo mkdir / usr / local / share / Музыка

Пароль:


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


[законопроект @ linuxbox ~] $ ls -ld / usr / local / share / Музыка

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

[законопроект @ linuxbox ~] $ ls -ld / usr / local / share / Музыка

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


Как мы видим, каталог принадлежит корень и имеет 755 разрешений. Чтобы сделать этот каталог доступным для совместного использования, законопроект необходимо изменить владельца группы и разрешения группы, чтобы разрешить запись:



[законопроект @ linuxbox ~] $ sudo chown: музыка / usr / local / share / Музыка [законопроект @ linuxbox ~] $ sudo chmod 775 / usr / local / share / Музыка [законопроект @ linuxbox ~] $ ls -ld / usr / local / share / Музыка

drwxrwxr-x 2 root music 4096 2016 03:21 / usr / local / share / Музыка

[законопроект @ linuxbox ~] $ sudo chown: музыка / usr / local / share / Музыка [законопроект @ linuxbox ~] $ sudo chmod 775 / usr / local / share / Музыка [законопроект @ linuxbox ~] $ ls -ld / usr / local / share / Музыка

drwxrwxr-x 2 root music 4096 2016 03:21 / usr / local / share / Музыка


Так что все это значит? Это означает, что теперь у нас есть каталог,

/ usr / local / share / Music, который принадлежит пользователю root и разрешает доступ для чтения и записи к групповой музыке. В группе музыки есть участники билл и карен, таким образом, билл и карен могут создавать файлы в каталоге / usr / local / share / Music. Другие пользователи могут просматривать содержимое каталога, но не могут создавать там файлы.

Но у нас все еще есть проблема. С текущими разрешениями файлы и каталоги, созданные в каталоге Музыка, будут иметь обычные разрешения пользователей. законопроект и Карен:


[законопроект @ linuxbox ~] $ > / usr / local / share / Music / test_file

[законопроект @ linuxbox ~] $ ls -l / usr / local / share / Музыка

-rw-r - r-- 1 законопроект bill 0 2016-03-24 20:03 test_file

[законопроект @ linuxbox ~] $ > / usr / local / share / Music / test_file

[законопроект @ linuxbox ~] $ ls -l / usr / local / share / Музыка

-rw-r - r-- 1 законопроект bill 0 2016-03-24 20:03 test_file


Собственно есть две проблемы. Во-первых, по умолчанию Umask в этой системе - 0022, который не позволяет членам группы записывать файлы, принадлежащие другим членам группы. Это не было бы проблемой, если бы общий каталог содержал только файлы, но поскольку в этом каталоге будет храниться музыка, а музыка обычно организована в иерархию исполнителей и альбомов, членам группы потребуется возможность создавать файлы. и каталоги внутри каталогов, созданные другими членами. Нам нужно изменить Umask используется законопроект и Карен вместо этого на 0002.

Во-вторых, каждый файл и каталог, созданные одним участником, будут настроены на основную группу пользователя, а не на группу. Музыка. Это можно исправить, установив бит setgid в каталоге:



[законопроект @ linuxbox ~] $ sudo chmod g + s / usr / local / share / Музыка

[законопроект @ linuxbox ~] $ sudo chmod g + s / usr / local / share / Музыка

Осуществление наших привилегий


[законопроект @ linuxbox ~] $ ls -ld / usr / local / share / Музыка

drwxrwsr-x 2 root music 4096 2016 03:24 / usr / local / share / Музыка

[законопроект @ linuxbox ~] $ ls -ld / usr / local / share / Музыка

drwxrwsr-x 2 root music 4096 2016 03:24 / usr / local / share / Музыка


Теперь мы проверяем, решают ли новые разрешения проблему. законопроект устанавливает его Umask до 0002, удаляет предыдущий тестовый файл и создает новый тестовый файл и каталог:



[законопроект @ linuxbox ~] $ маска 0002

[законопроект @ linuxbox ~] $ rm / usr / local / share / Music / test_file [законопроект @ linuxbox ~] $ > / usr / local / share / Music / test_file [законопроект @ linuxbox ~] $ mkdir / usr / local / share / Music / test_dir [законопроект @ linuxbox ~] $ ls -l / usr / local / share / Музыка

drwxrwsr-x 2 Bill Music 4096 2016 03:24 test_dir

-rw-rw-r-- 1 bill music 0 2016 03:24 test_file [bill @ linuxbox ~] $

[законопроект @ linuxbox ~] $ маска 0002

[законопроект @ linuxbox ~] $ rm / usr / local / share / Music / test_file [законопроект @ linuxbox ~] $ > / usr / local / share / Music / test_file [законопроект @ linuxbox ~] $ mkdir / usr / local / share / Music / test_dir [законопроект @ linuxbox ~] $ ls -l / usr / local / share / Музыка

drwxrwsr-x 2 Bill Music 4096 2016 03:24 test_dir

-rw-rw-r-- 1 bill music 0 2016 03:24 test_file [bill @ linuxbox ~] $


И файлы, и каталоги теперь созданы с правильными разрешениями, позволяющими всем членам группы Музыка для создания файлов и каталогов внутри Музыка каталог.

Остается одна проблема: Umask. Необходимая настройка действует только до конца сеанса и должна быть сброшена. В главе 11 мы рассмотрим, как изменить Umask постоянный.


Лучшие облачные вычисления для ОС в OnWorks: