Samba em rede doméstica - Já tentei de tudo, cansei. - Resolvido!

Iniciado por zero00, 15 de Janeiro de 2016, 03:21

tópico anterior - próximo tópico

zero00

Pessoal,
Mais uma vez estou aqui para solicitar ajuda na resolução de um problema aparentemente simples, mas que já segui diversos tutoriais, li vários artigos, e não consegui fazer com que minhas pastas compartilhadas pelo Samba no Ubuntu ficassem acessíveis para uma máquina rodando XP aqui em minha casa. Ambas estão conectadas ao mesmo roteador.

O que ocorre é que tentando acessar os compartilhamentos do próprio pc os mesmos são exibidos. Tento abri-los e é exigido usuário e senha, porém após digitá-los as pastas não são abertas e aparece novamente a janela pedindo usuário e senha.

No Windows XP, ao tentar acessar, primeiramente pede usuário e senha. Ao serem digitados as pastas são exibidas, porém ao tentar abri-las surge a mensagem:

\\10.10.0.133\backup não está acessível. Talvez você não tenha permissão para usar este recurso de rede.
Contate o administrador deste servidor para saber se você tem permissões de acesso.
Acesso negado.


No Ubuntu acesso normalmente os compartilhamentos disponíveis no XP.

A versão do Ubuntu é a 15.10 e a do Samba é "Version 4.1.17-Ubuntu".

O procedimento que realizei, após a instalação do Samba, para efetuar os compartilhamentos foi:

Adicionei o usuário "usersamba2" ao sistema:
# adduser --disabled-login --no-create-home usersamba2


Adicionei o usuário "usersamba2" ao Samba:
# smbpasswd -a usersamba2


Adicionei um grupo para o usuário:
# groupadd share2


Adicionei o usuário ao grupo criado:
# adduser usersamba2 share2


Dei permissões de acesso às pastas a serem compartilhadas:
# chgrp -R share2 /media/alex/backup
# chgrp -R share2 /media/alex/principal
# chgrp -R share2 /media/alex/windows


# chmod -R 775 /media/alex/backup
# chmod -R 775 /media/alex/principal
# chmod -R 775 /media/alex/windows



O comando ls -l dentro do diretório /media/alex exibe:

total 24
drwxrwxrwx 1 root root  4096 Jan  6 22:10 backup
drwxrwxrwx 1 root root  8192 Dez 23 06:00 principal
drwxrwxrwx 1 root root 12288 Dez 23 22:58 windows



Abaixo, segue os dados do arquivo smb.conf:

[global]
netbios name = Alex
server string = Compartilhamentos
workgroup = MSHOME
local master = yes
os level = 100
preferred master = yes
wins support = yes

security = user
encrypt passwords = yes
;map to guest = bad user
guest account = usersamba2

printing = cups
load printers = yes

# Impressoras
[printers]
comment = Todas Impressoras
browseable = yes
path = /var/spool/samba
print ok = yes
read only = yes
create mask = 0700
guest ok = no
available = yes

# Drivers impressoras
[print$]
comment = Drivers impressoras
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
available = yes

[backup]
path = /media/alex/backup
writable = yes
guest ok = no
available = yes
browsable = yes
public = yes

[principal]
path = /media/alex/principal
writable = yes
guest ok = no
available = yes
browsable = yes
public = yes

[windows]
path = /media/alex/windows
writable = yes
guest ok = no
available = yes
browsable = yes
public = yes

galactus

Olá!

No seu smb.conf, está assim:

Citarencrypt passwords = yes
;map to guest = bad user

Não seria assim?

encrypt passwords = true
map to guest = bad user
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

zekkerj

Olá zero,
Chama a minha atenção que mesmo após vc fazer um "chgrp -R share2 /media/alex/backup", ele ainda aparece pertencendo a root:root.

Por acaso /media/alex é um pendrive ou drive externo? Se for, e não estiver formatado em um formato nativo, pode ser essa a origem do problema...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zero00

Caro galactus,

Pelo que li nos artigos sobre Samba, como no site do Morimoto, se eu descomentar a linha ;map to guest = bad user, isso permitirá que ao ser digitado um usuário inválido automaticamente será redirecionado para o usuário padrão, configurado em guest account = usersamba2; de forma que todos que não entrarem com o usuário correto cadastrado para acesso terão acesso aos compartilhamentos como se estivessem conectando com o usuário usersamba2.



