[Script] Resara Server auto ajuste no conf do Samba4
Enviado: 30 Jun 2013 20:56
Em um cliente que utiliza o Resara tive uma demanda, como sabemos o conf do Samba4 do Resara é reescrito após alguma atualização feita nos compartilhamentos através da console de gerenciamento remoto então fica impossivel manter uma alteração permanente no conf com esta situação. Porém, podemos contornar utilizando um script para verificar se o parametro que precisamos esta no conf ou não, se encontra não altera nada, se não encontra insere o parametro necessário e reinicia o Samba4 para aplicar a alteração. O script é de simples compreensão, mas se ficar com alguma dúvida pode perguntar a vontade. A minha necessidade foi ter o parametro unix extensions = yes sempre inserido no conf do Samba4 por questões de compatibilidade com o MAC OSX. Segue código da "manobra" 
A dica do script também é válida para o Zentyal, pois ele também não "segura" as personalizações feitas diretamente no arquivo.
E lógico, você pode personalizar o que vai ser inserido.
Com o script em mãos, agende para executar a cada 5 ou 10 minutos em seu crontab em caso de regravação do Resara ou do Zentyal, o script entra em ação na próxima execução do Cron.
Não esqueça de permissionar 
Bom proveito !

Código: Selecionar todos
##########################################################################################################################################
#!/bin/sh
# Script para auto ajuste do conf do Samba
# Lê o arquivo do Samba e procura o parametro unix extensions, se não encontra insere o texto e reinicia o serviço
# Ajuste a linha server string = com o hostname do seu servidor para colocar em produção
# Por Marcelo Leães - [email protected]
###########################################################################################################################################
if grep "unix extensions" /usr/local/samba/etc/smb.conf > /dev/null; then
exit 0
fi
sed 's/server string = FILESERVER.*/& \n unix extensions = yes/' /usr/local/samba/etc/smb.conf > /usr/local/samba/etc/smb.conf.temp
cp /usr/local/samba/etc/smb.conf.temp /usr/local/samba/etc/smb.conf
/etc/init.d/samba4 start
exit 0
E lógico, você pode personalizar o que vai ser inserido.
Com o script em mãos, agende para executar a cada 5 ou 10 minutos em seu crontab em caso de regravação do Resara ou do Zentyal, o script entra em ação na próxima execução do Cron.
Código: Selecionar todos
*/5 * * * * /home/meuscriptdejuste.sh

Bom proveito !