Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server 2019 (15.x)
Important
Os Clusters de Big Data do Microsoft SQL Server 2019 foram desativados. O suporte para clusters de Big Data do SQL Server 2019 terminou em 28 de fevereiro de 2025. Para obter mais informações, consulte a postagem no blog de anúncios e as opções de Big Data na plataforma microsoft SQL Server.
O HDFS como um sistema de arquivos é semelhante aos sistemas de arquivos baseados em Linux que usam POSIX para permissões de arquivo. Além do modelo de permissões POSIX tradicional, o HDFS também dá suporte a ACLs (listas de controle de acesso) do POSIX. Para obter mais informações, confira o artigo Apache Hadoop sobre ACLs.
As seções a seguir apresentam exemplos de como usar a CLI de Dados do Azure (azdata) para gerenciar permissões de arquivo e diretório do HDFS.
Prerequisites
HDFS shell
A funcionalidade de shell do hdfs na CLI de Dados do Azure (azdata) permite emitir comandos diretamente em um shell para gerenciar permissões de HDFS em arquivos e diretórios. O mecanismo subjacente usa chamadas WebHdfs para emitir os comandos
O comando a seguir abrirá o shell.
azdata bdc hdfs shell
Para acessar a ajuda para o shell hdfs e entender como emitir comandos, execute o comando a seguir quando o shell estiver ativo.
[hdfs] ?
O exemplo a seguir mostra como criar um diretório, listar diretórios e modificar permissões em um diretório e atribuir a um usuário nomeado bob acesso de leitura, gravação e execução ao diretório sales.
[hdfs] mkdir sales
[hdfs] ls
rwxr-xr-x hdfs bdcadmins 0 Oct 09 18:02 system/
rwxrwxr-x admin bdcadmins 0 Oct 10 16:47 sales/
--xrwxrwxrwx hdfs bdcadmins 0 Oct 09 18:03 tmp/
rwxrwxrwx hdfs bdcadmins 0 Oct 09 17:59 user/
[hdfs] acl modify '/sales/' 'user:bob:rwx'
acl modify: Change completed.
[hdfs] acl status '/sales/'
{
`AclStatus`: {
`entries`: [
`user:bob:rwx`,
`group::r-x`
],
`group`: `bdcadmins`,
`owner`: `admin`,
`permission`: `775`,
`stickyBit`: false
}
}
Criar um diretório no HDFS usando a CLI de Dados do Azure (azdata)
Crie um diretório chamado data no caminho /sales.
azdata bdc hdfs mkdir --path '/sales/data'
Alterar o proprietário de um diretório ou arquivo
Altere o usuário proprietário do diretório data no HDFS e torne alice o usuário proprietário e salesgroup , o grupo proprietário. Para alterar o proprietário, você precisa ser um proprietário.
azdata bdc hdfs chown --owner alice --group 'salesgroup' --path '/sales/data'
Alterar as permissões de um arquivo ou diretório com chmod
Use chmod para alterar permissões em arquivos e diretórios (para proprietário, grupo proprietário e outros). Para obter mais informações, confira como alterar permissões em um sistema de arquivos do Linux. No hdfs, o padrão é o mesmo. For example:
azdata bdc hdfs chmod --permission 750 --path /sales/data
azdata bdc hdfs chmod --permission 775 --path /sales/data/file.txt
Definir bit persistente em diretórios
Definir o recipiente de bit persistente nos diretórios para impedir a exclusão ou a relocação não intencional de arquivos. O bit persistente limita a permissão para excluir ou mover um arquivo para o superusuário, o proprietário do diretório ou o proprietário do arquivo. Esta configuração não afeta o arquivo. O exemplo abaixo define um bit persistente no diretório users prefixando as permissões com um 1.
azdata bdc hdfs chmod --path /sales/users --permission 1750
Definir ACLs em arquivos e diretórios
Para definir ACLs em arquivos e diretórios no HDFS, use os comandos da CLI de Dados do Azure (azdata).
Definir ACLs em um diretório e fornecer ao usuário nomeado tom acesso para ler, gravar e executar ao diretório data .
Note
Ao usar o comando set, verifique se você está fornecendo a especificação da ACL completa, incluindo a especificação da ACL para o usuário proprietário, o grupo proprietário e outros.
azdata bdc hdfs acl set --path '/sales' --aclspec 'user::rw-,user:tom:rwx,group::rw-,other::rw-'
ACL padrão em diretórios
A ACL padrão permite que os subdiretórios herdem as permissões do diretório pai. Somente diretórios podem ter uma ACL padrão. Quando um novo arquivo ou subdiretório é criado, ele herda automaticamente a ACL padrão de seu pai para a própria ACL de acesso. Dessa forma, a ACL padrão será herdada por níveis de diretório arbitrariamente profundo à medida que novos subdiretórios forem criados.
Veja abaixo um exemplo de como definir a ACL padrão usando azdata.
azdata bdc hdfs acl set --path '/sale' --aclspec 'user::rw-,user:tom:rwx,group::rw-,other::rw-,default:group::rw-,default:user::rw-,default:other::rw-'