Construir um servidor Samba simples com um computador de poucos recursos

Certamente há muita literatura sobre isso Samba para construir simples ou robusto Servidores de Armazenamento, mas muitas vezes não nos levam diretamente ao ponto nas opções mais práticas com seus respectivos esclarecimentos e possíveis cenários de uso real, ou seja, sempre encontramos muita informação mas não ajustada às necessidades de muitos e principalmente dos novatos ou iniciantes em a área.

lpi

Enfim, deixo para vocês minha experiência neste post sobre o assunto:

Em primeiro lugar, deixo-vos as características técnicas do computador de poucos recursos utilizado:

Hardware:

Programas:

Em seguida, instalei e configurei o pacote samba no servidor da minha filhinha Lan vermelha caseiro da seguinte forma:

1.- Instale o samba com o comando de comando:

aptitude install samba samba-common smbclient samba-doc smbfs winbind

2.- Continuei a fazer o backup da configuração padrão do samba localizada no arquivo de configuração smb.conf com o comando command:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bck
  1. Em seguida, edite o arquivo de configuração com um editor de minha preferência com o comando command:
vi /etc/samba/smb.conf

Deixando como segue:


#======================= Global Settings =======================

[global]

## Browsing/Identification ###

workgroup = WORKGROUP
dns proxy = no
; wins support = no
; wins server = w.x.y.z
; server string = %h server
; name resolve order = lmhosts host wins bcast

#### Networking ####

; interfaces = 127.0.0.0/8 eth0
; bind interfaces only = yes

#### Debugging/Accounting ####

log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
; syslog only = no

####### Authentication #######

server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
security = user
username map = /etc/samba/smbusers
; encrypt passwords = true

########## Domains ###########

; server role = primary classic domain controller
; server role = backup domain controller
; server role = domain logons
; logon path = \\%N\profiles\%U
; logon path = \\%N\%U\profile
; logon drive = H:
; logon home = \\%N\%U
; logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g
; domain logons = yes

############ Misc ############

usershare allow guests = yes
; usershare max shares = 100
; include = /home/samba/etc/smb.conf.%m
; domain master = auto
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash
; winbind enum groups = yes
; winbind enum users = yes
; usershare max shares = 100
; SO_RCVBUF=8192 SO_SNDBUF=8192
; socket options = TCP_NODELAY
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &


#======================= Share Definitions =======================

[homes]

comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S

; [netlogon]

; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; read only = yes

; [profiles]

; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700

[printers]

comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

[print$]

comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
; write list = root, @lpadmin

; [cdrom]
; comment = Samba server's CD-ROM
; read only = yes
; locking = no
; path = /cdrom
; guest ok = yes
; /dev/scd0   /cdrom  iso9660 defaults,noauto,ro,user   0 0
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom

# EJEMPLO DE RECURSO COMPARTIDO

[RECURSO_COMPARTIDO]

