Samba Domain Controller
Esse trabalho irá mostrar como configurar o Samba como Domain Controller em um servidor baseado em Debian 10 e mais um monte de procedimentos repetidos em trabalhos anteriores.

A ser feito:
- Instalar o Debian e fazer as configurações iniciais do sistema;
- Instalar o Samba e configurá-lo como Domain Controller;
- Criar a estrutura do Active Directory, com as Organizational Units;
- Criar três grupos: IT, RH e Formacao;
- Criar os users do sistema e colocá-los nos seus respectivos grupos;
- Criar um monte de GPOs desnecessárias quando duas ou três seriam suficientes para demonstrar a funcionalidade;
GPOs:
- Mapear na unidade K: a home folder do user, que está localizada no servidor Debian;
- Remover acesso ao cmd para o domínio todo;
- Dar acesso ao cmd aos grupos específicos que devem ter esse acesso (admins e IT);
- Definir um wallpaper exclusivo para cada grupo e que não pode ser alterado pelos users;
- Desativar autorun;
- Definir a página inicial do IE como www.iefp.pt;
- Impedir a eliminação do histórico de navegação;
- IT tem screensaver ativo em 3 minutos;
- Homepage do chrome como www.dn.pt;
- Formação deve ter instalada automaticamente uma impressora;
- CTRL+ALT+DEL permite apenas mudar de user;
- RH tem a unidade C: oculta no “Meu Computador”;
- Instala automaticamente o Chrome quando um user do RH fizer login.
A VM que irá conter o Debian terá 2GB de RAM, um disco de 16GB para a instalação do sistema e mais 4 discos de 1GB com quatro partições cada para a criação de dois arrays em RAID 5 com 4 partições ativas mais duas em hot spares.
Mais duas VMs com o Windows 10 instalado, uma ficará como cliente normal e outra servirá para fazer a gestão remota do Domain Controller.
Índice:
- Criação das VMs e instalação do Windows 10 e Debian
- Configuração inicial do Debian
- Compilar e instalar o Samba
- Criar o Domínio, adicionar máquinas e instalar o RSAT
- Gestão do Domínio
- Criar Unidades Organizacionais e Grupos
- Criar as Partilhas
- Criar Contas de Utilizadores
- GPOs
- Instalar e configurar o serviço CUPS
Criação das VMs e instalação do Windows 10 e Debian
Criar a VM
Vamos começar instalando o Windows 10 em uma VM que irá servir como Master para os outros dois clientes.
O primeiro passo será criar a VM no VMware, para isso utilize o atalho Ctrl+N para iniciar o Wizard.

Certifique-se de que a opção Custom (advanced) está selecionada e clique em Next para avançar.

Em Hardware compatibility certifique-se de que a versão mais recente está selecionada e clique em Next.

Selecione a opção Installer disc image file (iso) e selecione a imagem a ser instalada, depois clique em Next.

Dê um nome para a VM e escolha onde os seus arquivos ficarão armazenados, depois clique em Next.

Aqui você pode escolher se quer utilizar a antiga BIOS ou a mais recente UEFI, como o Windows 10 não apenas tem suporte mas é recomendado utilizar UEFI, essa opção será a utilizada, clique em Next.

Escolha a configuração de CPU, nesse caso serão disponibilizadas duas threads para essa VM, clique em Next.

Defina a quantidade de RAM que ficará disponível para a VM, para o Windows é recomendado 2GB como o mínimo absoluto, 4GB uma experiência melhor, clique em Next.

Aqui pode escolher o tipo de conectividade que o adaptador de rede da VM terá, como o tipo de rede que iremos utilizar não aparece nessas opções, não é preciso fazer alteração e deixe a opção padrão, clique em Next.

Aqui pode escolher o tipo de controlador de disco que a VM irá utilizar, a opção recomendada é suficiente, clique em Next.

Aqui pode escolher o tipo de disco, não existe grande diferença entre as opções disponíveis nesse caso, selecione a opção mais apropriada e clique em Next.

Aqui pode escolher se deseja utilizar um disco virtual já existente, criar um novo disco virtual ou utilizar um disco físico, iremos criar um novo disco virtual, selecione a primeira opção e clique em Next.

30GB serão suficientes para essa instalação, pode escolher alocar o tamanho total do disco durante a sua criação, o que traz alguns benefícios em termos de performance, mas irá ocupar o espaço total logo no início, o que também provavelmente irá causar algum desperdício de espaço no disco local, e como SSDs atuais tem performance boa o suficiente em operações de leitura e escrita aleatórias, não faz muito sentido selecionar essa opção na maioria das situações.
A opção de repartir o disco em múltiplos arquivos facilita mover a VM de uma máquina para outra utilizando pendrives e similares, mas como essa VM não precisará ser movida, a opção de armazenar em um único arquivo é mais recomendada, clique em Next.

Por definição o nome do disco principal é o nome da VM e ele fica armazenado no diretório que foi selecionado no início, mas caso deseje, pode dar um nome diferente e escolher um local diferente para armazenar esse disco, quando estiver satisfeito com o nome e localização clique em Next.

Aqui temos o sumário das configurações feitas até agora, nesse momento podemos terminar o processo e concluir a criação da VM ou fazer algumas alterações, nesse caso iremos alterar o tipo de rede que a VM irá se conectar, para isso clique em Customize Hardware.

Selecione o adaptador de rede e selecione a opção LAN segment, depois selecione ou crie a rede virtual que essa VM irá utilizar, depois disso clique em Close, de volta na janela anterior pode selecionar a opção Power on this virtual machine after creation para que ela seja ligada automaticamente após a conclusão de sua criação, ou deixar desselecionado para a iniciar manualmente, e finalmente em Finish.
Instalar o Windows
Agora é hora de iniciar a instalação do Windows 10.

Nesse caso, como o disco virtual está vazio não é preciso pressionar nenhuma tecla, o disco de instalação mostra essa mensagem para o caso de alguma máquina que já tenha um OS instalado e seja iniciada com um disco de instalação do Windows não fique presa no setup de instalação do Windows, nesse caso, para que o processo de instalação seja iniciado é preciso pressionar alguma tecla.

A maior parte dos discos de instalação do Windows tem apenas um idioma de exibição, as alterações que podem ser feitas são na maneira de exibição de algumas informações, como datas e moedas, que podem variar de localização para localização, e o layout do teclado, depois de escolher as opções de localização clique em Next.

Clique em Install now.

Caso esteja tenha uma chave de ativação (versões OEM geralmente não precisam) coloque aqui, caso contrário clique em I don’t have a product key.

Selecione a versão a ser instalada, no nosso caso será a versão Windows 10 Pro, já que as outras não dispõem das funcionalidades necessárias para que possa fazer parte de um domínio, clique em Next.

Selecione a opção I accept the license terms e clique em Next.

Caso já tenha instalada uma versão mais antiga ou mais básica e queira fazer um Upgrade, selecione a primeira opção, no nosso caso será uma nova instalação, por isso selecione a segunda opção, Custom: Install Windows only (advanced).

Caso tenha mais do que um disco, aqui pode selecionar em qual disco deseja fazer a instalação, ou caso queira particionar o disco também pode o fazer aqui, no nosso caso não será necessário, apenas selecione o disco que aparece na lista e clique em Next.

O processo de instalação foi iniciado, por enquanto é só esperar o instalador terminar de copiar os arquivos para o disco.

Depois de terminar de copiar os arquivos a máquina será reiniciada para continuar o processo de instalação.

À partir daqui o sistema já foi iniciado à partir do disco local, e não do disco de instalação do Windows.

Selecione o país em que se encontra e clique em Yes.

Selecione o layout do teclado que deseja usar e clique em Yes.

Caso queira adicionar mais layouts pode fazer aqui, caso contrário clique em Skip.

Caso tenha acesso à internet pode continuar o processo online e utilizar uma conta da Microsoft, no nosso caso essa máquina não tem acesso à internet, por isso clique em I don’t have internet.

A Microsoft realmente quer que você se conecte à internet e dê suas informações a eles, clique em Conitue with limited setup.

É possível que nesse ponto a máquina reinicie novamente, provavelmente em uma tentativa de o forçar a se ligar à internet.
Quando voltar à configuração repita os passos anteriores se necessário.

Depois de batalhar com a insistência em se ligar à internet, é hora de criar a primeira conta local, coloque o nome que deseja que essa conta tenha e clique em Next.

Coloque a senha dessa conta e clique em Next.

Repita a senha e clique em Next.

Será pedido para escolher três perguntas de segurança e suas respostas, para a recuperação de senha caso se esqueça, escolha a pergunta, coloque a resposta e clique em Next.



Agora chegou a parte de dizer não para todas as opções de espionagem da Microsoft, é só selecionar a opção de baixo e clicar em Accept até terminar.





E finalmente terminamos.

Aguarde alguns momentos e o processo de instalação será terminado.

E com isso terminamos a instalação do Windows 10, agora é só desligar a máquina para criarmos os clones que serão utilizados no resto do trabalho.
Criar Clones

Para criar um clone é só clicar com o botão direito sobre a VM e em Manage, clicar em Clone, isso irá abrir o Wizard da criação de clones.

Clique em Next.

Aqui você escolher, caso o tenha feito anteriormente, um Snapshot dessa VM para usar como base para o clone, ou simplesmente usar o estado atual da VM, caso use o estado atual, um novo Snapchot será criado automaticamente para esse fim, clique em Next.

Aqui você escolhe o tipo de clone, um clone ligado à VM original ou uma cópia completa, como iremos fazer dois clones, e que ficarão juntos, a primeira opção, Create a linked clone é a mais recomendada, já que irá poupar espaço em disco, depois de selecionar a opção desejada clique em Next.

Da mesma maneira que foi feito quando a VM original foi criada, escolha um nome e onde deseja armazenar o clone, depois clique em Next.

