Por que o samba não consegue acessar uma pasta depois que algo é montado nela?

2

Editar : FOI F # $ CKING SELINUX. echo 0 >/selinux/enforce e funciona.

Editar : Baseado no fato de eu não poder ver os arquivos no diretório mesmo quando eles estão recursivamente definidos para ugo + rwx (veja as edições no final deste post), eu suspeito que o problema é mais fundamental que o compartilhamento montado.

Eu tenho a seguinte configuração de compartilhamento na minha configuração do samba:

[test]
path = /mnt/
guest ok = yes
writeable = yes
browseable = yes

A pasta / mnt tem permissões da seguinte forma:

[root@[host-redacted] mnt]# ls -al /mnt
total 16
drwxr-xr-x.  4 root root 4096 Mar  3 00:54 .
dr-xr-xr-x. 25 root root 4096 Feb 25 19:04 ..
drwxr-xr-x.  2 root root 4096 Feb 26 21:45 files
drwxr-xr-x.  2 root root 4096 Mar  3 00:54 tmp

Neste ponto, nada é montado nessas pastas. Quando tento acessar isso via samba, tudo funciona bem:

[root@[host-redacted] mnt]# smbclient -Uguest //[host-redacted]/test
Enter guest's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
  .                                   D        0  Sun Mar  3 00:54:52 2013
  ..                                 DR        0  Mon Feb 25 19:04:02 2013
  tmp                                 D        0  Sun Mar  3 00:54:52 2013
  files                               D        0  Tue Feb 26 21:45:55 2013

                50396 blocks of size 1048576. 46487 blocks available
smb: \> cd files
smb: \files\> ls
  .                                   D        0  Tue Feb 26 21:45:55 2013
  ..                                  D        0  Sun Mar  3 00:54:52 2013

                50396 blocks of size 1048576. 46487 blocks available

No entanto, depois de montar um compartilhamento criptografado para essa unidade, as coisas estão erradas. Eu montei e verifique se as permissões e a propriedade são idênticas:

[root@[host-redacted] mnt]# mount /dev/mapper/[encrypted-partition-redacted] files

[root@[host-redacted] mnt]# ls -al /mnt/
total 16
drwxr-xr-x.  4 root root 4096 Mar  3 00:54 .
dr-xr-xr-x. 25 root root 4096 Feb 25 19:04 ..
drwxr-xr-x. 13 root root 4096 Jul  6  2012 files
drwxr-xr-x.  2 root root 4096 Mar  3 00:54 tmp

Mas agora, quando eu acesso o compartilhamento, o diretório de arquivos desapareceu:

[root@[host-redacted] ~]# smbclient -Uguest //[host-redacted]/test
Enter guest's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
  .                                   D        0  Sun Mar  3 00:54:52 2013
  ..                                 DR        0  Mon Feb 25 19:04:02 2013
  tmp                                 D        0  Sun Mar  3 00:54:52 2013

                50396 blocks of size 1048576. 46487 blocks available

Eu fiz uma verificação rápida para garantir que meu usuário convidado (ninguém) possa ler / mnt e parece bem:

[root@[host-redacted] mnt]# sudo -u nobody ls /mnt
files  tmp

Alguém pode explicar o que está acontecendo? Minha configuração do samba foi copiada de uma máquina anterior rodando o samba 3.3 com a mesma configuração, e essa nova configuração está rodando a mesma configuração (arquivos copiados) mas com o samba 3.5.10-125.el6 .

Também verifiquei o changelog e não posso veja qualquer coisa que se destaque.

edit: Eu não tenho nenhuma diretiva de arquivos de veto no meu smb.conf:

[root@pmfs mnt]# grep -i veto /etc/samba/smb.conf

edit2 : Quando o diretório não está montado, eu posso gravar em arquivos - NO ENTANTO Eu não consigo ver um arquivo que criei lá

[root@pmfs samba]# echo asdf > /mnt/files/test.txt

[root@pmfs files]# chmod -R ugo+rwx /mnt/files/

[root@pmfs ~]# smbclient -Uguest //pmfs/test
Enter guest's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6]
smb: \> ls
  .                                   D        0  Sun Mar  3 00:54:52 2013
  ..                                 DR        0  Mon Feb 25 19:04:02 2013
  tmp                                 D        0  Sun Mar  3 00:54:52 2013
  files                               D        0  Mon Mar  4 20:05:45 2013

                50396 blocks of size 1048576. 46486 blocks available
smb: \> cd files
smb: \files\> ls
  .                                   D        0  Mon Mar  4 20:05:45 2013
  ..                                  D        0  Sun Mar  3 00:54:52 2013

                50396 blocks of size 1048576. 46486 blocks available
Assim como uma solução para este problema específico, eu estaria interessado em saber se há algo mais que eu deveria estar fazendo para solucionar esse problema - como eu sempre tive dificuldade em configurar o samba, estou sempre interessado em aprendendo como melhorar melhor o processo de solução de problemas

    
por fostandy 04.03.2013 / 01:54

1 resposta

4

IT WAS F#$CKING SELINUX. echo 0 >/selinux/enforce and it works.

Em vez de simplesmente desabilitar o SELinux para tudo (echo 0 > / selinux / enforce), basta configurar o SElinux para permitir o acesso ao samba

 chcon -R -t samba_share_t /mnt/files

que dará acesso ao samba. Você pode então usar

 semanage fcontext -a -t samba_share_t "/mnt/files"

para garantir que uma restauração subseqüente não compense isso.

    
por 04.03.2013 / 12:25

Tags