PowerScale: OneFS: Gerenciar permissões do Windows (ACL) a partir da interface de linha de comando do OneFS
Summary: É recomendável gerenciar as permissões do Windows conectando-se à pasta via SMB e usando a interface do Windows Explorer. No entanto, há casos em que o uso da CLI pode ser desejado. Este artigo descreve como fazer isso. ...
Instructions
ls -led <path to file/folder>Por exemplo:
# 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
Alterando permissões
Para alterar permissões na CLI usando chmod, você deve estar logado como root.
Há duas maneiras de identificar as entradas de permissão desejadas para colocar na lista de controle de acesso (ACL). A primeira é recomendada, se possível.
- Localize ou crie um arquivo/pasta com as permissões desejadas sobre SMB e execute
ls -led <file or folder>. Pode ser qualquer entrada de permissão em qualquer usuário/grupo em qualquer arquivo/pasta em qualquer Isilon, desde que eles tenham as permissões desejadas. - Visualize a descrição de cada entrada de permissão no manual para
chmod(man chmod) e identifique quais você precisa para o seu fluxo de trabalho.
Adicionando uma nova entrada de permissão para um usuário/grupo
Para este exemplo, estou usando o método um, mas o comando para definir as permissões é o mesmo se você identificou os tipos de permissões a serem adicionadas do manual para chmod (man chmod) ou olhando para um arquivo com as permissões desejadas.
O comando para usuários e grupos é o mesmo, exceto pela palavra 'user' é substituído por 'group' ou vice-versa: chmod +a group "<domain name>\<group name>" allow <permissions to add> <file or folder>
Por exemplo, se eu quisesse definir a entrada de permissões para o arquivo, o grupo do usuário acima em file2 Para o domínio do Active Directory 'AD' grupo 'domain usersEu usaria este comando:
# 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
Para remover uma Entrada de Controle de Acesso, você pode remover toda a linha do usuário ou grupo desejado ou dos tipos de permissão que deseja remover e, em seguida, adicionar uma nova entrada com as permissões desejadas. O comando para remover uma entrada é idêntico à adição de uma, exceto que você altera '+a' com '-a'. Por exemplo, se eu quisesse remover a entrada do arquivo acima para o usuário root, eu usaria este comando:
# 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
Para grupos conhecidos, como todos, deixem de fora o grupo. Por exemplo, se eu também quisesse remover o acesso de gravação de todos, mas deixar os outros níveis de acesso do arquivo acima, eu usaria este comando:
# 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
Para habilitar a herança para novos arquivos e pastas, adicione à entrada de permissão 'object_inherit' e 'container_inherit' respectivamente. Por exemplo, se eu quisesse adicionar uma entrada para os usuários do grupo local em uma pasta dir para conceder acesso total e herdar para novos arquivos e pastas eu usaria este comando:
# 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
Você também pode editar ACEs usando SIDs, UIDs ou GIDs. Para que a sintaxe faça isso, veja alguns exemplos:
chmod +a sid <actual SID> <target path> chmod +a user <actual UID> <target path> chmod +a group <actual GID> <target path>
Additional Information
Este artigo da Microsoft descreve cada tipo de permissão conforme descrito pelo Windows, mas para obter detalhes sobre cada tipo de permissão, conforme exibido com ls led no PowerScale, consulte man chmod.
Permissões de arquivo e pasta
Referências:
Dell PowerScale OneFS: Autenticação, gerenciamento de identidade e autorização (delltechnologies.com)Listas de controle de acesso no Dell EMC PowerScale OneFS (delltechnologies.com)