http://www.zago.eti.br/samba/smbmount-cl9.txt Tutorial com dicas e exemplos de comandos pro Linux acessar os compartilhamentos de estações windows. veja o FAQ sobre smbmount em: http://www.zago.eti.br/samba/smbmount.txt Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. Neste tutorial tem os passos pra configurar o Linux pra acessar um compartilhamento do win98, pra fazer com que o windows acesse o compartilhamento Linux, use o Samba, veja o tutorial: http://www.zago.eti.br/samba/samba-cl9.txt http://www.zago.eti.br/samba/samba.txt http://www.zago.eti.br/samba/samba-win2000-xp.txt veja mais FAQ sobre samba em: http://www.zago.eti.br/samba/ veja também: man smbmount ********************************** PREPARANDO: O Linux acessa normalmente partições FAT16 e FAT32, tanto pra leitura como escrita, também acessa partições NTFS mas a escrita nestas partições não ocorre de forma segura. O modulo do Kernel responsavel pela escrita em partições NTFS ainda é considerado experimental, vem com o aviso DANGEROUS, portando não é recomendavel que o Linux grave em partições NTFS, embora não tenha problema com leitura, algumas distros vem com modulo de escrita em NTFS desativado, pra ativa-lo precisa compilar o kernel ou carregar este modulo à parte, sempre é um trabalho a mais e segurança de menos. Sugestão: Instale o Windows sempre em FAT32, assim o Linux também poderá acessar tanto pra leitura e escrita sem problemas, todas as versões do windows tem a opção de instalar em FAT32. CL9 instalado com CD updates1 e perfil "estação de trabalho" Em outras distro, ou versão do Conectiva estes comandos devem ser adequados à sua instalação, caso não funcione no seu CL9 por ter feito uma instalação diferente, instale os pacotes conforme exemplo abaixo, eles não precisam ser iniciados, mas precisa dos pacotes instalados. Com perfil estação de trabalho temos este resultado: # rpm -qa | grep samba samba-2.2.8-27520U90_1cl samba-common-2.2.8-27520U90_1cl Pra acessar compartilhamentos windows, requer o pacote samba-clients, que não vem instalado no perfil "estação de trabalho" pra instalar, utilize o synaptic ou como root em um terminal, execute: apt-get install samba-clients ou via synaptic, procure por samba-clients. # rpm -qa | grep samba samba-2.2.8-27520U90_1cl samba-clients-2.2.8-27520U90_1cl samba-common-2.2.8-27520U90_1cl com o resultado acima acessará os compartilhamentos sem problemas. As anotações e dicas deste tutorial foram tiradas de duas maquinas em rede, uma rodando windows98 e outra o CL9. O CL9 instalado com perfil estação de trabalho e depois instalado o pacote: samba-clients. ESTAÇÃO WINDOWS 98 Neste micro com Windows98 compartilhando o HD nome da maquina windows é cont2 nome do compartilhamento é contabil2 ip da maquina com windows é 192.168.1.47 HD compartilhado como somente leitura e sem senha As maquinas respondem ao comando ping, portanto a configuração da rede está OK. Considerando a rede em perfeito funcionamento, os pacotes indicados acima devidamente instalados, eles não precisam ser iniciados nem requer configurações adicionais do samba, a configuração do servidor samba serve pra maquina windows acessar o Linux, que não é o proposito deste tutorial. ********************************** RESUMO: AMBIENTE DE REDE MODO GRÁFICO. Existem varias maneiras de acessar compartilhamentos windows, ao estilo ambiente de rede, prefiro o gerenciador de arquivos do KDE 3.1.1 (Konqueror), em outras versões ou distros, procure por LinNeighborhood ferramenta para montar diretórios, pesquise também sobre LISA. Linux acessar compartilhamento Windows em ambiente gráfico (embiente de rede) CL9 rodando KDE, click na casinha que fica na barra de menu para chamar o Konqueror, no campo de endereço no Konqueror, vem mais ou menos assim: file:/home/zago troue por: smb:/mygroup/ Neste exemplo smb:/mygroup/ troque o termo mygroup pelo nome do grupo de trabalho da sua rede Samba/windows para visualizar em ambiente de rede todas as maquinas que compartilham diretórios pra rede. Para acessar o compartilhamento direto use: smb://, ou smb:/// smb:// por exemplo: smb:/mygroup/cont2/contabil2 smb:/workgroup/ SEM SENHA Compartilhamento windows98 configurado _sem_ senha, qualquer usuário acessa via konqueror, não requer configurações adicionais, basta colocar no no campo de endereço no Konqueror: smb:/mygroup/cont2/contabil2 COM SENHA Compartilhamento windows98 configurado pra pedir senha, quando acessar o compartilhamento abre uma janela pra informar usuário e senha, informe usuário e senha validos pra acessar o compartilhamento. smb:/mygroup/cont2/contabil2 informe usuário e senha quando solicitado. ********************************** RESUMO: AMBIENTE TEXTO. Lembre de adaptar os comandos dos exemplos abaixo pra tua instalação. Os resultados de mount e smbmount são os mesmos, pra desmontar, faça com umount quando montar com mount e smbumount quando montar com smbmount. Acrescente em /etc/hosts o ip e nome da estação windows 192.168.1.47 cont2 Na maquina Linux crie o ponto de montagem, neste exemplo cont2 que é o mesmo nome da maquina windows, mkdir /mnt/nome-do-ponto-de-montagem: mkdir /mnt/cont2 para adicionar a maquina, neste caso o nome é o da maquina windows.. smbclient -L cont2 Acessando um compartilhamento _sem_ senha: #mount -t smbfs //nomedomicro/nomedocompartilhamento /pontodemontagem (qualquer um dos exemplos abaixo funcionam com o mesmo resultado) mount -t smbfs //cont2/contabil2 /mnt/cont2 /sbin/mount.smbfs //cont2/contabil2 /mnt/cont2 smbmount //cont2/contabil2 /mnt/cont2 Acessando um compartilhamento _com_ senha: mount -t smbfs //cont2/contabil2 /mnt/cont2 -o codepage=cp850,username=zago,password=popopo /sbin/mount.smbfs //cont2/contabil2 /mnt/cont2 -o codepage=cp850,username=zago,password=popopo smbmount //cont2/contabil2 /mnt/cont2 -o codepage=cp850,username=zago,password=popopo ********************************** MONTAGEM AUTOMATICA NO BOOT. Com um editor de texto, acrescente uma das linhas de comando abaixo no final de /etc/rc.d/rc.local mount -t smbfs //cont2/contabil2 /mnt/cont2 -o username=zago,password=popopo Pra visualizar os arquivos com acentuação correta, acrescente: codepage=cp850 pra ficar assim: mount -t smbfs //cont2/contabil2 /mnt/cont2 -o codepage=cp850,username=zago,password=popopo ou smbmount //cont2/contabil2 /mnt/cont2 -o codepage=cp850,username=zago,password=popopo DESMONTAR: A desmontagem é automatica quando desliga o micro, também pode desmontar a qualquer momento, pra desmontar utilize uma opções abaixo: quando montou com o comando mount ou /sbin/mount.smbfs, desmonte com: umount /mnt/cont2 quando montou com o comando smbmount, desmonte com: smbumount /mnt/cont2 Pra listar as maquinas windows compartilhando diretórios, utilize: findsmb veja também os resultados dos comandos: df du ls -la /mnt/cont2 ********************************** USUARIO COMUM MONTANDO COMPARTILHAMENTO. O uso de mount e smbmount são exclusivos do root, igualmente os pontos de montagem criado pelo root, para usuário comum utilizar estes comandos, o root tem que dar permissão, o mesmo ocorre com os pontos de montagem. Pra dar permissão a usuário comum montar compartilhamentos, como root execute: chmod +s /usr/bin/smbmnt chmod +s /usr/bin/smbumount Não altere a permissão do smbmount porque não funcionará, altere somente os indicados acima smbmnt e smbumount. Pra montar em /mnt/ é preciso ajustar as permissões do ponto de montagem, ou pra não alterar as permissões em /mnt, pode criar o ponto de montagem no home do usuário, deve ser criado pelo próprio usuário pra ele ser o dono dos arquivos. Por exemplo: o usuário zago, criar o ponto de montagem cont2 no seu home, basta o proprio usuário zago digitar: mkdir /home/zago/cont2 Pra montar, basta digitar: smbmount //cont2/contabil2 /home/zago/cont2 -o password=popopo Pra desmontar é preciso sair do ponto de montagem e não ter nenhum arquivo aberto ou uso no ponto de motagem, pra sair do ponto de montagem: cd ~ pra desmontar: smbumount /home/zago/cont2 ********************************** E X P L I C A N D O : findsmb lista as maquinas windows na rede, veja exemplo: # findsmb sh: line 1: /usr/bin/nmblookup: Arquivo ou diretório não encontrado IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION --------------------------------------------------------------------- Resultado: não listou nenhuma maquina da rede que compartilha diretórios: Após istalar o pacote samba-clients, passou a listar todas as maquinas da rede que compartilham diretórios, pra instalar samba-clients, execute: apt-get install samba-clients # findsmb IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION --------------------------------------------------------------------- 192.168.1.1 SERV *[MYGROUP] [Unix] [Samba 2.2.3a] 192.168.1.9 TESTE [MYGROUP] 192.168.1.47 CONT2 [MYGROUP] 192.168.1.52 ZAGO3 [MYGROUP] ---corta--- ********************************** ESTAÇÃO LINUX CL9 - INSTALADO COM PERFIL - ESTAÇÃO DE TRABALHO. coloquei em /etc/hosts o ip e nome da estação windows 192.168.1.47 cont2 Na maquina Linux criei o ponto de montagem cont2 em /mnt: mkdir /mnt/cont2 Ou em outro lugar, por exemplo no home do usuário, quando criado e montado pelo próprio usuário dentro do seu home, este terá todas as permissões. O root pode ajustar as permissões de acesso ao ponto de montagem, pode ser por usuário ou grupo, sobre isto, veja mais chown.txt e chmod.txt para adicionar a maquina. #smbclient -L cont2 # smbclient -L cont2 added interface ip=192.168.1.103 bcast=192.168.1.255 nmask=255.255.255.0 Password: Sharename Type Comment --------- ---- ------- CONTABIL2 Disk IPC$ IPC ComunicaÆo remota entre processos Server Comment --------- ------- Workgroup Master --------- ------- No compartilhamento sem senha, basta dar enter em Password: Ao verificar em /mnt/cont2 não montou o compartilhamento windows. Após istalar o pacote samba-clients, passou a montar com o mesmo comando acima, pra instalar execute: apt-get install samba-clients Após instalar o pacote samba-clients, executei o mesmo comando e obtive este resultado: # /sbin/mount.smbfs //cont2/contabil2 /mnt/cont2 INFO: Debug class all level = 1 (pid 2104 from pid 2104) Password: ao dar enter pra Password: e um ls em /mnt/cont2, listou os arquivos do compartilhamento samba: ls /mnt/cont2 Quando não souber o nome da maquina ou quiser saber quais são as maquinas que estão na rede compartilhando HD ou diretórios use findsmb. # findsmb Para montar um compartilhamento _sem_ senha. mount -t smbfs -o guest //cont2/contabil2 /mnt/cont2 # mount -t smbfs -o guest //cont2/contabil2 /mnt/cont2 mount: tipo de sistema de arquivos incorreto, opção inválida, superbloco inválido em //cont2/contabil2, ou número excessivo de sistemas de arquivos montados Após istalar o pacote samba-clients o mesmo comando passou a montar o compartilhamento. Para montar um compartilhamento _sem_ senha: #mount -t smbfs //nomedomicro/nomedocompartilhamento /pontodemontagem Utilize uma destas formas pra montar, todas funcionam. mount -t smbfs //cont2/contabil2 /mnt/cont2 /sbin/mount.smbfs //cont2/contabil2 /mnt/cont2 pra desmontar: # umount /mnt/cont2 ou # smbumount /mnt/cont2 Alterei as configurações do compartilhamento da maquina windows pra pedir senha, a senha definida foi popopo Para montar um compartilhamento _com_ senha. #/sbin/mount.smbfs //nomedomicro/nomedocompartilhamento /pontodemontagem -o username=nomedelogin,password=senha #/sbin/mount.smbfs //cont2/contabil2 /mnt/cont2 -o username=zago,password=popopo # /sbin/mount.smbfs //cont2/contabil2 /mnt/cont2 -o username=zago,password=popopo INFO: Debug class all level = 1 (pid 2183 from pid 2183) ou # mount -t smbfs //cont2/contabil2 /mnt/cont2 -o username=zago,password=popopo # mount -t smbfs //cont2/contabil2 /mnt/cont2 -o password=popopo Nos exemplos acima pode omitir "username=zago," ou utilizar qualquer nome pra zago em "username=zago," que vai funcionar também, porque pra acessar compartilhametno do win98 só é requerida a senha. para acessar o copartilhamento montado. #cd /mnt/samba # ls vejo os arquivos compartilhados da estação windows, tamto em ambiente texto como em ambiente gráfico. desmontar com # smbumount /mnt/cont2 MONTAGEM AUTOMATICA NO BOOT. acrescente a linha de comando no final de /etc/rc.d/rc.local mount -t smbfs //cont2/contabil2 /mnt/cont2 -o username=zago,password=popopo Pra visualizar os arquivos com acentuação correta, acrescente: codepage=cp850 pra ficar assim: mount -t smbfs //cont2/contabil2 /mnt/cont2 -o codepage=cp850,username=zago,password=popopo Ligue primeiro a estação windows, depois ligue a estação Linux que vai montar o compartilhamento no boot. Neste processo o dono dos arquivos é o root, os demais usuários tem acesso ao compartilhamento somente como leitura. Ajuda? # man smbmount Se o sistema de arquivo não for reconhecido adcione smbfs assim: # modprobe smbfs Pra trabalhar em ambiente texto, estes comandos podem ser colocados em script, pricipalmente pra montar varias maquinas pra backup. Na minha rede mantenho um texto com todas as linhas de comando completas, com senha e tudo, quando preciso acessar uma maquina windows da rede, abro 3 terminais, um pra acessar a maquina remota onde tem arquivo de comandos e copiar as linhas de comando, outro pra colar os comandos e acessar a outra maquina remota e o terceiro pra comandos locais. Em ambiente gráfico utilizo o Konqueror. Antonio Francisco Zago zagolinux@uol.com.br ******************************************************** Veja mais em: http://www.zago.eti.br/samba/smbmount.txt São copias de algumas mensagens com respostas esclarecedoras que circulou na lista Linux-BR, também contribuições que recebi diretamente do autor, de outras listas ou foruns, mande também a sua contribuição, pra este FAQ, envie dica, passo a passo como solucionou um problema, tutorial, artigo e etc.. envie pra zagolinux@uol.com.br mencionando no e-mail "pro FAQ". ******************************************************** ********************************** ********************************** **********************************