dev-master
9999999-dev https://masterflash.ru/Выделеный сервис контроля доступа к ресурсам Simba как в UNIX и сервис авторизации
BSD-3-Clause
The Requires
masterflash
Wallogit.com
2017 © Pedro Peláez
Выделеный сервис контроля доступа к ресурсам Simba как в UNIX и сервис авторизации
##Единый сервис контроля доступа к ресурсам Simba по подобию UNIX., (*1)
для установки используйте composer require masterflash-ru/permissions После установки загрузите дамп из папки data, (*2)
Три варианта записи прав пользователя (все в разработке!), (*3)
| двоичная | восьмеричная | символьная | права на файл | права на директорию |
|---|---|---|---|---|
| 000 | 0 | --- | нет | нет |
| 001 | 1 | --x | выполнение | чтение файлов и их свойств |
| 010 | 2 | -w- | запись | нет |
| 011 | 3 | -wx | запись и выполнение | всё, кроме чтения списка файлов |
| 100 | 4 | r-- | чтение | Можно прочитать содержимое папки |
| 101 | 5 | r-x | чтение и выполнение | Можно зайти в каталог и прочитать его содержимое, удалять или добавлять файлы нельзя. |
| 110 | 6 | rw- | чтение и запись | Можно добавить, удалить, изменить файл папки |
| 111 | 7 | rwx | все права | все права |
Биты установлены в 1: SUID, SGID - при создании новых записей права унаследуются от родительского элемента, иначе от текущего пользователя Sticky - можно удалить записи только принадлежащие владельцу, (*4)
Разрешения установленные для папки действуют только на вложения в эту папку. На саму папку действуют разрешения, установленные на папку уровнем выше., (*5)
Битовая структура кода доступа:, (*6)
| Имя | Вес бита | описание |
|---|---|---|
| SUID | 2048 | бит SUID (При создании записи ID юзера наследуются от родительской) |
| SGID | 1024 | бит SGID (При создании записи ID группы наследуются от родительской) |
| Sticky | 512 | бит Sticky (Запрещает удалять не владельцу) |
| r | 256 | чтение для владельца |
| w | 128 | запись для владельца |
| x | 64 | запуск/поиск для владельца |
| r | 32 | чтение для группы |
| w | 16 | запись для группы |
| x | 8 | запуск/поиск для группы |
| r | 4 | чтение для других |
| w | 2 | запись для других |
| x | 1 | запуск/поиск для других |
в систему пишется простая сумма весов., (*7)
Все доступы хранятся в плоской таблице, идентификаторы 1-100 резервированы для админпанели., (*8)
В конфиге приложения должны быть настройки кэша:, (*9)
'caches' => [ 'DefaultSystemCache' => [ 'adapter' => [ 'name' => Filesystem::class, 'options' => [ 'cache_dir' => './data/cache', 'ttl' => 60*60*2 ], ], 'plugins' => [ [ 'name' => Serializer::class, 'options' => [ ], ], ], ], ],
Для работы с базой в конфиге приложения должно быть объявлено DefaultSystemDb:, (*10)
......
"databases"=>[
//соединение с базой + имя драйвера
'DefaultSystemDb' => [
'driver'=>'MysqlPdo',
//"unix_socket"=>"/tmp/mysql.sock",
"host"=>"localhost",
'login'=>"root",
"password"=>"**********",
"database"=>"simba4",
"locale"=>"ru_RU",
"character"=>"utf8"
],
],
.....
Выделеный сервис контроля доступа к ресурсам Simba как в UNIX и сервис авторизации
BSD-3-Clause
masterflash