lendo cifs share falha com permissão negada - cifs samba directory permission denied

2

Estou tentando configurar um servidor samba para compartilhar dados entre clientes via cifs. Como teste, montei o compartilhamento de samba na mesma máquina e tentei acessar o conteúdo do diretório. O comando mount foi:

mount -t cifs -o username=sthomaso,workgroup=WORKGROUP //server/scratch /mnt/server/scratch

... que funcionou bem depois de digitar a senha. Embora eu possa cd /mnt/server/scratch , quando tento listar o conteúdo do diretório com ls , recebo o erro ls: reading directory .: Permission denied .

No servidor, meu /etc/samba/smb.conf é:

[global]
    security = user
    workgroup = WORKGROUP

[homes]
    writeable = yes

[scratch]
    path = /var/scratch
    valid users = @feausers
    writeable = yes

O usuário "sthomaso" foi adicionado ao tdbsam com o comando:

pdbedit -a -u sthomaso

O usuário "sthomaso" está no grupo "feausers", verificado com o comando "groups sthomaso".

/bin/ls -lF /var | grep scratch mostra:

drwxrwx--T. 2 root feausers 4096 Jun 14 14:40 scratch/

/var/log/samba/log.smbd contém a validação de uma conexão bem-sucedida na linha:

<snip> smbd/service.c:1070(make_connection_snum)
<snip> connect to service scratch initially as user sthomaso (uid=500, gid=501) (pid 99999)

Parece que estou montando o compartilhamento com sucesso, mas por que não consigo ler o diretório e acessar os arquivos?

    
por scott8035 15.06.2011 / 20:25

2 respostas

2

FYI, eu recebi ajuda da Red Hat ... o problema era que o SELinux restringia as permissões. Eu não preciso do controle oferecido pelo SELinux, então eu o desativei editando / etc / selinux / config e reiniciando.

    
por 17.06.2011 / 04:15
0

A resposta mais apropriada para este problema é indicada na parte superior do arquivo /etc/samba/smb.conf.example :

Use the samba_export_all_ro or samba_export_all_rw Boolean to share system directories.  To share such directories and only allow read-only permissions:
setsebool -P samba_export_all_ro on
To share such directories and allow read and write permissions:  
setsebool -P samba_export_all_rw on

Além disso, se você olhar para o log setroubleshoot gerado por auditd, você terá várias sugestões sobre como potencialmente corrigir seu problema com um nível de confiança relativo de 1 a 100.

Para visualizar esses registros e sugestões, execute: sealert -a /var/log/audit/audit.log

Em suma, para corrigir este problema, execute o comando: setsebool -P samba_export_all_rw on

Em seguida, reinicie o serviço.

Editar:

Além disso, assegure-se de aplicar o contexto selinux apropriado ao seu diretório de compartilhamento de samba usando o seguinte comando:

semanage fcontext -a -t samba_share_t "/PATH_TO_SHARE(/.*)?"
    
por 28.06.2017 / 21:54