====== Řádková práva záznamů - sloupec RowRight ====== ===== Defaultní práva pro nový záznam ===== Nastavuje se v menu Ostatní - Vlastní firma - Poznámka (common_nast.LockDef) ==== Syntaxe ==== chmod m=red,u+red,g-red,o=red;chown m=u,u=UserName,g=g * **chmod** změna práv * **chown** zmena vlastnika, skupiny, mastera * Oddělovač příkazů je **;** * **m** master * **u** vlastník * **g** skupina * **o** ostatní * **,** oddelovač === Příkaz chmod === * **=** přiřazení * **+** přidání práv * **-** odebrání práv * **r** čtení * **e** editace * **d** mazání === Příkaz chown === * **=** přiřazení * **u** aktuální uživatel * **g** primární skupina aktuálního uživatele * uživatel * skupina ==== Příklad nastavení v Obisu ==== MENU: Ostatní -> Vlastní firma RowRights Create faktury_faktury:chmod O=R;chown G=Admin #Rozpocet muze editovat jen vlastnik, uvidi ho jen clen skupiny Rozp Create rozpocty_rozpocty:chmod O=,G=R;chown G=Rozp Create sklad_prijemky:chmod O=R;chown G=Admin Create zakazky_zakazky:chmod O=R;chown G=Admin Create sklad_objed:chmod O=R;chown G=Admin Lock Faktury_faktury,Ucto_denik:chown M=U;chmod M=R Po zmeně tohoto nastavení je nutno restarovat obis. Za RowRights: je možné přidat parametry pro řádková práva RowRights:MasterLE ... ==== Kdo má právo měnit ID ==== * Admin (UID=0) může vše * Skupinu muže změnit vlastník * Mastera může nastavit uživatel na sebe v případě že má < RLevel než vlastník * Mastera muže přebrat jen ten kdo má RLevel < než současný master * Mastera může smazat ten kdo má RLevel < než současný master * Jsem-li master, je možné se ho vzdát V případě že je použit příznak **MasterLE** je pro porovnávání RLevel použito <= místo <. ==== Vnitřní struktura ==== V databazi je uloženo jako INT64. ^ 64-49 ^ 48-33 ^ 32-17 ^ 16-13 ^ 12-9 ^ 8-5 ^ 4-1 ^ | GID | MID | UID | GRIGHTS | MRIGHTS | ORIGHTS | URIGHTS | Nevyplněné *ID má hodnotu -1 *RIGHTS jsou po čtyřech bitech uloženy takto: ^ 4 ^ 3 ^ 2 ^ 1 ^ | X | D | E | R | (X-Rezerva) ==== UID 0, GID 0 ==== * pokud má user UID=0 nevyhodnocují se žádná řádková práva a má právo ke všem záznamům (Admin) * pokud user patří do skupiny GID=0, je to jako by byl členem všech skupin