Caro zekkerj,

Os diretórios /media/alex/backup, /media/alex/principal e /media/alex/windows são partições do meu hd (só possuo um hd), no qual está instalado o Ubuntu e o Windows 7. As três estão formatadas com o sistema de arquivos NTFS.

São carregadas automaticamente pelo fstab, conforme abaixo:

#hd backup
/dev/sda4 /media/alex/backup ntfs-3g -t

#hd principal
/dev/sda5  /media/alex/principal ntfs-3g -t

#hd c: windows
/dev/sda2 /media/alex/windows ntfs-3g -t


Obrigado senhores!

zero00

Galactus,

Ao fazer as mudanças que você sugeriu

encrypt passwords = true
map to guest = bad user



No XP permanece a mesma mensagem de acesso negado, e no Ubuntu aparece:

Não foi possível acessar o local
Falha ao montar o compartilhamento Windows: Permissão negada

zekkerj

Citação de: zero00 online 15 de Janeiro de 2016, 15:46
(...)Caro zekkerj,

Os diretórios /media/alex/backup, /media/alex/principal e /media/alex/windows são partições do meu hd (só possuo um hd), no qual está instalado o Ubuntu e o Windows 7. As três estão formatadas com o sistema de arquivos NTFS.

São carregadas automaticamente pelo fstab, conforme abaixo:

#hd backup
/dev/sda4 /media/alex/backup ntfs-3g -t

#hd principal
/dev/sda5  /media/alex/principal ntfs-3g -t

#hd c: windows
/dev/sda2 /media/alex/windows ntfs-3g -t


Obrigado senhores!


Então, definitivamente, está explicado o problema. Você está montando esses diretórios errado, apenas o root terá acesso a eles.

Você precisa adicionar a opção "umask=000" à linha do fstab para que algum outro usuário além do root possa fazer essa  montagem. E esqueça qualquer comando "chmod", "chown" ou "chgrp" nesses diretórios, pois eles simplesmente não vão funcionar --- isso só funciona em sistemas de arquivos nativos (ext3/4, reiser, xfs, etc.)
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zero00

zekkerj,

Acrescentei a linha umask=000, mas ainda assim não consigo acessar os compartilhamentos.

Acho que ainda há algo errado no fstab, pois o compartilhamento [print$] está abrindo normalmente.

Alterei o diretório da partição pela UID para ver se funcionava, mas também não deu certo.


O comando blkid retorna:

/dev/sda1: LABEL="Reservado pelo Sistema" UUID="E21CBD961CBD6667" TYPE="ntfs" PARTUUID="8977a38c-01"
/dev/sda2: UUID="10BA0BB8BA0B98FC" TYPE="ntfs" PARTUUID="8977a38c-02"
/dev/sda4: LABEL="Backup" UUID="E47E0F867E0F512A" TYPE="ntfs" PARTUUID="8977a38c-04"
/dev/sda5: UUID="1A2A324D2A3225E3" TYPE="ntfs" PARTUUID="8977a38c-05"
/dev/sda6: UUID="2ca01a68-2b45-4c4a-b506-c2558cb224d2" TYPE="swap" PARTUUID="8977a38c-06"
/dev/sda7: UUID="21e08a63-aeff-4ab7-9b8b-93c8bbb8ec07" TYPE="ext4" PARTUUID="8977a38c-07"



E atualmente o fstab está assim:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

# / was on /dev/sda7 during installation
UUID=21e08a63-aeff-4ab7-9b8b-93c8bbb8ec07 /               ext4    errors=remount-ro 0       1

# swap was on /dev/sda6 during installation
UUID=2ca01a68-2b45-4c4a-b506-c2558cb224d2 none            swap    sw              0       0

# hd backup /dev/sda4
UUID=E47E0F867E0F512A /media/alex/backup ntfs-3g umask=000

# hd principal /dev/sda5
UUID=1A2A324D2A3225E3 /media/alex/principal ntfs-3g umask=000

# hd c: windows /dev/sda2
UUID=10BA0BB8BA0B98FC /media/alex/windows ntfs-3g umask=000

zekkerj