E com isso o clone está criado, agora será preciso alterar o MAC da placa de rede, para não termos duas VMs com o mesmo MAC na mesma rede, para evitar problemas, para isso clique com o botão direito sobre o clone que acabou de ser criado e dessa vez, em vez de clicar em Manage, clique em Settings, isso irá abrir as configurações da VM.

Nessa janela selecione o adaptador de rede e clique em Advanced.

Agora clique em Generate para gerar um novo MAC aleatório, depois clique em OK nessa janela e na anterior, e com isso já temos um MAC diferente para esse clone, depois disso é só repetir esses mesmos passos para o outro clone.
Instalar Debian
Agora vamos criar a VM onde iremos instalar o Debian, novamente inicie o Wizard de criação de uma nova VM com CTRL+N.

Novamente, selecione Custom, caso não esteja selecionado automaticamente, e clique em Next.

Em Hardware compatibility selecione a versão mais recente e clique em Next.

Aqui iremos selecionar a imagem a ser utilizada durante a instalação, apesar da versão 11 do Debian já ter sido lançada oficialmente e ter suplantado a versão 10, o que faz com que não seja garantido mais que algumas das imagens da versão 10 estejam mais disponíveis e o próprio time responsável pelos releases recomendar a versão 11, iremos continuar com a versão 10, clique em Next.

Escolha o nome e localização da VM e clique em Next.

Escolha o número de threads que serão disponibilizadas para a VM e clique em Next.

Enquanto o Debian não precisa de muita memória disponível, com 1GB sendo suficientes para funcionalidade básica, se tiver memória suficiente instalada no sistema, disponibilize pelo menos 2GB, e se possível 4GB para reduzir a possibilidade do sistema precisar fazer swap, depois de selecionar a quantidade de memória a ser utilizada clique em Next.

Essa VM irá precisar de acesso à internet, por isso pode deixar esse adaptador de rede como NAT, clique em Next.

O tipo de controlador de disco, não há problemas em usar a opção recomendada, clique em Next.

Mesma coisa com o tipo de disco, clique em Next.

Novamente, aqui pode escolher um disco já existente, criar um novo ou utilizar um disco físico, iremos criar um novo disco, selecione a primeira opção e clique em Next.

Para o disco de sistema 16GB deverão ser suficientes, clique em Next.

Se desejar pode dar um nome diferente e escolher um local diferente para armazenar o disco, clique em Next quando estiver satisfeito com o nome e localização.

Aqui podemos ver o sumário da configuração da VM, ainda precisaremos fazer algumas alterações nela, por isso clique em Customize Hardware.

Se desejar pode remover dispositivos que não serão utilizados por essa VM, como dispositivos de som, por exemplo, mas o mais importante nesse caso será o segundo adaptador de rede que iremos precisar, para o adicionar clique em Add.

Selecione Network Adapter e clique em Finish.

Agora selecione o novo adaptador de rede adicionado e selecione a opção LAN segment, como foi feito com a VM com o Windows 10, e selecione a mesma rede virtual.
Essa VM irá precisar de mais quatro discos rígidos, mas por algum motivo nem sempre é possível adicionar novos discos durante a criação da VM, por isso iremos concluir o processo de criação da VM aqui e a editar depois de ter sido criada, clique em Close.

Clique em Finish, com a opção de ligar a VM após a criação desselecionada, iremos terminar de a customizar antes de a ligarmos pela primeira vez.
Depois que a VM for criada, clique com o botão direito sobre ela, e como foi feito anteriormente, clique em Settings.

Clique em Add.

Selecione a primeira opção, Hard Disk, e clique em Next.

O processo é o mesmo de durante a criação da VM, selecione o tipo de disco e clique em Next.

Criar novo disco e Next.

Os discos que serão criados terão 1GB cada, clique em Next.

Nesse caso é recomendado dar um nome apropriado ao disco, escolha um nome adequado e clique em Finish.

E com isso temos um novo disco adicionado, agora é só repetir esse processo mais três vezes para o resto dos discos.

Agora já temos a VM pronta para a instalação do Debian.

Vamos utilizar o instalador gráfico, selecione a primeira opção e aperte Enter.

Selecione o idioma que deseja utilizar no sistema e clique em Continue.

Agora é preciso selecionar a localização do sistema, isso poderá afetar algumas partes do sistema, como a timezone, a maneira como algumas informações possam ser mostradas, caso a localização não apareça na lista selecione Other e clique em Continue.

Selecione a região geográfica onde se encontra e clique em Continue.

Por fim selecione o seu país na lista e clique em Continue.

Caso o instalador não encontre um Locale para a combinação que selecionou anteriormente, escolha o que achar mais apropriado agora e clique em Continue.

Selecione o layout de teclado que deseja utilizar, tenha atenção que essa configuração apenas afeta o layout quando usado em uma sessão local ou caso esteja utilizando remote desktop, no caso de ligações por SSH isso não fará qualquer diferença, após selecionar o layout desejado clique em Continue.

Selecione a interface de rede que tem acesso à internet e clique em Continue.

Escolha o hostname da máquina e clique em Continue.

Caso a máquina faça parte de um domínio ou irá ser acessada diretamente pela internet, pode colocar o domínio a ser utilizado agora, nesse momento isso não será necessário, esse campo ficará em branco, clique em Continue.

Defina a senha do root e clique em Continue.

Agora será pedido para criar uma conta de usuário local, coloque o nome dessa conta e clique em Continue.

Coloque o username que será utilizado para acessar o sistema e clique em Continue.

Defina a senha dessa nova conta e clique em Continue.

Selecione a localização do servidor para definir a timezone a ser utilizada, depois clique em Continue.

Aqui você pode deixar o sistema particionar o disco automaticamente e sofrer as consequências depois caso as definições padrão não sejam as mais adequadas para o uso que o servidor terá, aqui iremos particionar o disco manualmente para ter controle total sobre a distribuição do espaço do disco para as diferentes partições, por isso dê dois cliques em Manual ou apenas selecione essa opção e clique em Continue.

Selecione o disco onde o sistema será instalado, nesse caso é o primeiro disco da lista, que aparece nessa posição por ter sido o primeiro a ser adicionado à VM durante a sua criação.
Com o disco correto selecionado clique em Continue.

Será perguntado se queremos remover a tabela de partições existente no disco e criar uma nova, selecione Yes e clique em Continue.

Selecione o espaço vazio e clique em Continue ou dê dois cliques nele.

Escolha a opção Create a new partition.

Essa primeira partição será a partição de boot, por isso não precisa ser muito grande, 512MB são suficientes, depois de definir o tamanho clique em Continue.

Use a primeira opção, Primary, essa será a opção que será utilizada para o resto das partições a serem criadas.

Aqui podemos escolher onde queremos colocar essa partição fisicamente no disco, isso é mais relevante no caso de discos rígidos, onde a velocidade é maior na extremidade do disco, e assim como um vinil, o início do disco é na extremidade externa, dessa maneira, partições que precisem de mais velocidade de leitura e escrita se beneficiam de serem colocadas no início do disco.
Caso esteja utilizando um SSD isso é irrelevante, mas iremos escolher Beginning em todas as partições apenas para que fiquem em ordem.

Aqui a única alteração necessária é no Mount point, selecione /boot para definir essa partição como sendo a partição de boot, depois que terminar dê dois cliques em Done setting up the partition.

Agora iremos criar a partição onde o sistema será instalado, do espaço restante subtraia 1GB e clique em Continue.

À princípio não será necessário fazer nenhuma alteração aqui, apenas se sertifique de que o Mount point está apontando para a raíz do sistema (/), depois disso dê dois cliques em Done setting up the partition.

Agora iremos criar uma partição de Swap, para o caso de o sistema precisar de mais memória do que está disponível para a VM, repita o processo anterior até chegar na parte onde é escolhido o filesystem e Mount point.

Aqui o processo é ligeiramente diferente, as partições anteriores utilizaram o filesystem EXT4, que estava selecionado por definição, e apenas foi alterado o mount point, nesse caso iremos utilizar essa partição como Swap, por isso em Use as selecione swap area, não será necessário fazer mais nenhuma alteração depois disso, quando terminar dê dois cliques em Done setting up the partition.

E aqui podemos ver como ficará a tabela de partições do disco, depois de confirmar que está tudo correto dê dois cliques em Finish partitioning and write changes to disk.

Será pedido para confirmar novamente, selecione Yes e clique em Continue.

Agora será iniciada a instalação do sistema.

O Debian tem dois tipos de imagens de instalação, Netinstall, que é uma imagem pequena que contém o mínimo necessário para iniciar o processo de instalação, e que faz o download do resto através da internet, e imagens completas do sistema, nesse caso o sistema é dividido em duas ou mais imagens para a instalação offline, entretanto apenas a primeira imagem é necessária para a instalação, com as outras imagens contendo apenas pacotes adicionais, nesse caso apenas a primeira imagem será utilizada, por isso selecione No e clique em Continue, mas caso queira utilizar as outras imagens, selecione Yes e siga os passos necessários para essa instalação.

Aqui temos a opção de configurar o package manager para buscar alguns pacotes através da internet, já que nem todos estão disponíveis nessa imagem, selecione Yes e clique em Continue.

Agora teremos que escolher um mirror para fazer o download dos pacotes em falta, começamos por escolher o país do mirror que queremos usar, depois disso clique em Continue.

Agora selecione o mirror e clique em Continue.

Caso precise utilizar um Proxy para acessar a internet o defina aqui, caso contrário apenas clique em Continue.

Se desejar participar em uma pesquisa selecione Yes, caso contrário selecione No e clique em Continue.

Aqui pode escolher alguns dos softwares disponíveis para serem instalados durante a instalação do sistema, como um ambiente gráfico, como esse sistema irá funcionar como um servidor e não será acessado diretamente, não é necessário utilizar um ambiente gráfico, por exemplo.

Como não iremos precisar de um ambiente gráfico, iremos desselecionar essa opção, o servidor de impressão será instalado e configurado manualmente mais tarde, por isso pode ser desselecionado agora, selecione o servidor SSH que será necessário, e mantenha a última opção selecionada, depois disso clique em Continue.

