PowerScale: OneFS: Керування правами доступу Windows (ACL) через інтерфейс командного рядка OneFS
Summary: Рекомендується керувати правами доступу Windows, підключаючись до папки через SMB і використовуючи інтерфейс Провідника Windows. Однак існують випадки, коли використання CLI може бути бажаним. У цій статті описано, як це зробити. ...
Instructions
ls -led <path to file/folder>Наприклад:
# ls -led file -rwxrwxrwx + 1 root wheel 0 Jul 2 14:02 file OWNER: user:root GROUP: group:wheel 0: group:Users allow file_gen_read,file_gen_write 1: user:root allow file_gen_read,file_gen_write,std_write_dac 2: group:wheel allow file_gen_read 3: everyone allow file_gen_all
Зміна дозволів
Змінювати права доступу в CLI за допомогою chmod, ви повинні бути увійшли як root.
Існує два способи ідентифікувати потрібні записи дозволів для внесення до списку контролю доступу (ACL). Перший варіант рекомендується, якщо можливо.
- Знайдіть або створіть файл/папку з потрібними правами на SMB і запустіть
ls -led <file or folder>. Це може бути будь-який запис дозволу на будь-якого користувача/групу, у будь-якому файлі/папці на будь-якому Isilon, якщо вони мають потрібні дозволи. - Перегляньте опис кожного запису дозволу з інструкції до
chmod(man chmod) і визначте, які з них вам потрібні для вашого робочого процесу.
Додавання нового запису дозволу для користувача/групи
Для цього прикладу я використовую перший метод, але команда для налаштування дозволів однакова, незалежно від того, чи ви визначили типи дозволів для додавання з інструкції chmod (man chmod) або переглядом файлу з потрібними дозволами.
Команда для користувачів і груп така сама, за винятком слова 'user' замінюється на 'group' або навпаки: chmod +a group "<domain name>\<group name>" allow <permissions to add> <file or folder>
Наприклад, якщо я хочу встановити запис дозволів для файлу, група користувачів вище file2 для домену Active Directory 'AD'група'domain users' Я б використав таку команду:
# chmod +a group "AD\domain users" allow file_gen_read,file_gen_write file2 # ls -led file2 -rw-rw-r-- + 1 root wheel 0 Jul 2 14:09 file2 OWNER: user:root GROUP: group:wheel 0: group:Domain Users allow file_gen_read,file_gen_write 1: user:root allow file_gen_read,file_gen_write,std_write_dac 2: group:wheel allow file_gen_read 3: everyone allow file_gen_read
Щоб видалити запис контролю доступу, ви можете видалити весь рядок для потрібного користувача або групи, або типів дозволів, які хочете видалити, а потім додати новий запис із потрібними правами. Команда видалити запис ідентична додаванню, але ви змінюєте '+a' з '-a'. Наприклад, якщо я хотів видалити запис із файлу вище для root-користувача, я використав би таку команду:
# chmod -a user root allow file_gen_read,file_gen_write,std_write_dac file # ls -led file -rwxrwxrwx + 1 root wheel 0 Jul 2 14:02 file OWNER: user:root GROUP: group:wheel 0: group:Users allow file_gen_read,file_gen_write 1: group:wheel allow file_gen_read 2: everyone allow file_gen_all
Для відомих груп, таких як усі, не варто згадувати групу. Наприклад, якщо я хочу також прибрати доступ до запису з усіх, але залишити інші рівні доступу з файлу вище, я використаю цю команду:
# chmod -a everyone allow file_gen_write file # ls -led file -rwxrwxr-x + 1 root wheel 0 Jul 2 14:02 file OWNER: user:root GROUP: group:wheel 0: group:Users allow file_gen_read,file_gen_write 1: group:wheel allow file_gen_read 2: everyone allow std_delete,std_write_dac,std_write_owner,file_read,file_read_ext_attr,execute,delete_child,file_read_attr
Щоб увімкнути спадкування нових файлів і папок, додайте до запису дозволу 'object_inherit' і 'container_inherit' відповідно. Наприклад, якщо я хочу додати запис для користувачів локальної групи у папку dir Щоб надати повний доступ і успадкувати нові файли та папки, я б використав цю команду:
# chmod +a group users allow dir_gen_all,object_inherit,container_inherit dir # ls -led dir drwxrwxr-x + 2 root wheel 0 Jul 2 14:22 dir OWNER: user:root GROUP: group:wheel 0: group:Users allow dir_gen_all,object_inherit,container_inherit 1: user:root allow dir_gen_read,dir_gen_write,dir_gen_execute,std_write_dac,delete_child 2: group:wheel allow dir_gen_read,dir_gen_execute 3: everyone allow dir_gen_read,dir_gen_execute
Ви також можете редагувати ACE за допомогою SID, UID або GID. Щоб синтаксис це зробив, ось кілька прикладів:
chmod +a sid <actual SID> <target path> chmod +a user <actual UID> <target path> chmod +a group <actual GID> <target path>
Additional Information
У цій статті Microsoft описується кожен тип дозволу, описаний Windows, але деталі кожного типу дозволу відображаються за ls led на PowerScale див. man chmod.
Права доступу до файлів і папок
Посилання:
Dell PowerScale OneFS: Автентифікація, управління ідентичністю та авторизація (delltechnologies.com)Списки контролю доступу на Dell EMC PowerScale OneFS (delltechnologies.com)