Índice - Tutoriais

Samba, parte 3: Usando o Samba como PDC

Por Carlos E. Morimoto em 11 de dezembro de 2007 às 10h12

6

Ajustando as permissões locais

Ao adicionar uma máquina Windows ao domínio, é criada uma distinção entre as contas locais e as contas de domínio. Quando o usuário se loga na estação Windows usando uma das contas cadastradas no servidor, ele é na verdade logado (na estação local) usando uma conta limitada, onde ele não tem permissão para compartilhar arquivos, para alterar as configurações da rede, nem para alterar a maior parte das configurações do sistema.

Em muitas situações, é exatamente isso que você quer, mas em outras isso pode ser um grande problema, já que o usuário não conseguirá compartilhar pastas com outros usuários da rede, por exemplo. Veja que a aba de compartilhamento sequer fica disponível nas propriedades da pasta:

6d6e67e

Para mudar isso, é necessário ajustar as permissões da máquina local, de forma que a conta do domínio tenha permissão para alterar as configurações. Para isso, logue-se localmente na estação Windows, usando uma conta com privilégios administrativos e acesse o "Painel de controle > Contas de usuário".

Clique no "Adicionar" e especifique o login do usuário e o nome do domínio e, na tela seguinte, especifique o nível de permissão na máquina local (Administrador, Usuário avançado, etc.). Você pode adicionar outros usuários se desejar:

517a45f8

Faça logoff e logue-se novamente no domínio com a conta que foi cadastrada. Se você a cadastrou com privilégios administrativos, você notará que a aba de compartilhamento voltou a aparecer e o acesso às demais configurações foi destravado. Com isso o usuário assume o controle de sua máquina local e pode criar compartilhamentos e alterar as demais configurações:

adf46f0

Inicialmente, os compartilhamentos aparecerão no ambiente de rede, mas usuários de outras máquinas (também cadastradas no domínio) não conseguirão acessá-los, recebendo uma mensagem de permissão negada. Para solucionar este último problema, acesse as permissões da pasta (ainda na máquina local) e adicione os usuários do domínio que terão permissão para acessá-la, definindo as permissões de acesso de cada um:

444155f

Note que essa configuração é necessária apenas se você quiser que os usuários das estações possam criar compartilhamentos locais. Outra opção é simplesmente adicionar compartilhamentos no servidor e orientar os usuários a usarem os compartilhamentos criados para compartilharem os arquivos desejados. Centralizar todos os compartilhamentos no servidor Samba é mais seguro e facilita bastante os backups, já que você precisará se preocupar apenas em fazer backup dos arquivos do servidor.

Continuando, é possível também criar usuários administrativos, com permissão para alterar o dono e as permissões dos arquivos colocados nos compartilhamentos do próprio servidor. Isso é feito usando o comando "net", o mesmo que utilizamos para permitir que o usuário possa dar upload dos drivers de impressão e possa adicionar máquinas ao domínio.

Os três privilégios relacionados são

SeDiskOperatorPrivilege: Permite que o usuário altere as permissões de acesso dos compartilhamentos e arquivos dentro deles.

SeRestorePrivilege: Permite que o usuário altere o dono dos arquivos e pastas, transferindo a posse para outro usuário (exceto ele mesmo)

SeTakeOwnershipPrivilege: Permite que o usuário assuma para si a posse de arquivos e pastas, complementando o SeRestorePrivilege.

Se o servidor se chama "athenas" e o usuário que receberá os privilégios se chama "gdh", os comandos para fornecer os três privilégios (a serem executados em um terminal do servidor) seriam:

# net -S localhost -U root -W ATHENAS rpc rights grant
'ATHENASgdh' SeDiskOperatorPrivilege

# net -S localhost -U root -W ATHENAS rpc rights grant
'ATHENASgdh' SeRestorePrivilege

# net -S localhost -U root -W ATHENAS rpc rights grant
'ATHENASgdh' SeTakeOwnershipPrivilege

Não é preciso dizer que, em uma grande rede, estes privilégios devem ser atribuídos apenas a outros administradores ou a usuários de sua inteira confiança, já que eles permitem acesso quase que irrestrito aos arquivos no servidor.

Para listar os privilégios atribuídos a cada usuário, use o comando:

# net -S localhost -U% rpc rights list accounts

Isso lista todos os usuários com privilégios especiais, incluindo as contas do sistema. Depois de executar os três comandos que vimos a pouco, teríamos o usuário "gdh" aparecendo no final da lista, com os três privilégios:

ATHENASgdh
SeDiskOperatorPrivilege
SeRestorePrivilege
SeTakeOwnershipPrivilege

Para remover um determinado privilégio, é usado o mesmo comando que usamos para adicionar, apenas substituindo o "grant" por "revoke", como em:

# net -S localhost -U root -W ATHENAS rpc rights revoke
'ATHENASgdh' SeTakeOwnershipPrivilege

6 comentáriosPor Carlos E. Morimoto. Revisado 11 de dezembro de 2007 às 10h12

Comentários

Erro
por Paula (anônimo) em 3 de fevereiro de 2011 às 14h22
Estou com um problema: samba 3.4 como pdc e win 7 com as alterações no registro, porém quando tento colocar o computador no dominio da um erro (não é possível contatar um controlador de dominio do active directory para o dominio X).

Alguém pode me ajudar?

Obrigada.
KDE 4.x
por marcelo (anônimo) em 26 de novembro de 2010 às 17h06
Como fazer o kdm encontrar o domínio com o kde 4.x??
Win7
por mrcmarcelo em 22 de outubro de 2010 às 23h38
Muito bom o tutorial, pena que não tem uma explicação de como adicionar o windows seven no PDC.
Demorou 3 dias pesquisando mas finalmente achei!
por Frota C. Júnior (anônimo) em 11 de outubro de 2010 às 01h44
Estou entrando no mundo do Mandriva e o ambiente gráfico do mesmo é riquíssimo, mas sempre falta algo, e com este tutorial eu pude entender de fato com tudo funciona e certamente poderei fechar as lacunas que ficaram pelo uso da interface gráfica do Mandriva, Parabéns o seu trabalho merece nota 10.
Onde 'ATHENASgdh' usar apenas nome do usuario 'gdh'
por Odair (anônimo) em 6 de outubro de 2010 às 10h55
# net -S localhost -U root -W ATHENAS rpc rights grant 'ATHENASgdh' SeMachineAccountPrivilege

Onde 'ATHENASgdh' usar apenas nome do usuario 'gdh'
Falta as barras invertidas
por Pietro (anônimo) em 27 de setembro de 2010 às 10h48
Seu exemplo
logon home = %L%U.profiles
logon path = %Lprofiles%U
Samba.org
logon home = \\homeserver\%U\winprofile
logon path = \\%N\profiles\%U

Creio que em mais partes do texto também faltem estás barras.