Eu tenho um problema muito estranho com o Samba rodando no Centos 7. Eu tenho alguns compartilhamentos anônimos que são graváveis por todos. Normalmente eu acesso esses compartilhamentos de a) windows pc's que estão sendo reparados, eb) linux pc's que estão montando-os via GVFS.
Recentemente (não sei quando foi iniciado, possivelmente após uma atualização em todo o sistema no servidor na semana passada) notei que não posso gravar em subdiretórios dos compartilhamentos quando eles são montados via GVFS. Eu tentei tanto no Linux Mint Qiana e Sylvia. Eu posso editar, criar e excluir arquivos na raiz de um compartilhamento, mas não posso fazer nenhuma dessas coisas em nenhum subdiretório de qualquer compartilhamento nesse servidor. O erro que recebo é "permissão negada".
Estranhamente, todas essas operações funcionam como o esperado em todos os níveis: windows, smbclient ou mount.cifs.
Além disso, nos mesmos PCs linux que não funcionam corretamente neste servidor, tenho permissões de gravação completas em um servidor Debian configurado de forma semelhante com compartilhamentos montados via GVFS, então isso me leva a acreditar que tem algo a ver com o Centos 7 servidor em vez da implementação GVFS no PC.
Observe que acessamos esses compartilhamentos apenas anonimamente, independentemente do método de conexão.
Aqui está minha configuração do Samba:
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = server1 security = user map to guest = bad user dns proxy = no unix extensions = no #============================ Share Definitions ============================== [shared] path = /shares/shared browsable =yes writable = yes guest ok = yes read only = no follow symlinks = yes [installers] path = /shares/installers browsable =yes writable = yes guest ok = yes read only = no follow symlinks = yes [tools] path = /shares/tools browsable =yes writable = yes guest ok = yes read only = no follow symlinks = yes wide links = yes [drivers] path = /shares/drivers browsable =yes writable = yes guest ok = yes read only = no [cdimages] path = /shares/cdimages browsable =yes writable = yes guest ok = yes read only = no [windows_sps_updates] path = /shares/windows_sps_updates browsable =yes writable = yes guest ok = yes read only = no
Aqui estão minhas informações de propriedade, permissões e contexto do selinux para esses diretórios no servidor:
drwxrwxrwx. nobody nobody unconfined_u:object_r:samba_share_t:s0 cdimages drwxrwxrwx. nobody nobody unconfined_u:object_r:samba_share_t:s0 drivers drwxrwxrwx. nobody nobody unconfined_u:object_r:samba_share_t:s0 installers drwx--x--x. nobody nobody system_u:object_r:samba_share_t:s0 lost+found drwxrwxrwx. nobody nobody unconfined_u:object_r:samba_share_t:s0 shared drwxrwxrwx. nobody nobody unconfined_u:object_r:samba_share_t:s0 tools drwxrwxrwx. nobody nobody unconfined_u:object_r:samba_share_t:s0 utilities drwxrwxrwx. nobody nobody unconfined_u:object_r:samba_share_t:s0 windows_sps_updates
E para um subdiretório:
-rwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 AfterTheRain.jpg -rwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 analyze_minidump.bat drwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 autoit scripts -rwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 AutoItX3.dll drwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 backup -rwxr--r--. nobody nobody system_u:object_r:samba_share_t:s0 cant_hug_every_cat.mp3 -rwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 devcpp-4.9.9.2_setup.exe -rwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 dilbert_kung_fu_coffee_cup.jpg -rwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 dilbert_kung_fu_coffee_cup.png -rwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 dism.txt
E aqui está como as permissões aparecem nesse subdiretório quando montado via GVFS em um computador Linux:
-rwx------ 1 lytithwyn lytithwyn 363665 Aug 19 2011 AfterTheRain.jpg -rwx------ 1 lytithwyn lytithwyn 129 Feb 4 2015 analyze_minidump.bat drwx------ 1 lytithwyn lytithwyn 0 Mar 8 2018 autoit scripts -rwx------ 1 lytithwyn lytithwyn 460104 Jun 1 2014 AutoItX3.dll drwx------ 1 lytithwyn lytithwyn 0 May 28 2014 backup -rwx------ 1 lytithwyn lytithwyn 2371114 Aug 20 15:54 cant_hug_every_cat.mp3 -rwx------ 1 lytithwyn lytithwyn 9326468 Mar 30 2017 devcpp-4.9.9.2_setup.exe -rwx------ 1 lytithwyn lytithwyn 489217 Jul 1 2015 dilbert_kung_fu_coffee_cup.jpg -rwx------ 1 lytithwyn lytithwyn 2663796 Aug 29 2013 dilbert_kung_fu_coffee_cup.png -rwx------ 1 lytithwyn lytithwyn 95 Feb 12 2018 dism.txt
Eu não acho que o problema seja com o SELinux, já que não recebo nada do sealert -a /var/log/audit/audit.log que menciona qualquer coisa sobre o Samba depois que eu tentei alterar um arquivo . Eu reiniciei o servidor também, apenas no caso de ser algo transitório e escamoso.
Eu perdi alguma coisa?
Tags permissions samba4 linux centos