Mostrando postagens com marcador Samba. Mostrar todas as postagens
Mostrando postagens com marcador Samba. Mostrar todas as postagens

terça-feira, 18 de maio de 2010

Configurando o Samba para integração Windows/Linux no Ubuntu 10.04 LTS Server

Este procedimento foi executado em uma máquina virtual configurada sobre o Windows 7. O software de virtualização utilizado foi o VMWare Workstation. O Samba é um componente que permite a integração entre o Windows e o Linux (mais em http://www.samba.org/). No final da instalação do Ubuntu 10.04 LTS Server são oferecidos diversos serviços adicionais que podem ser instalados (ex. LAMP, DNS, etc) e um destes é o Samba.

Caso não tenha selecionado a sua inclusão durante a instalação do sistema operacional, é possível instalar o pacote através do aptitude (Gerenciador de pacotes do Ubuntu). Para instalar o samba e os componentes necessários devemos executar o seguinte comando:

sudo apt-get install samba

Para configurar o serviço, primeiramente necessitamos pará-lo, logo, Ubuntu 10.04 utilizamos o comando:

sudo service smbd stop

Enquanto que nas versões anteriores utilizávamos o comando:
sudo /etc/init.d/samba stop

Agora que já instalamos os pacotes necessários, precisamos começar a configuração do Samba. A configuração é feita no arquivo smb.conf, porém, devido a possibilidade de cometer algum erro, primeiramente efetuaremos um backup do arquivo existente (default):

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.template

Então efetuaremos um comando touch para alterar a data de criação/modificação do arquivo que será alterado (o comando touch cria um arquivo caso este não exista ou altera a data de criação/modificação caso o mesmo já exista):

sudo touch /etc/samba/smb.conf

O passo anterior não é obrigatório porém modifica as propriedades do arquivo que iremos alterar e facilita a distinção do mesmo. Agora efetuaremos as alterações necessárias para que a integração funcione:

sudo pico /etc/samba/smb.conf

Abaixo está a configuração que deve ser inserida no arquivo smb.conf:

[global]
; Configurações gerais do servidor
netbios name = NOMEDAMAQUINALINUX
server string =
workgroup = WORKGROUPDOWINDOWS
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

passdb backend = tdbsam
security = user
null passwords = true
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast

; defina como yes caso sua máquina windows possua um IP fixo e no para máquinas
; com IP dinâmico.
wins support = yes

printing = CUPS
printcap name = CUPS

syslog = 1
syslog only = yes

; NOTE: Caso você necessite de acesso aos diretórios home do usuário descomente
; as linhas abaixo e configure de acordo com a sua necessidade
;[homes]
;valid users = %S
;create mode = 0600
;directory mode = 0755
;browseable = no
;read only = no
;veto files = /*.{*}/.*/mail/bin/

; NOTE: É necessário configurar caso você execute o samba em um controlador de
; domínio primário.
; Não cobrimos configuração de controlador de domínio primário aqui.
;[netlogon]
;path = /var/lib/samba/netlogon
;admin users = Administrator
;valid users = %U
;read only = no

; NOTE: É necessário configurar caso você execute o samba em um controlador de
; domínio primário.
; Não cobrimos configuração de controlador de domínio primário aqui.
;[Profiles]
;path = /var/lib/samba/profiles
;valid users = %U
;create mode = 0600
;directory mode = 0700
;writeable = yes
;browseable = no

; NOTE: Aqui configuramos um local para construir repositório de drivers de
; impressora para o windows. Não foi coberto aqui.
[print$]
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = root
create mask = 0664
directory mask = 0775

[printers]
path = /tmp
printable = yes
guest ok = yes
browseable = no

; Descomente as linhas abaixo caso precise compartilhar o CD/DVD-ROM
;[DVD-ROM Drive]
;path = /media/cdrom
;browseable = yes
;read only = yes
;guest ok = yes

[MyFiles]
path = /media/samba/
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
force user = NOMEDEUSUARIOWINDOWS
force group = NOMEDEUSUARIOWINDOWS


Nas configurações demonstrada acima existem alguns valores que devem ser substituídos para a sua necessidade. Os valores são:

NOMEDAMAQUINALINUX = Nome da máquina windows envolvida na configuração. Pode ser obtido clicando com o botão direito sobre o ícone "Meu Computador", selecionando "Propriedades" e verificando o "Nome da Máquina".
WORKGROUPDOWINDOWS = para encontrar o valor a ser inserido no lugar deste texto devemos seguir o mesmo procedimento mencionado acima, porém desta vez verificando o item "Grupo de Trabalho".
NOMEDEUSUARIOWINDOWS = Nome do usuário utilizado para entrar no windows. Pode ser verificado navegando em "Painel de Controle", "Contas de Usuários" e então "Modificar Sua Foto". Na parte superior da janela será exibido seu nome de usuário.

Após finalizarmos a criação do arquivo acima precisamos criar o diretório a ser compartilhado e alterar suas permissões:

sudo mkdir /media/samba
sudo chmod 0777 /media/samba

Agora devemos inicializar o serviço novamente utilizando o seguinte comando no Ubuntu 10.04 LTS Server:

sudo service smbd start

Ou o seguinte comando em versões anteriores:

sudo /etc/init.d/samba start

Nosso serviço está em execução, porém é necessário inserir e habilitar um usuário para autenticação do windows no nosso servidor linux. Esse procedimento é executado da seguinte forma:

sudo useradd -s /bin/true NOMEDEUSUARIOWINDOWS
sudo smbpasswd -L -a NOMEDEUSUARIOWINDOWS
sudo smbpasswd -L -e NOMEDEUSUARIOWINDOWS


Finalizamos a configuração do Samba no nosso servidor e para efetuar um teste retornamos ao Windows e clicamos em "Iniciar", Selecionamos "Programas", "Acessórios" e então "Executar" ou pressionamos o atalho "Win + r". Na caixa que será aberta digitaremos o seguinte comando caso a configuração de wins tenha sido definida como "yes" (Máquinas com IP fixo):

\\NOMEDAMAQUINALINUX\MyFiles

ou o seguinte comando caso wins tenha sido definida como "no" (Máquinas com IP dinâmico):

\\IPDAMAQUINALINUX\MyFiles

Para pegar o ip da máquina linux basta acessar o servidor e digitar o seguinte comando em um terminal:

ifconfig

Agora sua máquina Windows consegue acessar um diretório do servidor Linux e esperamos que isso facilite sua transferência de arquivos entre um servidor de desenvolvimento ou uma máquina virtual. Lembramos que não é seguro liberar compartilhamento de pastas em servidores e este procedimento deve ser executado com parsimônia. Caso queira aumentar um pouco a segurança do compartilhamento é possível definir as interfaces de rede através das quais o compartilhamento pode ser acessado inserindo a seguinte linha no smb.conf:

[global]
...
interfaces = lo, eth0 ; apenas acesso local ou através da interface eth0
; que normalmente é a interface para RJ45.
bind interfaces = true;

Finalizamos assim a configuração do Samba no Ubuntu 10.04 LTS Server e estamos prontos para acessar a pasta e transferir arquivos entre nossa máquina Windows e Linux.

Referência:
http://ubuntuforums.org/showthread.php?t=202605