Você lembrou de remontar a partição, pra ativar as novas opções? Só mudar as opções não basta, tem que ativá-las remontando.

Quando remontar, tente acessar essas pastas no próprio linux com esse usuário que foi cadastrado para o samba.

sudo -u usersamba2 ls /media/alex/backup
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zero00

Após alterar o fstab, desmontei e remontei as partições com o comando mount -a.
Não tendo funcionado, reiniciei o pc para tirar qualquer dúvida.

O comando sudo -u usersamba2 ls /media/alex/backup (executado com a partição já remontada) retorna:

ls: não é possível acessar /media/alex/backup: Permissão negada

Mesma mensagem retornada para qualquer uma das partições.


Será que resolveria incluir o usersamba2 em algum outro grupo? O comando groups usersamba2, retorna:

usersamba2 : usersamba2 share2


Em /etc/passwd o usersamba2 é listado assim:

usersamba2:x:1001:1001:Usuario Samba,,,:/home/usersamba2:/bin/bash


Em /etc/groups está assim:

usersamba2:x:1001:
share2:x:1002:usersamba2

zekkerj

#9
Não, tem que acertar as opções de montagem.
Mas acabo de lembrar... independente das opções de montagem, "usersamba2" tem que ter, no mínimo, acesso de execução em "/media" e "/media/alex". Tem? Sem isso, você não consegue acessar qualquer pasta dentro desse caminho.

O comando "namei -om /media/alex/backup" vai mostrar todas as permissões no caminho.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zero00

Ainda não compreendo muito como funciona as permissões nem como ajustá-las adequadamente...

Esse é o resultado do comando namei -om /media/alex/backup

f: /media/alex/backup
drwxr-xr-x root root /
drwxr-xr-x root root media
drwxr-x--- root root alex
drwxrwxrwx root root backup


Como devo proceder?

zekkerj

Viu que o sub-diretório "alex" não tem permissões públicas? Um "chmod a+rx /media/alex" deve fechar o problema.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zero00

zekkerj,

Valeu, entendi o erro! Apliquei a permissão pública e o problema foi resolvido, agora tenho acesso completo aos compartilhamentos.
Acho que preciso adquirir um livro avançado sobre Linux, pois os artigos disponíveis na internet não tratam desses pormenores.

Linux é mesmo um sistema desafiador. Por um lado isso é bom, especificamente pra quem gosta desta liberdade de configurar o sistema como bem deseja e quer entendê-lo em todos os seus mínimos detalhes (como, a princípio, é meu caso); mas por outro, especificamente se tratando de Ubuntu que é um sistema direcionado ao usuário final, então ainda possui algumas barreiras, como essa simples configuração que deveria ser efetuada automaticamente para o usuário que deseja fazer um simples compartilhamento.

Eu sempre imagino um profissional qualquer, que não está nem aí para qual sistema operacional usa, desde que tal lhe ofereça segurança, estabilidade e rode de forma satisfatória o seu programa de trabalho; como um médico, por exemplo, cujo objetivo seria usar somente um programa específico, como um sistema de cadastro dos dados clínicos dos pacientes; para esse profissional não é interessante entender desses detalhes, nem enfrentar essas dificuldades. Nesse ponto, penso que o Ubuntu precisa de algumas melhorias.

Valeu, obrigado por mais essa ajuda e mais esse ensinamento. Abraço!

davidsonn

Citação de: zero00 online 16 de Janeiro de 2016, 19:52
...mas por outro, especificamente se tratando de Ubuntu que é um sistema direcionado ao usuário final, então ainda possui algumas barreiras, como essa simples configuração que deveria ser efetuada automaticamente para o usuário que deseja fazer um simples compartilhamento.

Apenas lembrando ao colega que o Ubuntu já possui uma opção p/ compartilhar qualquer pasta na rede pelo Samba apenas clicando com o botão direito sobre a pasta e abrindo a opção Compartilhar (ou Propriedades), só não sei lhe dizer se esse procedimento se aplica ao seu caso.

zekkerj

O problema aí foi o uso de uma pasta em "/media". O sistema cria essas pastas automaticamente pra cada usuário, e cria com privacidade, ou seja, sem acesso público.

Dá pra automatizar? Dá. Só tem que repensar todo o sistema, pq ele foi projetado pra não funcionar assim.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D