Aqui será perguntado se deseja instalar o GRUB como bootloader, selecione Yes e clique em Continue.

O bootloader pode ser instalado em um disco diferente, entretanto não será necessário nesse caso, já que iremos utilizar o disco onde o sistema foi instalado para isso, selecione o disco onde instalou o sistema, /dev/sda nesse caso, e clique em Continue, com isso o processo de instalação será iniciado.

Após completar a instalação clique em Continue.

Aqui podemos ver o bootloader mostrando as opções disponíveis, nesse caso temos apenas uma instalação do Debian com apenas um kernel.

Configuração inicial do Debian
E já podemos fazer login com a conta de root ou com a conta que foi criada durante o processo de instalação.

Configurar IPs
Vamos começar por alterar os IPs das placas de rede, para isso vamos editar o arquivo /etc/network/interfaces.


Aqui podemos ver a configuração original, para que a máquina ganhe IP por DHCP.

Aqui temos a configuração estática da interface que está em NAT, um IP estático facilita o acesso por SSH, já que temos certeza de que o IP será sempre o mesmo.

A segunda interface não irá ser utilizada para acessar a internet ou outras redes, por isso não precisa de gateway ou DNS, apenas IP e máscara de rede.
Depois de configurarmos os endereços de IP é preciso reiniciar a interface que está ativa e ativar a segunda interface.

Para isso utilizamos os comandos ifdown e ifup seguido do nome da interface, no caso da segunda, como ela estava originalmente desativada, tivemos apenas que a ativar, e podemos verificar que os IPs foram configurados corretamente com o comando ip a.
Configurar apt
Agora precisamos configurar o apt para não usar mais o disco de instalação para buscar pacotes, e ir os procurar apenas na internet, onde não só vamos encontrar as versões mais atualizadas mas também os outros pacotes que não estejam disponíveis na imagem, para isso vamos editar o arquivo /etc/apt/sources.list.


Aqui podemos ver que nas linhas 3 e 5 temos a mesma coisa, a única diferença é que a linha 3 está comentada, para a desativar, assim sendo não iremos precisar da entrada na linha 5 e podemos a remover completamente.

Depois de remover essa linha, salvar e fechar o arquivo, precisamos atualizar as definições do apt, para isso é só utilizar o comando apt update.

Instalar programas e ferramentas
Agora já podemos instalar alguns programas e ferramentas que iremos precisar e que serão úteis.
apt install emacs screen tree htop mdadm sudo -y


Configurar sudo
Um dos programas instalado foi o sudo, que permite executar comandos como root sem precisar estar usando a conta de root, mas para que um user possa utilizar esse comando ele precisa primeiro ter permissões para tal, isso pode ser feito de duas maneiras, adicionando a conta desse user ao grupo sudo, ou colocando uma entrada no arquivo sudoers para essa conta, a primeira abordagem é mais simples, e a segunda é mais flexível, permitindo customizar individualmente as entradas.
Aqui irei adicionar a conta que foi criada durante a instalação diretamente ao arquivo sudoers e configurar para não pedir a senha quando utilizar o comando sudo, isso ABSOLUTAMENTE NÃO DEVE SER FEITO em um sistema de produção ou mesmo um sistema que seja utilizado no dia a dia, por questões de segurança, e irei fazer essa configuração aqui apenas por comodidade para a criação desse guia e porque esse sistema está isolado.
Para editar o arquivo sudoers utilizamos o comando visudo.


Na linha 20 podemos ver como é uma entrada padrão para permitir o uso do sudo, pedindo senha na primeira vez e com um timeout para pedir novamente após um período de tempo predeterminado.

E na linha 21 a nova entrada, configurada para não pedir senha.
Depois de salvar podemos encerrar a sessão começar a fazer o acesso por SSH.

Acesso por SSH
Quando é feito o acesso pela primeira vez a uma máquina remota que a máquina sendo usada para fazer o acesso não reconhece, geralmente recebemos um aviso dizendo que a máquina remota não é conhecida, é só confirmar que essa máquina será adicionada à lista de máquinas conhecidas e não teremos mais esse aviso nas próximas conexões.

E com isso já temos acesso por SSH, à partir daqui você pode continuar trabalhando normalmente ou customizar o terminal um pouco, eu irei o customizar para ficar mais agradável de se utilizar, para isso irei começar por adicionar uma chave pública para fazer a autenticação automática utilizando uma chave privada do lado do cliente, dessa maneira não será necessário utilizar a senha sempre que fizer uma nova conexão, farei a mesma coisa para a conta de root, mas nesse caso a única maneira de a acessar será utilizando uma chave privada, já que a autenticação por senha estará completamente desativada, por questões de segurança, também irei customizar o prompt para ficar mais agradável e legível, entre outras coisas, à partir daqui isso vai variar de acordo com o gosto pessoal de cada um.
Para adicionar a chave pública comece por criar, na homefolder do user, uma pasta chamada .ssh, e dentro dela um arquivo chamado authorized_keys, dentro desse arquivo serão colocadas as chaves públicas que o servidor SSH irá aceitar para esse user, e apenas ele.


Depois de adicionar a chave e configurar o seu cliente para usar a respectiva chave privada, passaremos a fazer a autenticação dessa maneira.

E podemos ver que a autenticação foi feita utilizando a chave pública que adicionamos anteriormente, agora é só customizar o arquivo .bashrc para deixar o terminal de acordo com o gosto de quem vai o usar.
Criação dos Arrays
Agora que já está tudo pronto vamos começar por criar os arrays em RAID-5, essa máquina, além do disco do sistema, tem mais 4 discos de 1GiB, que serão particionados, com 4 partições cada, e essas partições serão utilizadas para criar os arrays, em vez de utilizar os próprios discos, como é tradição.
Utilizando o comando lsblk podemos ver os quatro discos de 1GB que iremos formatar.

Existem diferentes maneiras de criar partições, com diferentes ferramentas, uma das mais comuns é o fdisk, mas aqui iremos usar outra, chamada cfdisk, que tam funcionamento similar ao fdisk, mas usa uma interface “gráfica” que facilita visualizar o processo.
Ela é executada da mesma maneira que o fdisk, vamos começar por formatar o primeiro disco, para isso vamos utilizar o comando sudo cfdisk /dev/sdb para iniciar o processo.

O primeiro passo é escolher o tipo de tabela de partições, gpt vem selecionada por definição, e é a que iremos utilizar, por ser mais moderna e avançada do que mbr/dos, use a tecla Enter para selecionar e ir para o próximo passo.

Aqui podemos ver as informações sobre o disco, no momento não temos nenhuma partição criada, por isso temos apenas o espaço livre sendo mostrado, mas à medida que vamos criando as partições, podemos as ver na lista diretamente, sem ser necessário ficar manualmente consultando a tabela de partições, como é feito com o fdisk.
Para criar uma nova partição, selecione New e aperte Enter.

Por definição todo o espaço livre é selecionado, para criar uma única partição ocupando o disco inteiro, mas podemos definir manualmente o tamanho dessa partição, seja especificando o tamanho em KiB, MiB, GiB, TiB e assim sucessivamente, de acordo com o tamanho do disco, ou especificar o número de setores.
Tenha apenas atenção de que com o cfdisk existe um bug que faz com que partições com mais do que 1MiB sejam criadas com tamanhos múltiplos inteiros de 1MiB, ou seja, mesmo se especificar que a partição deva ter 10.5MiB, ou 10,752KiB, seja dando o número de setores ou o tamanho em KiB, ela irá arredondar para o número inteiro mais próximo, nesse caso ficará com 10MiB, mas caso o tamanho especificado seja 10,753KiB ela ficará com 11MiB.
Se desejar ter controle total sobre não só o tamanho das partições, mas também onde começam e terminam, utilize o fdisk, mas caso não tenha intenção de ir tão a fundo e deseje apenas criar partições de maneira simples e especificando apenas o seu tamanho, o cfdisk é melhor.

É só especificar o tamanho da partição e dizer qual unidade deseja usar, nesse caso M para especificarmos o tamanho em MiB.

E aqui podemos ver que a primeira partição foi criada com exatamente 255MiB.

O processo é exatamente igual para as outras partições, é só selecionar Free space , New e pressionar Enter.

E aqui temos a segunda partição, é só repetir o processo para o resto das partições.

Aqui podemos ver as quatro partições criadas, e ~3MiB de espaço livre restante, para salvar essa tabela de partições é só selecionar Write com as setas para a direita e esquerda, apertar enter e confirmar com yes no final.

Depois é só sair do programa, isso pode ser feito navegando até Quit e apertando Enter ou simplesmente utilizando a combinação de teclas CTRL+C.


Com o comando lsblk podemos ver que as partições foram criadas com sucesso, agora é só repetir o processo para os outros três discos.

E aqui podemos ver os quatro discos particionados.
Agora vamos criar os dois arrays RAID 5, com quatro partições para armazenamento e mais duas como hot spares.
O primeiro, que ficará em /dev/md0, irá utilizar as seguintes partições:
- /dev/sdb3, /dev/sdc3, /dev/sdd3 e /dev/sde3 como armazenamento;
- /dev/sdd2 e /dev/sde2 como spares.
O segundo, que ficará em /dev/md1, irá utilizar as seguintes partições:
- /dev/sdb1, /dev/sdc1, /dev/sdd1 e /dev/sde1 como armazenamento;
- dev/sdb2 e /dev/sdc2 como spares.
Por que as partições não estão em ordem e estamos desperdiçando 1GiB em quatro partições, que se não estão sendo utilizadas como armazenamento, poderiam pelo menos ter sido alocadas como spares? “Por que simplificar quando posso complicar?” é a única resposta que tenho.
Para criar os arrays iremos utilizar a ferramenta mdadm, que instalamos anteriormente, para criar o primeiro array é só executar o seguinte comando:
sudo mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sdb3 /dev/sdc3 /dev/sdd3 /dev/sde3 --spare-devices=2 /dev/sdd2 /dev/sde2

