Como faço para acessar um compartilhamento Linux Samba de um serviço do Windows?
-
08-07-2019 - |
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?
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";