Site icon AranaCorp

Criar uma pasta partilhada com o Samba em Linux

É possível aceder a uma pasta numa máquina remota instalando um servidor Samba em Linux. Este servidor permite o acesso a uma determinada pasta de ficheiros a partir de qualquer máquina ligada à mesma rede.

Instalando o Samba

Para instalar o Samba,

sudo apt-get update && sudo apt-get install samba -y

Verificar versão

 smbd --version

Antes de configurar, verifique se o serviço Samba está desativado

sudo systemctl stop smbd

Configurar o Samba no Linux

Para partilhar uma pasta de forma segura, é necessário introduzir determinadas informações no ficheiro de configuração

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

Para modificar o ficheiro de configuração, pode utilizar um editor de texto ou o nano no terminal

sudo nano /etc/samba/smb.conf

A informação que tem de introduzir é o caminho, que é o endereço da pasta a ser partilhada. Não se esqueça de substituir pelo nome do utilizador. Para obter o nome do utilizador, introduza o comando whoami

[smbSharedFolder]
comment= Folder Shared by Samba Server
path = /home/<USERNAME>/smbSharedFolder
public = yes
read only = no

Reiniciar o serviço Samba

sudo systemctl restart smbd

Para verificar o estado do serviço e se não existem erros no ficheiro de configuração

sudo systemctl status smbd
 

N.B.: Pode criar várias pastas partilhadas adicionando um bloco ou secção de configuração (começando por [sharefolder]) à pasta

Criar e modificar direitos de utilizador

Para aceder à pasta partilhada Samba com a sua conta de utilizador, é necessário adicioná-la ao grupo Samba

sudo smbpasswd -a

O sistema pede-lhe então que introduza e confirme a palavra-passe do utilizador.

Verificar a lista de utilizadores

sudo pbdedit -L -v

Aceder à pasta Samba a partir de uma máquina remota

Para aceder à pasta a partir de outro computador, é necessário saber o endereço IP do computador no qual o Samba está instalado. Para obter o endereço IP, introduza o seguinte comando a partir de um terminal

hostname -I

No Explorador do Windows, introduza o endereço IP da máquina seguido do nome da pasta \\.

\\192.168.1.95\smbSharedFolder

Também é possível aceder ao ficheiro através de um navegador Web

Adicionar um ficheiro de registo

Não é necessário, mas aconselho-o a adicionar um ficheiro de registo para que possa monitorizar o que está a acontecer no Samba, especialmente em caso de erro.

No

Ajouter une section “global” au début du fichier et ajourer la ligne log file. Le paramètre “%m” spécifie de créer un fichier log pour chaque machine qui se connecte au dossier partagé Samba. Le paramètre log level à 1 permet d’activer le logging (defaut à 0).

[global]
    log file = /var/log/samba/log.%m
    log level = 1

[smbSharedFolder]
    comment= Folder Shared by Samba Server
    path = /home/<USERNAME>/smbSharedFolder
    public = yes
    read only = no

Utilize o atalho Ctrl+X para guardar e fechar o ficheiro e, em seguida, reinicie o serviço.

sudo systemctl restart smbd

Para encontrar o ficheiro de registo a analisar

ls /var/log/samba/

Para ler o ficheiro de registo

cat /var/log/samba/log.<IP_CLIENT>

Bónus: Aceder à pasta utilizando um Alias

Em vez de utilizar o endereço IP, é possível definir um alias para a máquina. Para isso, vamos encontrar o nome da máquina e modificar o ficheiro

Para encontrar o nome da máquina

hostname

No

sudo nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 MyMachine
192.168.1.95 MyMachine

Para aceder à pasta, introduza o seguinte comando no Explorador do Windows

\MinhaMáquina\smbSharedFolder

Uma vez definido o alias, pode criar uma localização de rede no seu computador

Na pasta Este PC, clique com o botão direito do rato e seleccione Adicionar uma localização de rede

No campo especificado, o endereço da pasta partilhada

\MinhaMáquina\smbSharedFolder

Agora pode aceder à sua pasta partilhada diretamente a partir do seu browser do Windows.

Ficheiro de instalação e configuração do Samba (Utilizadores avançados)

Para facilitar a vida, pode criar um ficheiro de instalação Samba, que pode ser executado em todas as suas instalações Linux.

Não se esqueça de atualizar os nomes FOLDERNAME e USER de acordo com as suas necessidades

sudo nano install_samba.sh
chmod +x install_samba.sh
sudo ./install_samba.sh
#folder user name
FOLDERNAME=sambashare
USER=pi

#install samba
sudo apt-get update && sudo apt-get install samba -y
sudo systemctl stop smbd

#get machine info
HOSTNAME=$(hostname)
IPADDR=$(hostname -I | cut -f1 -d' ')
SMBVER=$(smbd --version)

#create samba folder
mkdir $FOLDERNAME
#save conf file for later
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

#write conf file
#echo > /etc/samba/smb.conf
printf "[global]
    #log file = /var/log/samba/log
    log level = 1

[$FOLDERNAME]
    comment= Folder Shared by Samba Server
    path = /home/$USER/$FOLDERNAME
    public = yes
    read only = no
" > /etc/samba/smb.conf

#create host alias (optional)
echo $IPADDR $HOSTNAME >> /etc/hosts

#add user
sudo smbpasswd -a $USER

#start service
sudo systemctl restart smbd

#display result
echo --------------------- SUCCESS -----------------------
echo SAMBA $SMBVER was installed correcly
echo you can access your folder with
echo \\\\$IPADDR\\$FOLDERNAME
echo or
echo \\\\$HOSTNAME\\$FOLDERNAME
echo with username $USER
echo ------------------------------------------------------

N.B.: Se este ficheiro não for executado corretamente após copiar e colar, pode tentar utilizar o dos2unix para converter o ficheiro

Aplicações

Por exemplo, utilizo-o para transferir ficheiros do meu PC Windows para o meu PC Linux, que gere a minha máquina de gravação a laser.

Fontes

Exit mobile version