Agora vamos criar o segundo array.
sudo mdadm --create /dev/md1 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 --spare-devices=2 /dev/sdb2 /dev/sdc2

Agora é preciso salvar as configurações desses arrays na configuração do mdadm, para que eles não sejam perdidos ou sejam carregados de maneira incorreta quando o sistema for reiniciado, para isso é só usar o seguinte comando executado como root, e não com sudo:
mdadm --verbose --detail -scan >> /etc/mdadm/mdadm.conf

Aqui podemos ver que a configuração foi salva com sucesso, depois disso é preciso atualizar a configuração do initramfs para que os arrays sejam carregados durante o boot, para isso é só usar o seguinte comando:
sudo update-initramfs -u

Agora que já temos os arrays criados e suas configurações salvas, é preciso os formatar para que possam ser usados, vamos os formatar como ext4, para isso é só utilizar os seguintes comandos:
sudo mkfs.ext4 /dev/md0 -L inseticida sudo mkfs.ext4 /dev/md1 -L raid


E aqui podemos ver os dois arrays formatados como ext4, juntamente com os seus UUIDs, agora é só criar as pastas onde serão montados e editar o arquivo /etc/fstab para que sejam montados automaticamente quando o sistema for iniciado.

Com as pastas criadas já podemos adicionar as entradas no fstab usando o UUID para identificar os filesystems.

E com isso já podemos montar os arrays em seus respectivos pontos de montagem, para isso é só usar o comando sudo mount -a.

Aqui podemos ver os arrays montados em seus respectivos pontos de montagem, e se reiniciarmos o sistema veremos que serão montados automaticamente.

Com isso completamos a criação e configuração dos arrays.
Configurar hostname e domínio
Antes de instalarmos o Samba vamos primeiro atualizar o arquivo /etc/hosts para incluir o domínio.

Depois de o atualizar podemos verificar que está tudo correto utilizando o comando hostname.

Compilar e instalar o Samba
Instalar dependências
Antes que possamos compilar o Samba precisamos instalar as dependências, um script que automatiza a instalação da maioria delas está disponível aqui, faça o download da versão adequada e a execute com sudo ou como root.
Depois disso é preciso instalar mais alguns pacotes adicionais:
sudo apt install acl attr autoconf bind9utils bison build-essential \ debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user \ libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev \ libcap-dev libcups2-dev libgnutls28-dev libgpgme-dev libjson-perl \ libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \ libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config \ python-all-dev python-crypto python-dbg python-dev python-dnspython \ python3-dnspython python-gpg python3-gpg python-markdown python3-markdown \ python3-dev xsltproc zlib1g-dev liblmdb-dev lmdb-utils libsystemd-dev

Tenha muita atenção que existem duas diferenças na lista de pacotes que está descrita na página e que são específicas a versão do Debian que estamos utilizando.
Download do código-fonte
Depois disso é preciso fazer o download do código fonte a ser compilado, nesse link você encontra as versões estáveis disponíveis.
O download pode ser feito com wget ou curl, preferência do freguês, depois disso é preciso extrair o conteúdo do download, para isso é só utilizar o comando tar -xzf nome-do-arquivo.tar.gz.

Depois disso é só entrar dentro da pasta para onde o conteúdo foi extraído e fazer a configuração das opções que serão utilizadas durante a compilação.
Configurar, compilar e instalar o Samba
Caso queira ver quais opções estão disponíveis pode utilizar o comando ./configure –help dentro do diretório onde extraiu o código fonte, na lista de opções irá ver que muitas delas estão habilitadas por padrão, e caso não queira as incluir, é preciso dizer explicitamente, como o suporte para systemd e winbind, essas opções estão habilitadas por padrão, e caso precise delas, não é preciso especificar que as deseja habilitar, apenas caso não queira uma dessas opções habilitadas é que é preciso passar o argumento que não as deseja, por exemplo, passando o argumento –without-winbind o suporte a winbind será removido, omitindo essa opção, o suporte continuará lá.
Entretanto uma opção interessante é a que especifica o número de threads utilizadas durante a configuração, se não for especificada, irá utilizar apenas uma, e com a opção -j pode definir esse número de acordo com o número de threads disponíveis no sistema, para acelerar o processo de configuração.
Como as opções que iremos precisar já estão habilitadas por padrão, não iremos precisar fazer nenhuma configuração específica, além de especificar o número de threads que desejamos durante a configuração, nesse caso o comando que iremos utilizar para fazer essa configuração é ./configure -j <número de threads>.


Agora iremos fazer a compilação, que também suporta especificar o número de threads utilizada, e que aqui é muito mais importante, já que é um processo mais demorado, por isso aumentei temporariamente o número de threads disponíveis para a VM de 2 para 6 para acelerar esse processo.
A compilação pode ser feita com o comando make -j <número de threads>.


Através do htop podemos que as 6 threads disponíveis estão sendo utilizadas para acelerar o processo de compilação.

E temos a compilação completada com sucesso em pouco mais de 3 minutos, agora já podemos desligar a VM e a reconfigurar para utilizar o número de threads anterior.
A compilação pode ser feita por qualquer user, já a instalação é preciso ser feita com privilégios de administrador.


Agora é preciso atualizar a variável PATH para que seja possível utilizar o samba, para isso é preciso editar o arquivo /etc/profile.

Iremos adicionar os caminhos dos binários do Samba que firam acabados de ser instalados no final das linhas 5 e 7, elas devem ficar assim:
Linha 5: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/samba/bin/:/usr/local/samba/sbin/" Linha 7: PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/samba/bin/:/usr/local/samba/sbin/"
Essas novas definições estarão disponíveis para novas sessões, por isso é preciso encerrar a sessão atual e iniciar uma nova, por SSH é só iniciar uma nova conexão.

E aqui podemos ver que já temos o Samba disponível.
Uma enorme desvantagem dessa maneira de instalação é, além do trabalho inicial e das configurações manuais que são necessárias para fazer com que a instalação fique operacional, para atualizar o Samba é necessário baixar a nova versão, reconfigurar da mesma maneira que a instalação original, recompilar e reinstalar, tudo manualmente.
Agora que a instalação foi completada é necessário criar o unit file responsável pelo serviço do Samba, esse arquivo ficará em /lib/systemd/system com o nome samba-ad-dc.service, com o seguinte conteúdo:
[Unit] Description=Samba Active Directory Domain Controller After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/local/samba/sbin/samba -D PIDFile=/usr/local/samba/var/run/samba.pid ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target

Com o unit file criado o serviço já pode ser ativado e iniciado, mas antes disso é preciso criar links para a biblioteca Libnss winbind para que o sistema tenha acesso a elas, isso pode ser feito com os seguintes comandos:
sudo ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib/x86_64-linux-gnu/ sudo ln -s /lib/x86_64-linux-gnu/libnss_winbind.so.2 /lib/x86_64-linux-gnu/libnss_winbind.so sudo ldconfig

Agora é preciso configurar o Name Service Switch, para isso iremos editar o arquivo /etc/nsswitch.conf.

Iremos editar as linhas 7 e 8, para fazer com que esse serviço também pesquise informações através do serviço winbind.

Coloque winbind entre files e systemd nas duas linhas, para que o serviço primeiro pesquise nos arquivos /etc/passwd e /etc/group antes de perguntar para o serviço winbind.
Com isso só nos resta habilitar o serviço samba-ad-dc com os seguintes comandos:
sudo systemctl daemon-reload sudo systemctl enable samba-ad-dc.service

Antes de iniciarmos o serviço vamos editar o arquivo /etc/resolv.conf e renomear o arquivo /etc/krb5.conf, já que iremos utilizar outra configuração, gerada pelo Samba, mais tarde.


Criar o Domínio, adicionar máquinas e instalar o RSAT
Criar o Domínio
Anteriormente adicionamos os caminhos para os executáveis do samba nas variáveis PATH do sistema, entretanto, caso tente utilizar alguma delas com sudo receberemos uma mensagem de erro, para que possamos utilizar sudo para executar os comandos do samba, é preciso primeiro atualizar a variável PATH que o comando sudo utiliza, para isso é só editar o arquivo /etc/sudoers com o comando sudo visudo e editar a linha Defaults secure_path=, e como fizemos anteriormente, adicionar no final da linha as localizações dos binários do samba.

Com isso já podemos utilizar, com sudo, os comandos do samba e criar o domínio utilizando o seguinte comando:
sudo samba-tool domain provision --use-rfc2307 --interactive

Com o domínio criado, foi criado também um novo arquivo de configuração do Kerberos, que vamos copiar para o local do antigo com o comando sudo cp /usr/local/samba/private/krb5.conf /etc/krb5.conf.

Agora já podemos iniciar o serviço do samba com o comando sudo service samba-ad-dc start.

Vamos agora criar uma zona reversa com o seguinte comando:
sudo samba-tool dns zonecreate phr 140-23.59.10.in-addr.arpa -U Administrator

Vamos agora dar uma olhada em algumas informações do domínio e do samba.

Podemos ver que o serviço está funcionando e que temos um domínio operacional.

Agora vamos criar uma chave Kerberos para a conta de administrador do domínio.
sudo kinit Administrator@ROTOLIP.LOCAL

Com isso já temos uma conta de administrador para utilizar no domínio dentro das máquinas Windows, vamos começar por adicionar ao domínio a máquina que irá ter o RSAT.
Instalar o RSAT e adicionar primeira máquina o domínio
Para adicionar essa máquina ao domínio é preciso primeiro dar um IP da rede 10.59.140.0/23 para ela.

Agora é preciso fazer o download do RSAT através desse link.

Depois de fazer o download é só o instalar.

Depois disso vamos alterar o nome da máquina e a adicionar ao domínio.


Depois de alterar o nome da máquina será preciso reiniciá-la., e depois disso remos a adicionar ao domínio.


Com isso já temos essa máquina adicionada ao domínio, e podemos verificar através do comando sudo samba-tool computer list.

E com isso já podemos fazer login com a conta de Administrador do domínio nessa máquina e utilizar o RSAT para fazer a gestão do domínio.
Gestão do Domínio

