A solução no meu caso foi montar o disco com a seguinte opção fstab
//server/share /mnt cifs username=USER,password=PSWD,rw,file_mode=0755,dir_mode=0755,uid=http 0 0
O importante parece ser a opção uid=http
.
Para configurar um repositório svn (rodando em arch linux) eu gostaria de usar meu NAS para armazenar o repositório. Eu só posso montá-lo com CIFS (smb).
No início, houve um problema em que o usuário do httpd não pôde gravar no sistema de arquivos que resolvi adicionando as opções rm,file_mode=0777,dir_mode=777
.
A próxima mensagem de erro que apareceu ao tentar confirmar algo com o repositório foi Can't set permission on ...
, que vem do fato de que não há permissões que podem ser definidas porque não é um sistema de arquivos unix. Agora estou pensando se seria possível montar o compartilhamento de forma que ele seja de propriedade do httpd já com as permissões já definidas corretamente.
Então, minha pergunta agora é qual file_mode
e dir_mode
devo escolher para o svn aceitá-la? É possível de alguma forma? E como eu montaria um compartilhamento CIFS com um usuário específico. Todas as informações que encontrei neste tópico até o momento também continham a opção umask que meu sistema operacional não deseja aceitar porque foi substituída por file_mode
e dir_mode
se eu entendi corretamente.
A opção de retorno seria, obviamente, não usar o NAS, mas um disco normal e sincronizar com o NAS com um trabalho.
Quais outras opções você precisa? Estou usando a mais recente (e atualizada) versão ARM do Arch Linux e instalei o svn do apache conforme descrito aqui .
O selinux está ativado? Em caso afirmativo, o disco remoto foi abençoado para permitir que o httpd grave nele?
Está executando o seu cliente de subversão sobre o ssh em vez de uma opção http? Descobri que executar uma confirmação como um usuário local (via ssh) às vezes permite gravar em discos montados de maneira não convencional nos casos em que o usuário do httpd não pode.
Para montar um compartilhamento cifs como um usuário específico, você terá que ter uma senha armazenada em algum lugar. Diretamente nas opções do fstab ou em um arquivo de credenciais referenciado nas opções de montagem. Este tópico do Ubuntu pode ajudar: link
Tags fstab cifs arch-linux subversion