na verdade, o samba já gera logs por padrão. Mas podemos ajustar parâmetros dentro de smb.conf para refinar a gravação desses eventos de acordo com a necessidade.
Em um servidor Samba, você pode usar o log para gravar arquivos de log detalhados para localizar e depurar problemas ou para monitorar eventos, como usuários se conectando a um compartilhamento. Definir um nível de log permite controlar a quantidade de dados registrados.
Definindo o Nome do Arquivo de Log do Samba
Obs.: O smb.conf poderá está dentro de /etc/samba/ou em /usr/local/samba/var/ ou outros locais. Isso dependerá muito do tipo de instalação que você fez.
O Samba registra eventos no arquivo definido no parâmetro log file dentro do arquivo smb.conf. Você pode definir esse parâmetro como um nome de arquivo estático para registrar todos os eventos em um arquivo ou pode usar variáveis para criar arquivos de log individuais. Por exemplo, para criar arquivos de log para cada pc conectado(host) na pasta /var/log/samba/ podemos digitar assim dentro de smb.conf:
log file = /var/log/samba/%m.log
O %m será substituído pelo nome do pc conectado. Na verdade, será criado um arquivo com o seu nome NetBios dentro de /var/log/samba/
Feita a alteração acima dentro de smb.conf bastará executar o comando abaixo para aplicar
# smbcontrol all reload-config
obs.: smbcontrol poderá está dentro de /usr/local/samba/bin. Então para executá-lo faça: /usr/local/samba/bin/smbcontrol all reload-config
Definindo o Tamanho Máximo do Arquivo de Log do Samba
Para controlar o tamanho máximo dos arquivos de log do Samba, digite dentro de smb.conf max log size seguido de um tamanho em KB. Exemplo, para definir o tamanho máximo do log para 10 MB:
max log size = 10000
Se o tamanho exceder o valor definido, o Samba anexa .old ao nome do arquivo de log e grava novas entradas de log em um novo arquivo.
Mais uma vez, para aplicar a alteração execute:
# smbcontrol all reload-config
Definindo o Nível do Log
Usando as configurações padrão, o log está desabilitado. Para ativar o registro, defina o parâmetro log level na seção [global] do arquivo smb.conf.
log level = 1
Para aplicar execute
# smbcontrol all reload-config
Explicando melhor o significado dos níveis(levels) dos logs, veja essa tabela,
Nível do Log(Log Level) | Prioridade do Syslog ou Rsyslog |
---|---|
0 | LOG_ERR |
1 | LOG_WARNING |
2 | LOG_NOTICE |
3 | LOG_INFO |
4 and above | LOG_DEBUG |
Definindo níveis de Log Individuais para Depuração
Em determinadas situações, por exemplo, para depurar problemas de autenticação, você precisa definir um nível de log mais alto. No entanto, definir um nível de log mais alto faz com que o Samba registre todos os eventos no nível mais alto, o que pode resultar em arquivos de log grandes. Então, aqui vale apenas para casos específicos.
O Samba permite definir níveis de log individuais para determinadas classes de depuração, enquanto registra todos os outros eventos em um nível diferente. Por exemplo, para definir o nível de log padrão como 1 e registrar a autenticação e os eventos relacionados ao Winbind no nível de log 5:
log level = 1 auth:5 winbind:5
para aplicar execute:
smbcontrol all reload-config
Tabela Resumo
Veja a tabela contendo um resumo do que vimos acima,
Opção | Parâmetros | Função | Padrão | Escopo |
---|---|---|---|---|
log file | string (nome de arquivo totalmente qualificado) | Define o nome e a localização do arquivo de log que o Samba deve usar. Usa variáveis padrão. | Especificado no makefile do Samba | Global |
log level (debug level) | numérico (0-10) | Define a quantidade de mensagens de log/depuração que são enviadas para o arquivo de log. 0 é nenhum, 3 é considerável. | 1 | Global |
max log size | numérico (tamanho em KB) | Define o tamanho máximo do arquivo de log. Depois que o log exceder esse tamanho, o arquivo será renomeado para .bak e um novo arquivo de log será iniciado. | 5000 | Global |
debug timestamp (timestamp logs) | boleano | Se não, não marca os logs, tornando-os mais fáceis de ler durante a depuração pesada. | yes | Global |
syslog | numérico (0-10) | Define o nível de mensagens enviadas ao syslog . Esses níveis abaixo syslog level serão enviados para o logger do sistema. | 1 | Global |
syslog only | boleano | Se sim, usa syslog inteiramente e não envia saída para os arquivos de log padrão do Samba. | no | Global |
Fonte: esse artigo é baseado no conteúdo de samba.org.
Comments on “Samba: Configurando smb.conf para Gerar Logs”