Vamos começar criando uma nova conta de administrador, para isso vamos usar uma cópia da conta de administrador atual para criar essa nova conta.

Para isso é só clicar com o botão direito sobre a conta de administrador do sistema e depois em Copy.

Preencher os dados apropriadamente e clicar em Next.

Definir a senha.

E terminar.

Aqui podemos ver que essa nova conta faz parte de todos os grupos que a conta do sistema também faz parte, e tem os mesmos privilégios.
E agora já podemos passar a usar essa conta para fazer as tarefas administrativas.

E no servidor podemos ver a nova conta criada com o comando sudo samba-tool user list.

Criar Unidades Organizacionais e Grupos

O processo é extremamente simples, basta selecionar o domínio, no lado esquerdo, e clicar no botão de criar nova Unidade Organizacional, na barra na parte de cima.

Clicando nesse botão a janela de criação irá abrir.

Mantenha a opção Protect container from accidental deletion selecionada, dê um nome para a OU e clique em OK.

E com isso temos uma nova Unidade Organizacional criada, agora é só repetir o processo para as outras, selecionando as que se encontram no nível acima para criaras que estão em um nível abaixo, dentro delas.

Já temos as Unidades Organizacionais criadas, agora vamos criar os grupos.
O processo é similar, selecione a Unidade Organizacional onde deseja criar os grupos e clique no botão de criação de novo grupo.

Após clicar no botão, a janela de criação de novo grupo irá abrir.

Dê o nome ao grupo e clique em OK.
Agora é só repetir os mesmos passos para o resto dos grupos.

Com isso temos todos os grupos criados, agora é preciso os organizar, os grupos Geral tem como membros os outros três grupos da mesma categoria.

Para adicionar é só selecionar os três grupos Norte, Sul e Este, clicar com o botão direito sobre essa seleção e clicar Add to a group, isso fará com que a janela de seleção de grupos apareça.

Escreva o nome do grupo que deseja que os grupos selecionados façam parte e clique em Check Names, depois em OK.

Os grupos foram adicionados com sucesso, agora podemos verificar no grupo Geral que esses três grupos fazem parte de seus membros, para isso é só abrir as propriedades do grupo Geral e clicar na aba Members.

Aqui podemos ver que os três grupos foram adicionados com sucesso, agora é só repetir esses passos para os outros grupos.
Criar as Partilhas
Vamos agora criar as pastas partilhadas.
As homefolders ficarão em /opt/raid/homefolders e as pastas dos grupos ficarão dentro de /mnt/dumdum (ex: /mnt/dumdum/IT).

A gestão de permissões nessa situação não é tão simples como em um sistema totalmente Windows, é preciso fazer algumas configurações especiais nesse caso, também tenha em mente que por algum motivo, apenas a conta Administrator tem permissões suficientes para muitas das operações que iremos precisar realizar, mesmo que uma cópia dessa conta seja criada para outro administrador, apenas a original funciona.
Abra o Active Directory Users and Computers, depois clique View e habilite a opção Advanced Features.

Depois disso vamos criar um novo grupo chamado Unix Admins.

Agora é preciso adicionar esse grupo a alguns grupos administrativos.

Depois de adicionar aos grupos mostrados na imagem acima, é preciso fazer uma configuração na aba Attribute Editor.

Aqui iremos editar o campo gidNumber para que esse grupo tenha um GID no Debian, esse número convém ficar acima dos 3000000, preferencialmente na casa das dezenas ou centenas de milhares para cima, ex: 3100000, para evitar conflitos com possíveis IDs de contas de users.

Depois disso iremos adicionar o grupo Domain Admins como membro do grupo Unix Admins.

Depois disso vamos precisar definir alguns privilégios no Debian, nomeadamente o privilégio SeDiskOperatorPrivilege, para o grupo Unix Admins que acabamos de criar e também para o grupo integrado Administrators, para isso vamos usar os seguintes comandos:
sudo net rpc rights grant "BUILTIN\Administrators" SeDiskOperatorPrivilege -U "ROTOLIP\Administrator" sudo net rpc rights grant "ROTOLIP\Unix Admins" SeDiskOperatorPrivilege -U "ROTOLIP\Administrator"
Será preciso usar a senha da conta Administrator sempre que esse comando for utilizado, depois disso podemos verificar que os privilégios foram atribuídos corretamente com o seguinte comando:
net rpc rights list privileges SeDiskOperatorPrivilege -U "ROTOLIP\Administrator"

Com isso feito, precisamos agora alterar as permissões das pastas que serão partilhadas.

Normalmente não se atribui permissões 777 para pastas, entretanto, sem essas permissões é impossível de fazer a gestão através do Windows, e como apenas administradores tem acesso ao terminal nessa máquina, isso não é grande problema, é apenas uma da situações inerentes a utilizar o Samba para fazer o papel de Domain Controller no lugar de uma máquina Windows.
Repita esses passos para as outras pastas

Com as pastas já configuradas, agora iremos criar as partilhas no Samba, para isso iremos primeiro criar um backup do arquivo /usr/local/samba/etc/smb.conf, e depois disso iremos editar o original.

As partilhas irão seguir esse padrão, a terceira opção serve para permitir a configuração das permissões através do Windows.

Com as partilhas criadas podemos recarregar as configurações para que entrem em vigor com o comando sudo smbcontrol all reload-config.
E agora já podemos ver as partilhas no Windows, entretanto ainda não estão com os acessos corretos, na máquina com o RSAT (e utilizando a conta Administrator), abra o Computer Management e se conecte ao Debian, para isso é só clicar com o botão direito sobre Computer Management (Local), do lado esquero da janela, e na janela que irá abrir, com a opção Another computer selecionada, colocar o hostname ou IP do Debian e clicar em OK.



À partir daqui podemos gerir as partilhas, para isso é só navegar até System Tools/Shared Folders/Shares (quando expandir System Tools recebera uma mensagem de erro, isso é normal e acontece toda vez), e aqui podemos ver as partilhas criadas.

Agora iremos configurar as permissões das partilhas, começando pelas homefolders.

Clique com o botão direito sobre a partilha e depois em Properties.

Abra a aba Share Permissions e se certifique de que o grupo Everyone tem permissões Full Control.

Vá até a aba Security e clique em Advanced.

Aqui iremos alterar algumas permissões, remover grupos e adicionar outros grupos, vamos começar pelas permissões do Administrator, dê dois cliques sobre essa entrada na lista, ou a selecione e clique em Edit.

Altere as permissões para Applies to: This folder, subfolders and files e selecione a opção Full control.
Repita o processo para o grupo Unix Admins, depois disso é preciso remover da lista o grupo Everyone.

Com o grupo Everyone removido iremos adicionar uma entrada nas permissões.

Clique em Add para adicionar uma nova entrada.

Clique em Select a principal.

Adicione o grupo CREATOR OWNER.

E dê Full control para Subfolders and files only.

Depois disso clique em Disable inheritance.
Agora vamos configurar as outras partilhas.
As outras partilhas terão permissões diferentes, já que os diferentes grupos terão diferentes níveis de permissões para as pastas dos outros grupos.

As permissões serão atribuídas segundo essa tabela (a descrição das permissões do grupo RH no enunciado do trabalho estava ambígua, para dizer o mínimo, portanto decidi interpretar dessa maneira).

Existe um erro nessa imagem acima, o grupo FormacaoGeral tem permissões de leitura quando não deveria estar na lista, e em seu lugar o grupo RHGeral deveria ter essas permissões, isso foi corrigido posteriormente.


