PowerScale: OneFS: Керування правами ACL Windows з інтерфейсу командного рядка 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>. Це може бути будь-який запис дозволу для будь-якого користувача/групи у будь-якому файлі/папці в будь-якому кластері PowerScale, якщо вони мають потрібні дозволи. - Перегляньте опис кожного запису дозволу з інструкції до
chmod(man chmod) і визначте, які з них вам потрібні для вашого робочого процесу.
Додавання нового запису дозволу для користувача/групи
У цьому прикладі використовується метод 1, але команда для встановлення дозволів залишається однаковою, незалежно від того, чи ви визначили типи дозволів для додавання з інструкції 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'. Наприклад, якщо ви хочете видалити запис із файлу вище для кореневого користувача, ви використаєте таку команду:
# 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. Права на файли та папки (зовнішнє посилання)
Посилання: