A configuração do Samba, nua e crua


Eu tenho dois computadores: um Linux e um Windows que estão inseridos em uma rede local (da sala e do prédio) com diversos outros computadores.
Usando o samba, estou compartilhando um diretório e uma impressora do Linux com o Windows. Não quero que nenhum outro computador da rede local tenha acesso via samba ao meu Linux. Também liberei o acesso do meu Windows para o meu Linux sem senha. O critério usado para isso foi o endereço IP; ou seja, somente o Windows com aquele IP tem acesso ao meu Linux.
Como fazer isso?
Aqui vai a resposta de forma curta e grossa. Para explicações sobre teoria e uso do samba veja links em:
http://www.pcs.usp.br/~jkinoshi/bs/c000313.html .
Basicamente, existem apenas dois passos:
1) disparar smbd e nmbd e
2) configurar o que o Linux vai compartilhar através do swat.
Redigi a dica de hoje sem se preocupar em fazer uma explicação para os recém-chegados ao Linux. Se tiver dúvida, consulte um guru.


PASSO 1: disparar smbd e nmbd

1. Em http://www.oreilly.com/catalog/samba/chapter/book/ch02_05.html está explicado como disparar os deamons smbd e nmbd do samba. Eu fiz o seguinte, disparei através do inetd, colocando as linhas abaixo em /etc/inetd.conf . smbd e nmbd são os deamons que vão cuidar da comunicação via SMB na rede local.

netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

2. Você vai ainda querer configurar o samba de forma gráfica. Para isso, descomente ou insira a linha abaixo em /etc/inetd.con :

swat stream tcp nowait.400 root /usr/sbin/swat swat

Verifique em /etc/services a presença das linhas abaixo em /etc/services (já veio no RH6.0):

netbios-ssn 139/tcp
netbios-ns 137/udp
swat 901/tcp # Add swat service used via inetd

3. redispare o inetd:

kill -1 #processo_inetd



PASSO 2: configurar o que vai ser compartilhado.

4. A essa altura só falta configurar o que você quer compatilhar de dentro do seu Linux. Para isso, abra o Netscape na seguinte URL:
localhost:901
digite sua senha e password (sugiro que configure como root).

Navegue e compartilhe diretório e impressora.

Cuidado: a impressora local é disparada pelo comando:
lpr -r -h -P %p %s

Na configuração default o comando utilizado era o "lp" e não o lpr. A linha acima está descrita no file:/usr/doc/HOWTO/SMB-HOWTO .

Ao compartilhar um arquivo entre no Advance options e veja que lá também tem "hosts allow" e "hosts deny". Recomendo fortemente que você coloque os IPs de acordo nestas opções e não confie nos arquivos /etc/hosts.allow e /etc/hosts.deny. Comigo aconteceu de um diretório ficar compartilhado para diversas máquinas porque confiei no /etc/hosts.allow e /etc/hosts.deny .

5. Para você liberar os recursos somente para determinados computadores de acordo com o IP basta alterar /etc/hosts.allow e /etc/hosts.deny . (obs: isto teoricamente. Na prática parece que o próprio samba está gerenciando isso - como o apache. Ou seja, na prática não vejo utilidade em colocar a chamada de smbd e nmbd em inetd.conf).



Para finalizar, retire o serviço do swat alterando inetd.conf e restartando o inetd . Isso não é realmente necessário, mas é bom fazer por medida de segurança contra invasões; quanto menos serviços abertos, mais seguro é.


Agradecimento: ao Roberto Greiner pela configuração inicial do samba e diversas dicas de instalação.




Para assinar ou abandonar o ViaLinuxis: http://www.pcs.usp.br/~jkinoshi/bs/boletim.html
colocado em: 3 - 5 - 00

^JC