
É possível usar o include = /somepath/%u.smb.conf
na global
seção para chamar um script /somepath/cb0.smb.conf
se o usuário cb0
se conectar ao servidor samba.
Infelizmente isso não funciona para mim porque testparm
sempre me dá
Can't find include file /somepath/.smb.conf
Quando me conecto ao servidor posso inserir um nome de usuário e passar, mas ele sempre rejeita a conexão.
Estou usando o Samba versão 3.2.5
Como posso carregar um script de usuário personalizado dependendo do usuário que está se conectando?
Responder1
Você está fazendo isso corretamente! No entanto, testparm
simplesmente não possui um nome de usuário para testar.
Responder2
MÉTODO 1. Se você não consegue fazer o samba fazer isso, instaleFail2Ban- um conjunto de monitoramento e segurança de arquivos de log (pacotes disponíveis na maioria dos sistemas de gerenciamento de software de distribuições Linux) - e então configure o Fail2Ban para observar o log do samba para as linhas de login, defina o número de linhas a serem detectadas como 1 e defina a ação como um script que fará o que você quiser no login. Para fazer tudo isso, você precisará editar os arquivos em /etc/fail2ban e estar familiarizado com as expressões regulares e os arquivos de log que você precisa observar.
Isso não será tão limpo quanto um script integrado ao samba. Por exemplo, provavelmente não estará sincronizado com o momento exato do login do usuário.
MÉTODO 2. Novamente, não tão limpo quanto gostaríamos. Configure seu samba para gerar um arquivo de log para cada conexão. Crie diretórios chamados "não processados" e "processados" e configure o samba para despejar o arquivo de log por conexão no diretório "não processado". Escreva um cron job ou um script de loop (durma 1 ou 2 segundos entre as iterações, talvez) para percorrer os arquivos no diretório não processado e fazer o que for necessário e, em seguida, transferi-los para o diretório processado.
Possivelmente, se você descrever exatamente o que deseja fazer com mais detalhes, outras pessoas poderão ajudá-lo.