Eu tenho um servidor de arquivos OmniOS que estava anteriormente no modo de grupo de trabalho e usei usuários locais / grupos (criados no próprio servidor) e passwd
senhas locais para autenticar usuários que acessam compartilhamentos Windows CIFS / SMB. Tudo funciona conforme esperado, /usr/bin/ls -V
mostra os nomes de usuários e grupos locais nas ACLs, e as permissões também podem ser definidas e modificadas na guia de segurança do Windows do Explorer pelos usuários do Windows.
Agora quero mover este servidor para um domínio do Active Directory, atendido por um samba4 AD DC (modo de domínio). Para facilitar a adição posterior de mais servidores, quero parar de usar credenciais locais e, em vez disso, aproveitar o AD central para usuários, grupos e senhas. O servidor de arquivos foi adicionado a um domínio de teste sem problemas e, em seguida, adicionei mapeamento rudimentar à conta de administrador:
root@omnios:/root# idmap list
add winuser:[email protected] unixuser:root
add wingroup:[email protected] unixgroup:root
Depois disso, foi possível fazer login como administrador, conceder permissões a usuários e grupos do AD com a guia de segurança do Explorer e depois acessar as pastas com essas contas de usuário do Windows. Nenhuma configuração adicional foi necessária e as permissões funcionaram conforme esperado (ao abrir a guia de segurança, a tradução de SIDs para nomes de usuários do AD ficou visível por um breve momento).
Como não há usuários / grupos locais separados do sistema, /usr/bin/ls -V
mostra IDs numéricos que são criados automaticamente (exceto root / Administrator, cujo mapeamento é codificado em idmap
).
drwx------+ 3 root root 3 Oct 17 13:45 test
user:root:rwxpdDaARWcCos:fd----I:allow
user:2147483651:rwxpdDaARWcCos:fd----I:allow
De acordo com a documentação, esses devem ser perdidos na reinicialização, mas no meu caso de teste simples eles pareciam persistir. (Edit: Eu pareço ter julgado mal, após a reinicialização do servidor de arquivos as permissões persistem, mas eles são removidos e alterados para nobody
após a reinicialização do controlador de domínio.) Eu sou um pouco desconfiado de usando esse modo simples devido a possíveis problemas mais tarde (veja a terceira pergunta).
Li a documentação das diferentes opções de serviços de nomes , mas alguns partes ainda não estão claras para mim.
[email protected] <=> jdoe
). No meu caso, por outro lado, as contas de usuário não devem ser armazenadas em hosts do Solaris, nenhum login é necessário e nenhuma tradução de nome deve ocorrer. Ainda é necessário criar essas contas de usuário (via script ou manualmente) em cada host Solaris, além do AD, se as ACLs devem ser nomeadas adequadamente depois? O que estou procurando, além da resposta a essas três perguntas, é um tipo de práticas recomendadas ou resumo para me orientar no caminho certo. Eu suponho que seria mapeamento de nome baseado em diretório usando AD ou LDAP (eu tenho ambos e eles são sincronizados automaticamente), mas não tenho certeza. Eu não quero cavar-me em um buraco mais tarde (ACLs perdidos ou inutilizáveis) ou fazer trabalho adicional para nada (criação de sistemas de informação de nome adicionais que nunca seriam necessários na realidade). Gostei muito da facilidade de uso e estabilidade do compartilhamento CIFS baseado em kernel e gostaria de encontrar uma solução que continue com isso, apenas com nomes de usuário / senhas no AD / LDAP em vez dos sistemas locais.