Pergunta

Eu estou escrevendo um serviço do Windows em C #. Eu tenho um compartilhamento do Samba em um servidor linux que eu posso navegar / ler / escrever a partir da máquina Windows e eu tenho isso mapeado para uma letra de unidade. O serviço do Windows está sendo executado como o usuário do sistema e não pode escrever para o compartilhamento.

O que devo mudar?

Foi útil?

Solução

Eu usei uma entrada como esta no meu arquivo de configuração do Samba (smb.conf) para torná-lo gravável por qualquer usuário.

[myshare]
   comment = My Share
   path = /home/myusername/myshare
   public = yes
   writable = yes
   #maps all users to the nobody user?
   only guest = yes

Outras dicas

Você precisa se quer tornar o compartilhamento visível para o usuário do sistema. ou instalar o serviço como um usuário que não seja a conta do sistema local que realmente tem permissão para navegar na ação.

Você pode alterar a conta de instalação no instalador do projeto, definindo as seguintes 2 propriedades. (É no Arquivo ProjectInstaller.Designer

this.serviceProcessInstaller1.Username = "DOMAIN\\UserName";
this.serviceProcessInstaller1.Password = "Password";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top