SAMBA
Hoje vamos instalar e configurar um Servidor de Arquivo no Linux, apenas usando a opção de compartilhamento com um pouco de segurança usando um usuario para conexão OK.
A maior parte das configurações do Samba, incluindo as configurações gerais do servidor, impressoras e todos os compartilhamentos, é feita em um único arquivo de configuração, o “/etc/samba/smb.conf”.
O formato do arquivo de configuração do Samba é bastante simples e por isso vamos edita-lo e modificar alguns parametros para o nosso servidor de Arquivos certo??. Ao instalar o Samba, é criado um arquivo de configuração de exemplo, com vários comentários.
Bom vamos instalar então o samba certo para isso execute o comando abaixo:
[root@fileserver ~]# yum install samba
Após ter instalado o pacote do samba juntamente com suas dependencias vamos colocar para subir com o sistema OK?? então execute o comando abaixo:
[root@fileserver ~]# chkconfig smb on
Vamos criar uma pasta para futuramente criarmos o compartilhamento certo?
[root@fileserver ~]# mkdir -p /dados/backup
Vamos então as explicações sobre a configuração do Samba, agora editando diretamente o arquivo /etc/samba/smb.conf e explorando com maior profundidade as opções disponíveis. Vamos começar com um exemplo simples, onde temos um único compartilhamento para o nosso teste:
Vamos modificar e criar alguns parametros conforme abaixo:
[global]
netbios name = DEJANO
workgroup = INFORMATICA
[backup]
path = /dados/backup
comment = File Server arquivos Linux/Microsoft
Como você pode ver, o arquivo é dividido em seções. A primeira é sempre a seção “[global]”, que contém as opções gerais do servidor. Por enquanto, definimos apenas o nome do servidor (netbios name=DEJANO) e o nome do grupo de trabalho (workgroup=INFORMATICA), que seria o mínimo necessário para colocar o servidor na rede.
Sempre que alterar manualmente o smb.conf e quiser verificar se as configurações estão corretas, rode o comando testparm. Ele funciona como uma espécie de debug, indicando erros grosseiros no arquivo e informando o papel do servidor na rede:
[root@fileserver ~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section “[printers]”
Processing section “[backup]”
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
As alterações no arquivo são lidas periodicamente pelo Samba (o default são 3 minutos) e aplicadas automaticamente. Isso permite que as mudanças de configuração sejam aplicadas de forma suave, sem prejudicar o acesso dos usuários, o que é importante em um ambiente de produção. Para fazer com que as alterações entrem em vigor imediatamente, reinicie o serviço do Samba, como em:
[root@fileserver ~]# /etc/init.d/samba restart
Bom pessoal até aqui super tranquilo nada de mas se vc fou em uma maquina Microsoft e digitar o 192.168.0.xxx <ip do servidor linux> ele vai lhe mostrar o compartilhamento Backup e as opções de impressora OK.
Ajustando as permissões de acesso
Com esta configuração, os clientes conseguem visualizar os arquivos da pasta normalmente, mas ainda não conseguem gravar nos arquivos. Ao tentar salvar alguma coisa na pasta, você recebe uma mensagem de acesso negado.
Isso acontece por dois motivos. O primeiro é que o default do Samba é compartilhar com permissão apenas para leitura. Como não dissemos nada sobre as permissões de acesso do compartilhamento no arquivo de configuração, ele foi compartilhado usando o default.
Para que o compartilhamento fique disponível com permissão de leitura e escrita, precisamos adicionar a opção “writable = yes” dentro da configuração do compartilhamento, no arquivo /etc/samaba/smb.conf que ficará conforme abaixo:
[backup]
path = /dados/backup
comment = File Server arquivos Linux/Microsoft
writable = yes
Muito provavelmente, mesmo depois de reiniciar o Samba você continuará recebendo o mesmo erro ao tentar gravar os arquivos. Dessa vez, o Samba autoriza a gravação, mas ela ainda pode ser abortada se as permissões da pasta não permitirem que o usuário grave arquivos. Se você criou a pasta “/dados/backup” como root, então o default é que apenas ele possa gravar arquivos na pasta. Para permitir que outros usuários possam gravar, é necessário abrir as permissões da pasta.
A esta altura, a lei do mínimo esforço diria para você usar um comando assim:
[root@fileserver ~]# chmod 777 /dados/backup
Mas ao inves de fazermos isso vamos criar um grupo e um usuario para que o mesmo possa gravar ler apagar etc..
O primeiro passo é criar um grupo para os usuários que poderão fazer alterações na pasta, usando o comando “groupadd”. Eu prefiro criar grupos com o mesmo nome do compartilhamento, para ficar mais fácil de lembrar, mas isso fica a seu critério.
[root@fileserver ~]# groupadd backup
Pronto criamos um grupo chamado backup!!
A partir daqui, você pode adicionar usuários ao grupo usando o comando “chgrp”, nesse caso especificando o usuário já criado e o grupo ao qual ele será adicionado, mas antes vamos criar um usuario para isso ok!!
[root@fileserver ~]# adduser dejano
[root@fileserver ~]# smbpasswd -a dejano # Aqui vc defini uma senha qualquer no meu exemplo usei “pacote”
Agora vamos adicionar o usuario “dejano” ao grupo “backup” para isso execute o comando abaixo:
[root@fileserver ~]# usermod -G backup dejano
Depois de criar o grupo e adicionar os usuários a ele, falta apenas ajustar as permissões de acesso da pasta, de forma que o grupo tenha acesso completo, como em:
[root@fileserver ~]# chgrp backup /dados/backup
[root@fileserver ~]# chmod 775 /dados/backup
Com isso, trocamos o grupo dono da pasta e dizemos que tanto o dono quanto o grupo possuem acesso completo. A partir desse ponto, o Samba autoriza o acesso para todos os usuários cadastrados através do smbpasswd e o sistema autoriza a gravação para todos os usuários que fazem parte do grupo.
Se você precisar que a alteração seja aplicada de forma recursiva, alterando as permissões de todas as subpastas e arquivos, adicione a opção “-R” nos dois comandos, não é o nosso caso mas vai que alguem ja esta implementando com mais pastas ne!!
[root@fileserver ~]# chgrp -R arquivos /dados/backup
[root@fileserver ~]# chmod -R 775 /dados/backup
Se você quer que o compartilhamento fique disponível apenas para os usuários que cadastrou no grupo “backup”, adicione a opção “valid users = +backup” na seção referente ao compartilhamento. O “+” indica que se trata de um grupo e não de um usuário isolado. O Samba verifica então quais usuários fazem parte do grupo e autoriza o acesso. A partir daí, quando você quiser liberar o acesso para um novo usuário, basta adicioná-lo ao grupo:
[backup]
path = /dados/backup
comment = File Server arquivos Linux/Microsoft
writable = yes
valid users = +arquivos
Para restringir o acesso ao compartilhamento a apenas um host da sua rede, você usaria:
[backup]
path = /dados/backup
comment = File Server arquivos Linux/Microsoft
writable = yes
valid users = +arquivos
hosts allow = 192.168.0.17
Outra dica muito legal é que você pode verificar a qualquer momento quais usuários e quais máquinas estão acessando compartilhamentos no servidor usando o comando “smbstatus, como em:”
[root@fileserver ~]# smbstatus
Samba version 3.6.9-151.el6_4.1
PID Username Group Machine
——————————————————————-
1095 dejano dejano (192.168.0.17)
1117 dejano dejano virtual (192.168.0.117)
Service pid machine Connected at
——————————————————-
IPC$ 1117 virtual Wed Oct 30 15:24:11 2013
IPC$ 1095 Wed Oct 30 15:17:47 2013
backup 1095 Wed Oct 30 15:17:47 2013
backup 1117 virtual Wed Oct 30 15:24:16 2013
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
————————————————————————————————–
1117 500 DENY_NONE 0x100081 RDONLY NONE /dados/backup . Wed Oct 30 15:24:17 2013
Caso alguem queira montar esse compartilhamento que esta em uma maquina linux em outra maquina linux abaixo o comando
root@NoteDejano:/mnt# mount -t cifs -o username=dejano,password=pacote //192.168.0.155/backup /mnt/Backup/
Bom galera é isso, tem como fazer muitas restrições baseado em grupos, usuarios pastas enfim so demostrei o basico do basico aqui no artigo.