Olá amigos.
Fiz um artigo para ajudar iniciantes a configurar o samba e colocar algumas permissões no mesmo.
Configurando samba, e colocando algumas permissões para usuários.
Ainda sou novo aqui na comunidade, estou fazendo uma experiência no trabalho em uma empresa com
Linux recentemente, e gostaria de postar este artigo, com o intuito de ajudar os iniciantes, também tendo uma noção de como me saio.
Vou falar sobre samba. Samba é uma ótima maneira de compartilhar seus arquivos e impressoras do Linux no Windows e vice-versa.
Primeiramente, deve-se ver se possui o samba instalado, através de comandos como
apt-get search samba ou
aptitude search samba, aptitude utilizo no Ubuntu, apt-get sei que está disponível em todas distribuições derivadas do Debian. Caso não encontre o samba, você deve atualizar sua lista de pacote apt ou aptitude com os comandos
apt-get update ou
aptitude update, após realizar a atualização, o próximo passo é a instalação do samba, com os comandos,
apt-get install samba ou
aptitude install samba. Relembrando que para realizar os passos descritos até aqui e necessário logar como administrador no shell.
O arquivo de configuração do samba esta na pasta /etc/samba/smb.conf, para editá-lo eu utilizo o vi, apenas acrescentando vi ao início do caminho:
# vi /etc/samba/smb.conf
Caso não queira digitar tudo, após digitar um pedaço do nome da pasta ou arquivo, tecle Tab, que o Linux completa automaticamente, ou mostra para você as opções disponíveis.
Abrindo o arquivo de configuração com o vi, pressione a tecla Insert uma vez, e irá aparecer em baixo no canto esquerdo escrito "Insert", isto significa que tudo que for digitado aparecerá na tela, pressionado outra vez, aparece a opção de substituir arquivos, para sair eu utilizo Control+C, não sei se é a única maneira, mas funciona, com isto desaparece o "Insert" do canto inferior da tela, existe alguns comando quando se está assim, exemplo:
- :x para sair e salvar o arquivo,
- :q para sair e ser perguntado se deseja salvar,
- :q! para sair sem salvar.
Na guia [global] será configurado o que afetará todo o samba, tudo que está compartilhado, geralmente o mais usado é
workgroup=nome do grupo, eu utilizo domínio, então deixo esta tag em branco.
netbios name= hostname, nome da máquina, com a guia authentication geralmente coloco
security= user, que irá solicitar ao tentar acessar o compartilhamento um usuário e senha cadastrados no samba, também existe a opção share, que cujo não exige autenticação.
Sempre faço este processo, coloco o nome da pasta que vou compartilhar exemplo, [arquivos do samba] ou [teste] e embaixo de cada pasta crio configurações para cada uma, isso pela necessidade de alguns usuários poderem escrever em tal compartilhamento, outros terem um compartilhamento como somente leitura. Os comandos que mais utilizo são:
- public=yes - se todos os compartilhamentos poderão ser acessados por todos os usuários
- browseable = yes e o compartilhamento será visível ou oculto na rede (yes para visível)
- read only = no - somente leitura
- read list= nome do usuario ex: jonas josé pedro (pode ser separado por espaço ou vírgula, ou então colocar @ e o nome do grupo que está os usuários @gerencia) - esta TAG serve para limitar os usuários passados para apenas leitura do compartilhamento.
- write list = - parecido com o Read List, porém, nesta TAG será indicado os usuários ou grupos que podem ter o acesso de escrita do compartilhamento.
- valid users= - esta TAG indica os usuários válidos para acessar o compartilhamento (pode se também usar o nome do grupo colocando @ antes).
- path= - caminho da pasta que será compartilhada path=/home/arquivos do samba
Um exemplo:
[teste]
path=/teste (pasta esta na raiz)
browseable=yes
read only=no
valid users= pedro jose filipe
read list= jose filipe
write list= pedro
Com estas configurações os usuário que poderão acessar a pastas são: pedro, josé e filipe, mas a pasta ficará somente leitura para jose e filipe, não poderão criar nem alterar arquivos dentro dela, já pedro pode fazer de tudo no que estiver no compartilhamento desta pasta, os demais usuários não poderão acessá-la, já que não estão no comando valid users.
Lembrando que deve criar todos usuário no samba, primeiro criando os normalmente no Linux:
# adduser pedro
Depois usando o comando
smbpasswd -a pedro, com isto o usuário pedro do Linux fica cadastrado no samba e depois do Enter, será pedido para colocar sua senha do samba, eu não cadastro o root no samba, não é aconselhável.
Bom galera, grato, é isso, espero ter ajudado iniciantes como eu, e ter me ajudado abraços.