comment = Servidor Disco Duro 500 GB
path = /media/usuario-sysadmin/RESPALDO
writeable = yes
browseable = yes
public = yes
valid users = usuario_samba
create mask = 0755
directory mask = 0755
guest ok = no
; read only = no
; write list = usuario_samba
; force group = usuario_samba
; hide dot files = yes
; guest only = yes
; guest account = nobody
; delete veto files = yes
; veto files = /*.exe/*.com/*.dll/*.mp3/*.avi/*.mkv/*.msi/*.mpg/*.wmv/*.wma

Como já falei para vocês, na Internet há informações abundantes sobre o samba e cada uma das opções tem que ser configurada dentro do arquivo smb.conf, o que não é a intenção desta publicação. No entanto, deixo-lhes alguns links sobre o assunto:

Em seguida, comecei a criar o usuário samba "samba_user" dentro de mi servidor Samba, que eu costumava administrar (gerenciar) recursos compartilhados remotamente de meus outros computadores com GNU / Linux e MS Windows.  No meu caso particular, não vou trabalhar compartilhando Pastas mas completamente meu Disco Rígido secundário de 500 GB. Por este motivo, exijo que este disco seja montado automaticamente quando o servidor for inicializado, mesmo sem carregar a interface gráfica, então passei a realizar o seguinte procedimento:

Montando permanentemente o Disco Rígido 500GB dentro do Plataforma Servidor

a) Validar (tomei nota) do ponto de montagem e pasta local onde meu Plataforma ele montou o disco rígido de 500 GB automaticamente. Caso contrário, você poderia ter criado uma pasta onde pode montar o recurso local para compartilhar, com o comando: mkdir -p / design_path / design_folder e dar permissão de usuário para ele no meu usuário principal do servidor chamado "Administrador de sistema do usuário".

b) Edite o arquivo fstab com a ordem de comando "Nano / etc / fstab" e insira a seguinte linha de montagem:

/ dev / sdb1 / media / user-sysadmin / BACKUP / ntfs-3g rw, user_id = 1000, group_id = 1000

Nota: Use "Ntfs-3g" já que meu disco está formatado em NTFS. Você pode adicionar ou não a opção auto da linha de montagem no fstab, dependendo de seus requisitos ou necessidades. Para mim em particular, esta opção me causou instabilidade (intermitência) ao montar o recurso durante a inicialização Plataforma. Você pode reiniciar o servidor para verificar a montagem automática do disco rígido ou tentar executar o comando comando "Mount -a" para testar o ponto de montagem. Se tudo correr bem, reinicie para tentar montar novamente desde o início. Essa linha pode ser configurada de várias maneiras e de maneiras mais detalhadas, mas isso depende da pesquisa pessoal, uma vez que não é o assunto da publicação. Para mais informações sobre as opções fstab, clique aqui.

Depois disso, comecei a criar o usuário local O que vou usar em samba para gerenciar meus compartilhamentos remotamente. Isso pode ser feito de 2 maneiras diferentes:

1.- Básico:

1.1) Crie um usuário local para gerenciar o samba:

adduser user_samba

2.- Avançado:

2.1) Crie a pasta pessoal do usuário local para gerenciar o samba:

mkdir / design_path / samba_user

2.2) Criar grupo de usuário samba:

groupadd user_group

2.2) Criar perfil de usuário samba:

usuárioadd -g user_samba -d / design_path / samba_user -c "Pasta pessoal do usuário" -s / bin / false user_group

Em seguida, e após o samba ter sido instalado e configurado, habilitado e montado o recurso de compartilhamento, criado o usuário local, devemos:

Adicionar o usuário local al Servidor Samba (serviço) instalado com o prompt de comando:

adicionar usuário user_samba sambashare

Crie a senha de acesso o que ele vai ter Usuário local no Samba com o comando command:

smbpasswd -a user_samba

Reinicie o serviço Samba:

a) recarregar serviço samba

b) reinicialização do smbd do serviço

c) reinicialização do nmbd do serviço

Agora só temos que verifique o acesso de um computador na rede ao compartilhamento. Para isso devemos abra um explorador de arquivos, explore o ambiente de rede e veja o compartilhamento do servidor. Porém, para ver a disponibilidade via terminal, você pode executar os seguintes comandos de comando, sabendo ou não, o IP ou o nome do Servidor Samba:

1) smbclient –list = 192.168.XX

2) smbclient –list = 192.168.XX –user = samba_user

3) nbtscan192.168.0.0/24

4) nmblookup samba_server_name

E para acessar o compartilhamento de um computador na rede, abra um explorador de arquivos, explore o ambiente de rede e faça clique duas vezes no compartilhamento do servidor, em insira os dados de acesso (usuário / senha / domínio)ou coloque o caminho direto no seguinte formato: smb: //192.168.xx/ SHARED_RESOURCE. Para conectar via terminal, execute o seguinte comando: smbclient –user = samba_user //192.168.xx/SHARED_RESOURCE

Finalmente, e se necessário, você pode configurar que este recurso compartilhado seja carregado automaticamente, em seu equipamento de rede usando o seguinte procedimento:

a) Crie uma pasta local onde o recurso compartilhado será montado, com o comando comando:

mkdir -p / design_path / design_folder

b) Edite o arquivo fstab com a ordem de comando "Nano / etc / fstab" e insira a seguinte linha de montagem:

//192.168.XX/SHARED_RESOURCE/ / design_path / design_folder cifs user, rw, username = samba_user, password = samba_user_password, gid = 100 ?, Uid = 100 ?, Iocharset = utf8, dir_mode = 0755, file_mode = 0755 0 2

Nota: Use "Cifs" já que é o protocolo samba moderno que o samba se conecta a um recurso de rede, em alguns casos você pode ter que usar «smb » em vez de «cifs ». O tipo de permissão atribuída em dir_mode y modo_arquivo dependerá do que você designar e / ou o usuário da pasta compartilhada exigir, embora de preferência devam ser os mesmos designados no arquivo smb.conf para o referido recurso compartilhado. E os valores correspondentes em id y uid Devem ser adequados, ou seja, do usuário que montará o recurso no computador remoto. Além disso, você pode adicionar ou não a opção auto da linha de montagem no fstab, dependendo de seus requisitos ou necessidades. Para mim em particular, esta opção me causou instabilidade (intermitência) ao montar o recurso durante a inicialização Plataforma. Você pode reiniciar o servidor para verificar a montagem automática do disco rígido ou tentar executar o comando comando "Mount -a" para testar o ponto de montagem. Se tudo correr bem, reinicie para tentar montar novamente desde o início. Essa linha pode ser configurada de várias maneiras e de maneiras mais detalhadas, mas isso depende da pesquisa pessoal, uma vez que não é o assunto da publicação. Para mais informações sobre as opções fstab, clique aqui.

Bem, espero que gostem deste post com meus humildes passos e recomendações para esse fim.