Como você adicionaria um compartilhamento ao smb.conf através de um script?

5

Gostaria de adicionar um compartilhamento a um arquivo smb.conf. Meu script atual apenas acrescenta ao final do arquivo, mas isso não é o ideal. Eu prefiro ter algo que irá adicionar um novo compartilhamento, se ele não existir, e substituí-lo se isso acontecer.

No momento, estou roteirizando isso em uma distro do CentOS 7, mas gostaria idealmente de algo que funcionasse em distros, embora isso não seja um requisito.

Além disso, estou usando o bash para fazer isso porque o script é executado antes que outros pacotes sejam adicionados ao sistema. O script usa yum para instalar os pacotes samba e, em seguida, deve configurá-lo e adicionar compartilhamentos.

    
por Benjamin Peikes 05.12.2014 / 21:51

1 resposta

4

Para ajustar-se às práticas recomendadas do sysadmin moderno, convém adicionar suas configurações como arquivos individuais em /etc/smb/smb.d e, em seguida, referenciá-las com um include . Infelizmente, o samba não suporta curinga include s, então você precisa adicionar algo como:

include = /etc/smb/includes.conf

no seu smb.conf e, em seguida, gere o includes.conf com algo como:

ls /etc/smb/smb.d/* | sed -e 's/^/include = /' > /etc/smb/includes.conf

Para um pouco mais de contexto:

chicks@silver 23:57:23 smb !531 $ ls smb.d a.conf c.conf e.conf chicks@silver 23:57:29 smb !532 $ ls /etc/smb/smb.d/* | sed -e 's/^/include = /' > /etc/smb/includes.conf chicks@silver 23:57:40 smb !533 $ cat includes.conf include = /etc/smb/smb.d/a.conf include = /etc/smb/smb.d/c.conf include = /etc/smb/smb.d/e.conf

Agora você pode colocar configurações adicionais do samba em /etc/smb/smb.d , gerar includes.conf e reiniciar o samba, e a vida é boa.

    
por 06.12.2014 / 08:59