Essas partilhas devem ficar ocultas caso alguém acesse a raíz das partilhas no servidor (//PHR), isso pode ser feito de duas maneiras, à maneira do Windows, que é simplesmente colocar um símbolo de dólar no final do nome da partilha, ex: IT$, e a acessar dessa maneira, ou à maneira Unix, que é desabilitar a opção de navegar as partilhar diretamente no arquivo smb.conf, existem vantagens e desvantagens nas duas abordagens, no caso da primeira é que é simplesmente feio ter aquele símbolo no nome e caminho da partilha, no caso da segunda abordagem, ela ficará oculta inclusive no Computer Management, dessa maneira, para fazer a gestão delas é preciso saber o seu caminho e editar suas propriedades através do menu no Explorer, aqui irei usar a abordagem Unix, alterando a configuração do Samba.
Para isso é só adicionar essa linha nas configurações de cada partilha:
browseable = no

Depois disso é só recarregar as configurações do Samba para que as partilhas deixem de aparecer, mas continuem acessíveis diretamente.

E a gestão pode ser feita da mesma maneira, apenas a maneira de acessar as Advanced Securrity Settings é que é diferente.

Agora vamos testar essas partilhas criando as contas dos users e os adicionando em seus respectivos grupos.
Criar Contas de Utilizadores
Vamos começar por criar um template de conta para facilitar o processo.

Clique no botão para criar uma nova conta de usuário.

Essa conta ficará com o nome _template, com um underscore no início para que fique no início da lista e assim mais acessível.

Aqui selecione as opções que deseja para a gestão de senhas, entretanto a opção mais importante nesse contexto, e que precisa estar selecionada, é a Account is disabled, já que essa não será uma conta de verdade, e nunca será usada para nada além de template para novas contas.

Aqui é só terminar o processo de criação da conta.

Depois disso abra as propriedades dessa conta.

Aqui pode configurar todas as opções que sejam relevantes, nesse caso iremos configurar apenas a localização da Home folder, para que fique na partilha de rede e seja montada automaticamente na unidade K:.
E com isso terminamos esse template e podemos iniciar a criação das contas de acordo com essa tabela:

O processo de criação é similar ao que fizemos com a outra conta de administrador, clique com o botão direito sobre o template e selecione Copy, e na janela que irá abrir preencha com as informações relevantes ao user a ser criado.


Aqui podemos ver que a conta está desativada por definição, exatamente como configuramos o template.

Aqui ativamos a conta e configuramos para que a senha nuca expire.

E se verificarmos, nas propriedades, a aba Profile, vamos ver que a localização da homefolder está correta.

E se abrirmos a pasta das homefolders veremos que a pasta do novo user foi criada automaticamente.

Para a adicionar ao grupo que pertence é só clicar com o botão direito sobre a conta e selecionar a opção Add to a group.

Selecione o grupo correto e clique em OK.

E essa conta foi adicionada com sucesso ao seu respectivo grupo, agora é só repetir os passos para o resto das contas e quando terminar, mover essas novas contas para suas respectivas OUs.

Para mover uma conta é só a arrastar com o mouse.

Com isso já podemos testar as pastas partilhadas.

Fazendo login com a conta tsantos.

Aqui podemos ver que a partilha da Home folder foi feita automaticamente e que todas as partilhas criadas estão ocultas.

Aqui podemos ver que esse user tem permissões de escrita nas pastas em que o grupo que pertence pode escrever, e apenas de leitura no grupo em que pode apenar ler.

Fazendo login com a conta msilva.

Aqui podemos ver que da mesma maneira que a conta anterior, a Home folder foi mapeada automaticamente, e essa conta tem as permissões corretas de acesso às partilhas dos outros grupos.
Agora podemos começar a criar as GPOs.
GPOs
Agora vamos refazer, novamente, o que já foi feito em trabalhos anteriores, criar GPOs para configurações já mostradas anteriormente, afinal, por que não?
Foram pedidas as seguintes GPOs:
- Bloquear acesso ao prompt, será aplicada no domínio todo;
- Permitir acesso ao prompt, para os administradores e outros grupos que possam precisar desse acesso, como IT;
- GPOs para definir o wallpaper de cada grupo, uma GPO por grupo;
- Pastas de documentos (Documentos, Imagens, Downloads, etc…) devam ser movidas para suas Home folders no servidor;
- Desativar o autorun de mídias removíveis;
- Definir a página inicial do IE para www.iefp.pt;
- Bloquear a limpeza do histórico de navegação do IE e Firefox;
- A página inicial do Chrome para o grupo IT deve ficar como www.dn.pt;
- Instalar automaticamente o Chrome;
- O screensaver do grupo IT deve ser ativado em 3 minutos;
- Fazer com que apenas a opção de mudar de conta fique ativa com Ctrl+Alt+Del;
- Esconder o drive C: para o grupo RH;
- Instalar uma impressora automaticamente para o grupo Formação;
- Instalar uma impressora partilhada através do CUPS para todo o domínio.
Começando pelas duas primeiras, bloquear o acesso ao CMD e permitir o acesso ao CMD, os procedimentos já foram explicados na página 147 do trabalho da UFCD 5113, mas vamos fazer isso tudo novamente aqui.
Restringir acesso ao command prompt
Vamos começar por criar uma nova OU para agrupar os administradores do sistema, já que eles precisarão de algumas GPOs exclusivas.
O processo é o mesmo que foi mostrado anteriormente para a criação de Unidades Organizacionais e como mover contas para essas OUs.

Depois disso abra a janela do Group Policy Management.


Da mesma maneira que foi mostrada na página 125 do trabalho da UFCD 5113, vamos criar uma nova GPO.
Clique com o botão direito sobre Group Policy Objects e depois em New.


Dê um nome à GPO e clique em OK.

Aqui podemos ver a nova GPO criada, agora precisamos a configurar.

Clique com o botão direito sobre a GPO e depois em Edit.

Aqui iremos encontrar as regras para configurar a nossa GPO.

Navegue até User Configuration/Policies/Administrative Templates/System e edite a regra Prevent access to the command prompt.

Aqui a regra deve ser habilitada e nas opções selecione Yes, para que o acesso seja bloqueado, em Comment coloque um comentário descritivo, ou siga as regras da sua organização, caso exista uma regra de estilo a ser seguida na sua empresa, depois clique em OK.
E com isso temos a primeira GPO criada, agora é preciso criar a GPO que irá permitir o acesso ao command prompt, o processo é exatamente igual, a única diferença é que em vez de selecionar Enabled, é preciso selecionar Disabled, dessa maneira essa GPO NÃO irá restringir o acesso ao command prompt.

E com isso temos as duas primeiras GPOs criadas, agora é preciso as aplicar.

Para aplicar a GPO é só a arrastar para onde deseja a aplicar, nesse caso é a GPO que bloqueia o acesso ao command prompt e deve ser aplicada em todo o domínio, por isso deve ser arrastada para a raíz do domínio, em rotolip.local.

E aqui podemos ver que foi aplicada ao domínio todo.
Repita o procedimento para a GPO que permite o acesso ao command prompt, mas dessa vez aplicando às OUs corretas, nesse caso a Admins e cada uma das OUs IT.

Podemos agora fazer um teste e verificar se estão funcionando.

Aqui podemos ver uma conta do departamento de IT que tem acesso ao command prompt.

E aqui uma conta do departamento de Formação que não tem acesso ao command prompt.
Com isso vimos que as GPOs criadas no Samba como Domain Controller funcionam exatamente da mesma maneira que as GPOs criadas em um Windows Server, vamos continuar e criar mais GPOs que funcionam da mesma maneira, como visto no trabalho da UFCD 5113, página 161.
Alterar papéis de parede
Vamos agora tratar das GPOs que irão alterar o papel de parede das máquinas, cada grupo precisará de sua própria GPO, assim como uma nova partilha na rede para armazenar esses papéis de parede.
Essa partilha é criada da mesma maneira que as anteriores, com a diferença de que todos os grupos terão permissão de leitura, e apenas os administradores terão permissão de escrita.

Aqui podemos ver que os administradores do sistema tem permissão total para a pasta, enquanto o resto dos users tem apenas acesso de leitura no que está dentro da pasta, não podem nem listar o conteúdo da pasta, isso fará com que a única maneira de acessar algum arquivo que tenha sido colocado dentro dessa pasta seja sabendo o seu caminho completo.

Com os papéis de parede já na partilha, podemos começar a criar as GPOs, o processo de criação é exatamente igual para todas, apenas a configuração difere.
Na página 161 do trabalho da UFCD 5113 tem o procedimento completo para criar essa GPO, mas vamos o repedir aqui.
Vamos começar pela GPO para o papel de parede do departamento de IT, depois de criar uma nova GPO e entrar no modo de edição, como foi mostrado anteriormente, navegue até User Configuratio/Policies/Administrative Templates/Desktop/Desktop e abra a configuração Desktop Wallpaper.

Habilite a regra para poder fazer sua configuração.

Em Wallpaper Name coloque o caminho de rede do papel de parede, em Wallpaper Style especifique como deseja que ele seja aplicado, essa opção especifica como ele é mostrado no desktop e é útil quando as dimensões do papel de parede diferem da resolução de tela utilizada.
Depois de terminado é só repetir o processo para as outras GPOs dos outros grupos, e quando estiverem terminadas, as aplicar nos seus respectivos grupos, como foi feito com as GPOs anteriores.

Aqui podemos ver as GPOs aplicadas em alguns grupos.
Vamos agora fazer login com uma conta de cada departamento para ver se as GPOs estão funcionando corretamente.

User Marta Costa com o papel de parede definido automaticamente e sem a opção de o alterar.

User Tania Santos com o papel de parede definido automaticamente e sem a opção de o alterar.

User Jonas Fuzeta com o papel de parede definido automaticamente e sem a opção de o alterar.
Vamos agora criar a GPO que irá redirecionar as pastas pessoais para o servidor, assim como foi explicado no trabalho da UFCD 5113 na página 124, vamos fazer fazer tudo de novo aqui.
Redirecionamento de pastas
Como foi feito anteriormente, começe por criar uma nova GPO com um nome apropriado, essa irá se chamar Redirecionar documentos para o servidor, e entre no modo de edição.

Navegue até User Configuration/Windows Settings/Folder Redirection, aqui temos todas as pastas possíveis de serem redirecionadas.

Clique com o botão direito sobre a pasta a ser redirecionada e depois em Properties.

Em Setting selecione a primeira opção, Basic, nesse exemplo não precisaremos de uma configuração mais avançada.

Aqui certifique-se de que em Target folder location a opção Create a folder for each user under the root path está selecionada, em em Root Path coloque o caminho de rede da partilha que contém as Home folders dos users.

Quando clicar em OK irá receber um aviso, clique em Yes.
E com isso temos a primeira pasta redirecionada, repita esses passos para as outras pastas que deseja redirecionar, e quando terminar é só fechar o editor e aplicar a GPO onde necessário, seja no domínio inteiro, caso queira aplicar a todos os users, incluindo os administradores, ou se desejar restringir apenas a Unidades Organizacionais específicas, aplique apenas a elas.

Aqui a GPO foi aplicada no domínio inteiro, para simplificar, agora vamos experimentar para ver se está funcionando corretamente.

A GPO está funcionando corretamente, como era de se esperar, já que funcionou corretamente no trabalho anterior.
E como já foi mostrado no trabalho da UFCD 5113, página 149, vamos ver novamente como desativar o AutoRun.
Desativar AutoRun
Comece por criar uma nova GPO com um nome adequado e entre no modo e edição, e no editor navegue até User Configuration/Policies/Administrative Templates/Windows Components/AutoPlay Policies.

Vamos configurar a opção Set the default behavior for AutoRun.

Aqui temos duas opções, desativar, dessa maneira nenhum conteúdo é executado automaticamente, mas o user é notificado da possibilidade e pode decidir o que fazer, ou habilitar e configurar para não executar nenhum tipo de comando AutoRun, e também permitir que um administrador altere essa configuração manualmente, aqui iremos ativar e configurar para que os comandos não sejam executados.
Depois de criada é só aplicar onde seja desejado.

Aqui temos a GPO aplicada no domínio inteiro, para simplificar.
Definir página inicial do IE
Comece por criar uma nova GPO com um nome apropriado e entrar no modo de edição.

Daqui navegue até User Configuration/Policies/Administrative Templates/Windows Components/Internet Explorer.

Vamos configurar a opção Disable changing home page settings.

Habilite a regra e defina o endereço da página inicial, clique em OK e feche o editor, depois disso aplique a GPO onde necessário, nesse caso será no domínio inteiro.

Já temos a GPO aplicada, agora vamos a testar.

Com isso temos a nossa GPO criada, aplicada e funcional, como já sabíamos, já que isso já foi feito anteriormente.
Prevenir a limpeza do histórico de navegação do Internet Explorer
Mais uma GPO que já foi feita no trabalho da UFCD 5113, página 148, vamos impedir a limpeza do histórico do Internet Explorer.
Crie uma nova GPO com um nome apropriado e entre no modo de edição.
Aqui temos duas opções, uma delas em Computer Configuration e a outra em User Configuration, as duas vão fazer a mesma coisa nesse contexto, use a que gostar mais.

Navegue até Computer Configuration(User Configuration)/Policies/Administrative Templates/Windows Components/Internet Explorer/Delete Browsing History, A opção a ser configurada é Prevent access to Delete Browsing History.


É só habilitar essa configuração, clicar em OK e fechar o editor, e aplicar a regra onde desejar, nesse caso será no domínio todo.

Com a GPO aplicada podemos agora testar para ver que está funcionando como deve ser.

E como era de se esperar, está funcionando corretamente.
Impedir a limpeza do histórico no Firefox
Para aplicar regras no Firefox é preciso primeiro instalar os templates de políticas administrativas da Mozilla e colocar esses templates em um local acessível, nesse link existem mais informações sobre esses templates e onde fazer o download.
O processo de instalação é exatamente igual ao que está descrito no trabalho da UFCD 5113, página 157, mas vamos repetir novamente aqui o procedimento.
Dentro do aquivo policy_templates_vX.X.zip que foi baixado existem duas pastas e mais alguns arquivos, as pastas são para os arquivos para Windows e Mac, iremos precisar apenas dos arquivos para Windows.

Essa pasta contém várias outras pastas, para diferentes idiomas, e mais dois arquivos de extenção .admx, iremos precisar desses dois arquivos mais a pasta en-US, já que é esse o idioma do Windows que estamos utilizando, caso esteja utilizando outro idioma, utilize a pasta adequada.
Os dois arquivos com a extensão .admx deverão ser copiados para a pasta C:\Windows\PolicyDefinitions da máquina onde temos o RSAT instalado, e os arquivos que estão dentro da pasta en-US para a pasta do mesmo nome que está dentro desse diretório para onde copiamos os arquivos .admx.

Arquivos .admx vão para essa pasta.

E .adml para essa.
E com isso já podemos criar regras para o Firefox, se abrirmos o Group Policy Management Editor veremos que já temos opções para configurar o Firefox.

Com isso já podemos começar a criação da nossa GPO para impedir a limpeza do histórico do Firefox, proceda criando uma nova GPO com um nome adequado, como já foi feito inúmeras vezes aqui e no trabalho da UFCD 5113, e entre no modo de edição.
Navegue até Computer Configuration(User Configuration)/Policies/Administrative Templates/Mozilla/Firefox e procure nas opções como bloquear a limpeza do histórico e depois de perder mais tempo do que deveria procurando e pesquisando, desista e entenda que essa opção não está disponível.
Página inicial do Chrome
O processo para criar GPOs para o Chrome é similar, também é preciso copiar os arquivos de configuração para que as GPOs possam ser criadas, nesse link você tem mais informações sobre as políticas de gestão do Chrome e onde baixar os arquivos necessários.
Iremos fazer o download do Bundle que inclui os arquivos das políticas e também os instaladores do Chrome.
Dentro do arquivo .zip deve haver pelo menos três pastas, uma com as configurações, uma com documentação e outra com os instaladores, mas um arquivo com informações sobre a versão, que podemos ignorar.

Extraia as três pastas para um local de fácil acesso e abra a pasta Configuration.

Dentro dessa pasta temos mais três pastas e alguns arquivos, apenas nos interessa a pasta admx, entre nela e veja que é similar à pasta de templates para Windows do Firefox, apenas com muito mais idiomas e alguns arquivos .admx a mais, o processo é exatamente o mesmo que foi para as políticas do Firefox, .admx vai em C:\Windows\PolicyDefinitions e .adml (que estão dentro da pasta do idioma correspondente) vão dentro da pasta do idioma do sistema.

E se abrirmos o Group Policy Management Editor veremos que agora temos disponíveis opções para o Chrome.
Crie uma nova GPO com um nome apropriado e entre no editor.

Navegue até User Configuration/Policies/Administrative Templates/Google/Google Chrome/Startup, Home page and New Tab page.

Abra a configuração Configure the home page URL.

Habilite a configuração e defina a URL da página e depois abra a configuração Use New Tab Page as homepage.

Desabilite essa configuração para garantir que a página das novas abas não seja definida como página inicial.
Agora abra a configuração URLs to open on startup.

Habilite essa configuração e e clique em Show.

Aqui coloque as URLs dos sites que deseja que sejam abertos automaticamente.
Feche e aplique a GPO no domínio.

Instalar o Chrome automaticamente
Não adianta nada ter a página inicial do Chrome definida por GPO sem ter o Chrome instalado.
Para que o Chrome possa ser instalado é preciso que o instalador esteja acessível para as máquinas remotas, para isso é preciso que ele esteja disponível em uma pasta partilhada na rede, aqui podemos criar uma nova partilha, da mesma maneira que fizemos com a pastilha para os papéis de parede, restringindo o acesso apenas à leitura, e também impedindo a listagem do diretório, exatamente como está configurada a partilha dos papéis de parede, como o processo é exatamente o mesmo, vou apenas usar aquela mesma partilha para poupar trabalho, mas em ambiente de produção convém criar partilhas separadas, também é importante não se esquecer de que as permissões apropriadas precisam ser configuradas, se a pasta e o seu conteúdo não tem permissões de execução, a instalação irá falhar, por isso é preciso primeiro alterar as permissões de execução dessa partilha para esse fim.
Na pasta onde extraímos o conteúdo do Bundle do Chrome tem os instaladores dentro da pasta Installers, copie o maior deles, com o nome de GoogleChromeStandaloneEnterprise64.msi para a partilha de onde ele será acessado, nesse caso será a partilha dos papéis de parede.

Agora vamos criar a nova GPO, novamente, crie uma GPO com um nome adequado e entre no modo de edição.

Navegue até User Configuration/Policies/Software Settings/Software installation.

No painel do lado direito clique com o botão direito e selecione New, Package.

Navegue até onde colocou o instalador e o selecione.

Selecione a opção Assigned e clique OK.

É possível de demore algum tempo até ele aparecer na lista, mas eventualmente irá aparecer.

Clique com o botão direito sobre o Google Chrome e depois em Properties.

Agora vá até a aba Deployment e selecione a opção Install this application at logon e abaixo Basic.

Agora é só aplicar a GPO onde necessário.

Aqui ela foi aplicada para o departamento de Formação.
E com isso já podemos testar as duas GPOs, a da página inicial e a da instalação do Chrome, para isso é só fazer login em um cliente com uma conta do departamento de Formação, tenha atenção que pode demorar algum tempo até o Chrome ser instalado, pode ser necessário reiniciar a máquina ou fazer login várias vezes até que a instalação seja feita.

Com o Chrome instalado vamos verificar se as configurações estão funcionais.

Assim que é aberto tenta abrir a página que foi configurada.

E nas configurações, com o Home button ativo, a home page está configurada e não pode ser alterada.
Configurar Screensaver
Novamente, como já foi feito e demonstrado no trabalho da UFCD 5113, página 163, vamos fazer, novamente, a configuração para que o screensaver esteja configurado e seja ativado em três minutos.
Comece por criar uma nova GPO com um nome apropriado e entrar no modo de edição e navegue até User Configuration/Policies/Administrative Templates/Control Panel/Personalization.

Daqui teremos que configurar quatro itens, Enable screen saver, por motivos óbvios, Password protect the screen saver, para que a máquina seja bloqueada quando o screen saver for ativado, Screen saver timeout para configurar o tempo de inatividade para que o screen saver seja ativado, e Force specific screen saver, para que um screen saver seja realmente ativado e a máquina não fique simplesmente na tela de bloqueio.

Comece por habilitar o screen saver.

Depois ative a configuração para proteger com senha.

O timeout é em segundos, 180 segundos para 3 minutos.

Aqui é preciso colocar o nome do arquivo do screen saver, eles estão localizados em C:\Windows\System32\ e tem a extenção scr, você pode os executar normalmente para ver como são.

Aqui temos as quatro configurações feitas.

Com a GPO aplicada aos grupos relevantes já podemos testar a configuração.

Aqui podemos ver que o screen saver está ativo, configurado para ativar em 3 minutos, irá bloquear a sessão automaticamente e não pode ser alterado.
Fazer com que apenas a opção de mudar de conta fique ativa com Ctrl+Alt+Del
Como já foi feito e demonstrado no trabalho da UFCD 5113, página 165, vamos fazer novamente, uma GPO para limitar as opções mostradas no menu da combinação de teclas Ctrl+Alt+Del.
Como é costume, comece por criar uma nova GPO de nome apropriado e entre no modo de edição.

As opções que vamos configurar estão em User Configuration/Policies/Administrative Templates/System/Ctrl+Alt+Del Options.

Aqui a única coisa que é preciso fazer é habilitar essas quatro configurações uma a uma.




Aqui podemos ver as quatro opções habilitadas e configuradas, agora é só aplicar nos grupos relevantes.

Com a GPO aplicada já podemos a testar.

E para a surpresa de ninguém, funciona como esperado, e como já foi demonstrado no trabalho anterior.
Esconder o drive C: para o grupo RH
E continuando com o tema de refazer o que já foi feito, vamos criar uma GPO que esconde a unidade C:\ do This PC, como visto no trabalho da UFCD 5113, página 165.
Crie uma nova GPO com o nome apropriado e entre no modo de edição.

Navegue até User Configuratio/Policies/Administrative Templates/Windows Components/File Explorer.

Habilite a configuração Hide these specified drives in My Computer e escolha a opção de restringir apenas o disco C.

Aplique onde necessário.

E podemos ver que está ativa, como esperado e demonstrado anteriormente.
Para as próximas GPOs é preciso primeiro instalar e configurar o CUPS no servidor, por isso é o que iremos fazer agora.
Instalar e configurar o serviço CUPS
Instalar o CUPS
Vamos começar por instalar o cups.
sudo apt install cups -y


Depois de instalado faça um backup do arquivo /etc/cups/cupsd.conf e abra o original.
Configurar o CUPS
Por volta da linha 16, onde temos as diretrizes de por onde o servidor irá aceitar conexões:
# Only listen for connections from the local machine. Listen localhost:631 Listen 10.59.141.254:631 Listen /run/cups/cups.sock
É preciso adicionar outra diretriz Listen apontando para o IP da do domínio.
A próxima configuração serve para indicar de qual rede o servidor irá aceitar conexões e quais users poderão acessar a interface web:
# Restrict access to the server... <Location /> Order allow,deny Allow from 10.59.140.0/23 AuthGroupName lpadmin AuthClass Group </Location>
Existem mais três locais que precisam ser alterados, e irão seguir o mesmo padrão:
# Restrict access to the admin pages... <Location /admin> Order allow,deny Allow from 10.59.140.0/23 AuthGroupName lpadmin AuthClass Group </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny Allow from 10.59.140.0/23 AuthGroupName lpadmin AuthClass Group </Location> # Restrict access to log files... <Location /admin/log> AuthType Default Require user @SYSTEM Order allow,deny Allow from 10.59.140.0/23 AuthGroupName lpadmin AuthClass Group </Location>
Isso fará com que o servidor aceite conexões apenas da rede 10.59.140.0/23 e que apenas users do grupo lpadmin possam se autenticar e acessar as configurações através da interface web.
O nome do grupo pode ser alterado para qualquer grupo existente no sistema e uma conta exclusiva para a administração do cups pode ser criada.
Criar conta exclusiva para a administração do CUPS

Essa conta foi criada com o comando useradd e não com o adduser porque o segundo é apenas um script que serve para executar o primeiro com os argumentos necessários para criar uma conta “completa”, e nesse caso não precisamos de uma conta dessas.
O argumento -M serve para que um homedir não seja criado, como essa conta não será, e nem deve usada para fazer login no sistema, não é necessário ter uma pasta na /home do sistema, o argumento -N serve para não criar um novo grupo com o nome dessa conta, como é padrão, o argumento -s /usr/sbin/nologin serve para definir o shell dessa conta como sendo o nologin, que como o nome indica, não permite login no sistema, e o argumento -g lpadmin serve para adicionar essa conta ao grupo lpadmin para que possa ser usada na administração do CUPS através da interface web.

Aqui podemos ver que essa conta não permite acesso ao sistema, dessa maneira reduzindo as chances de comprometer o sistema.
Adicionar impressoras através da interface Web
Agora vamos adicionar as impressoras, esse processo é apenas ilustrativo e vai ser diferente dependendo da impressora a ser utilizada.
Comece por acessar a interface web do CUPS através do IP do servidor na porta 631.

A autenticação é feita com a conta cupsadmin que criamos previamente.

Aqui vemos a página inicial da interface web.

Para adicionar uma nova impressora é preciso ir na aba Administration e clicar em Add Printer.

Esse passo vai ser diferente dependendo da impressora a ser usada e como ela está ligada ao servidor, seja diretamente ou através da rede, esses passos são meramente ilustrativos.


Dê um nome para a impressora, também pode dar uma descrição e colocar a sua localização, depois de preencher com as informações desejadas, selecione a opção Share This Printer e clique em Continue.

Novamente, vai depender da impressora a ser utilizada.


Selecione as configurações apropriadas e clique em Set Default Options.

E com isso a impressora foi adicionada com sucesso.

E aqui temos a página de configuração da impressora, agora é só repetir os passos para a segunda impressora.

E com isso temos a segunda impressora adicionada.
Configurar CUPS para a distribuição de Drivers
Agora precisamos alterar algumas configurações no arquivo /usr/local/samba/etc/smb.conf.
Na sessão [global] adicione as seguintes linhas:
printing = CUPS spoolss: architecture = Windows x64 rpc_daemon:spoolssd = fork rpc_server:spoolss = external rpc_daemon:spoolssd = fork
Depois disso, no final do arquivo vamos criar uma nova entrada para uma nova partilha:
[print$]
path = /opt/raid/printer_drivers
read only = no
acl_xattr:ignore system acls = yes
Depois disso execute os seguintes comandos:
sudo net rpc rights grant "ROTOLIP\Unix Admins" SePrintOperatorPrivilege -U "ROTOLIP\Administrator" sudo net rpc rights grant "BUILTIN\Administrators" SePrintOperatorPrivilege -U "ROTOLIP\Administrator"
Eles irão dar privilégios para fazer o upload e configurar os drivers das impressoras.
Agora crie a pasta /opt/raid/printer_drivers, que irá armazenar os drivers das impressoras, e mude o seu dono e grupo para root:”Unix Admins” e as permissões para 777.
Recarregue as configurações do Samba com o comando sudo smbcontrol all reload-config.
Depois disso precisamos alterar as permissões dessa partilha na máquina com o RSAT.

Abra as propriedades da partilha.

Abra a aba Security e clique em Advanced.

Coloque as permissões como na imagem acima.
Agora é preciso criar uma GPO para que os clientes confiem no servidor de impressão para a instalação dos drivers.
Crie uma nova GPO com um nome apropriado e entre no modo de edição.

Navegue até Computer Configuration/Policies/Administrative Templates/Printers, aqui vamos editar duas regras, Package Point and print – Aproved servers e Point and Print Restrictions.
Vamos começar pela primeira.

Habilite a configuração e clique em Show.

Coloque o FQDN do servidor, confirme e salve a configuração, e depois abra a segunda.

Habilite e a configure como a imagem acima.

Aplique a GPO no domínio todo.
Agora vamos fazer a gestão das impressoras, abra o Print Management.

Aqui vamos adicionar o servidor.

Clique com o botão direito em Print Servers e depois selecione Add/Remove Servers.

Coloque o hostname do servidor no campo Add servers e clique em Add to List.

Aqui vemos que o servidor foi adicionado com sucesso à lista.

Agora vamos adicionar os drivers da impressora que serão enviados para os clientes para a instalação, expanda a entrada do servidor que acabamos de adicionar e selecione Drivers.

Clique com o botão direito no campo da direita e depois em Add Driver.

Isso irá iniciar o Wizard para adicionar o driver da impressora, clique em Next.

Aqui você pode selecionar a arquitetura do driver que irá adicionar, nesse caso será apenas x64, clique em Next.

Clique em Have Disk.

Clique em Browse.

Aqui é preciso navegar até a localização dos drivers da impressora, os drivers a serem utilizados, e onde os encontrar, vai variar de fabricante para fabricante, depois de extrair os drivers para um local apropriado, navegue até onde eles foram extraídos e selecione o driver apropriado, depois clique em Open.

Selecione o driver e clique em Next.

Clique em Finish.

Agora podemos ver que o driver já está disponível, agora clique em Printers.

Clique com o botão direito sobre a impressora e depois em Properties.

Uma mensagem de erro irá aparecer, clique em No.

Agora abra a aba Advanced e selecione o driver que foi acabado de ser adicionado.

Clique em OK.

O nome da impressora é alterado automaticamente para o nome do driver, altere novamente para o nome anterior.

Se abrir as propriedades da impressora e abrir a aba Device Settings pode configurar as opções padrão da impressora.
E com isso terminamos de adicionar a impressora, agora é só repetir esses mesmos passos para a segunda impressora.

E com isso já temos as duas impressoras configuradas.
Criar GPOs para instalara as impressoras
Vamos agora criar as GPOs que irão instalar automaticamente as impressoras nas máquinas.
Comece por criar uma GPO com o nome apropriado, entre no modo de edição e navegue até User Configuration/Policies/Windows Settings/Deployed Printers.

Aqui iremos adicionar todas as impressoras que sejam necessárias serem instaladas automaticamente.

Clique com o botão direito do mouse no painel do lado direito e selecione Deploy Printer.

Clique em Browse.

Navegue até o local na rede onde as impressoras se encontram e selecione a impressora desejada.

Clique em Add.

Clique em OK.

Com isso já temos a impressora do departamento de Formação adicionada, agora é só fechar o editor e aplicar a GPO.

Com a GPO aplicada nas OUs apropriadas, agora é hora de verificar se a impressora está sendo instalada automaticamente.

E aqui podemos ver que foi instalada corretamente para um user do departamento de Formação.
Agora é só repetir os passos para criar a segunda GPO que irá instalar a outra impressora para o resto do domínio, e depois de a ter aplicado no domínio vamos fazer uma alteração para que não seja instalada para o departamento de Formação.

Com a GPO da impressora do domínio aplicada no domínio inteiro, ela também seria aplicada ao departamento de Formação, mas como já existe uma impressora exclusiva para esse departamento, iremos fazer com que essa GPO não se aplique a esse departamento, para isso selecione o link da GPO quando foi aplicada no domínio, abra a aba Delegation e clique em Add.

Selecione o grupo a ser excluído dessa GPO, nesse caso o grupo FormacaoGeral, e clique em OK.

Agora clique em Advanced.

Selecione na lista o grupo FormacaoGeral e nas permissões encontre a opção Apply group policy e selecione a opção Deny, depois clique em OK.

Irá aparecer um aviso, clique em Yes.

E podemos verificar que a impressora foi instalada com sucesso, enquanto a impressora do departamento de formação não foi instalada.

E aqui podemos ver que para uma conta do departamento de Formação, apenas a impressora desse departamento está disponível, com a impressora geral não estando instalada.