No padrão, o Linux não suporta o domínio. Mas o usuário pode ingressar em um domínio por aplicativos, como: Da mesma forma, Winbind e assim por diante.
Para o meu projeto, meus clientes são todos membros da empresa. Para o problema de segurança, o host linux da maioria dos clientes será associado a um domínio.
Infelizmente, o cliente pode efetuar login no host local, mesmo que o host linux tenha ingressado em um domínio. Tais como:
(1) são duas contas em um host linux:
uma conta de domínio: dev.com \ john (o domínio é developer.com)
uma conta local: tom
(2) O cliente pode efetuar login com a conta de domínio (dev.com \ john) ou conta local (tom) livremente.
Minha tarefa é escrever um script de shell que será executado quando o usuário efetuar login. No script de shell, preciso verificar o login do usuário com uma conta de domínio ou uma conta local. Se o usuário efetuar login com o nome do domínio, eu preciso obter o nome do domínio; caso contrário, preciso obter o nome do host. Em seguida, informe o nome do domínio (ou host) e o nome do usuário para o servidor do monitor remoto.
Eu tentei o seguinte código:
hostName=$(hostname)
hostFQDN=$(hostname -f)
if [ "$hostName" = "$hostFQDN" ]; then
# The user didn't log in a domain.
hostInfo="$hostName"
else
# The user logged in a domain.
hostInfo=$(hostname -d)
fi
Acima, eu verifico se o host FQDN é igual ao nome do host ou não. Se sim, acredito que o cliente faça login com a conta de domínio; mais, conta local.
Infelizmente, isso não funciona sempre. A razão é que o FQDN do host não será igual ao nome do host sempre que o host linux estiver associado a um domínio, mesmo que o cliente faça login com uma conta local. Tais como:
(1) O host linux está associado ao domínio "dev.com";
(2) O host fqdn será "yw-host.dev.com" sempre ("yw-host" é o nome do host), quer o cliente faça login com uma conta de domínio ou não.
Alguém pode dar uma solução por favor? Como meu cliente pode ingressar no domínio com vários aplicativos de domínio (como: da mesma forma, winbin e assim por diante), é melhor que a solução não dependa de um aplicativo de domínio especial.
Muito obrigado.
Tags linux domain shell-script