terça-feira, 29 de janeiro de 2008

Configurando Samba no Ubuntu

Todos sabem que a tarefa de compartilhar arquivos através do samba é muito fácil no kde já que ele possue muitas configurações que facilitam este trabalho. Entretanto, no gnome, a ferramenta nativa shares-admin não é tão intuitiva e acaba exigindo configuração por comandos para poder compartilhar arquivos sem autenticação. Nos comentários deste bug tem vários relatos a respeito do que estou falando. Eu mesmo encontrei um erro. Quando uso o shares-admin a opção browseable é erroneamente definida como browsable. Enquanto não melhoram esta ferramenta, encontrei um ótimo artigo para configurar o samba.

"Antes de começar verifique se sua rede está OK. Para ter certeza, abra um Terminal (Acesse menu -> Aplicações -> Acessórios -> Terminal) e efetue o comando ping (Ex. ping 192.168.1.20). Este ip pode ser da máquina que você pretende acessar pela rede. Se o ping estiver respondendo, quer dizer que está tudo ok. Caso contrário, verifique as definições de IP, mascara, cabeamento, etc...

O SaMBa é o sistema responśavel pela comunicação entre máquinas Unix (Linux) e Windows, usando protocolo TCP/IP.
Quando se fala em servidores de arquivos em rede heterogêneas, na grande maioria dos casos o SaMBa será utilizado, pois ele permite compartilhamento de arquivos, diretório e impresoras, com ou sem controle de acesso (autenticação).

Bom... vamos ao que interessa. Neste tutorial irei explicar como configurar o samba no Ubuntu.

Abra um terminal. (menu -> Aplicações -> Acessórios -> Terminal)

Primeiramente devemos baixar o pacote samba.
$ sudo apt-get install samba

Depois de concluído o download/ instalação do pacote via APT, o sistema irá criar o arquivo smb.conf dentro da pasta "/etc/samba/". Este é responsável pela configuração do Samba.

Antes de mais nada, vamos fazer um back-up do arquivo:
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp

Particularmente gosto do VI para editar os arquivos .conf, mas use um editor de sua preferência.
Para quem quiser usar o VI, execute o comando para editá-lo:
$ sudo vi /etc/samba/smb.conf

Comentarei somente os paramentros do arquivo smb.conf que precisaram ser alterados.

Em [global]

#nome do grupo de trabalho
workgroup = casa

#Como a máquina Linux irá aparecer na rede Windows

netbios name = servidor (está linha pode ser adicionada a baixo do workgroup)

####### Authentication #######
#Modo de acesso aos arquivos do Linux
security = "share" ou "user" (caso exista, remova o ; que está no início desta linha)
#share = para NÃO exigir autenticação
#user = para exigir autenticação
ex: security = user

Agora adicione estas linhas no final do arquivo:
#nome do compartilhamento
[arquivos]

# descrição do compartilhamento
comment = meus arquivos

# caminho da pasta, no Linux, que será compartilhada
path = /media/hdb5 #(Informe o caminho da pasta que você que quer compartilhar, pode ser /home/voce)

#se todos os compartilhamentos poderão ser acessados por todos os usuários
public = yes

# se o compartilhamento será visivel ou oculto na rede (yes para visível)
browseable = yes

# se permitirá escrita
writable = yes

# somente leitura
read only = no

# define a mascara em que os arquivos serão criados
create mask = 0700 #(terão a permissão rwx somente para o root)

# define a mascara em que os diretórios serão criados
directory mask = 0700

Salve o arquivo de configuração, e execute este comando para reiniciar o samba
$ sudo /etc/init.d/samba restart



Caso tenha colocado security = user, no momento que for acessar por uma máquina Windows será exibido uma tela de login e senha. Para cadastrar esta senha no linux execute os seguintes comandos.
Primeiramente adiciona na lista de usuarios do Linux

este comando adiciona usuario teste na lista de usuários do Linux
$ sudo adduser teste

este comando adiciona o usuario na lista de usuários do Samba
$ sudo smbpasswd -a teste

Com esta configuração do Samba no Ubuntu, não tem erro...!!!"

Fonte: Sidnei S. Alves sydhnney@4newbies.com.br
http://www.4newbies.com.br/?artigo&ver=62

A minha configuração ficou assim:

[global]
workgroup =JEFFERSON
netbios name = LINUX
server string = SERVIDOR SAMBA
security = share

[Dicas]
comment = Minhas_Dicas
path = /home/jefferson/Dicas
read only = no
public = yes
writable = yes
create mask = 0777
directory mask = 0777
browseable = yes

Também dei permissão de escrita, leitura e execução recursiva para o diretório compartilhado home/jefferson/Dicas para outros usuários com o comando:

$ sudo chmod -R o+rwx /home/jefferson/Dicas

Desta forma, não é exigida autenticação e qualquer pessoa pode acessar o diretório e escrever nele.

3 comentários:

Sergio disse...

Seu artigo é bastante objetivo. Detesto erros de compartilhamento, uma rede tem que ser antes de tudo simples, ao menos quando se trata de uma rede de pequeno porte. Valeu!

Anônimo disse...

Aprendi muito

Unknown disse...

Mais e ai, como eu faço para poder compartilhar ele no windows ele já esta configurado o samba, mais no Windows eu preciso fazer o que?