Pregunta

Estoy escribiendo un servicio de Windows en C #. Tengo un recurso compartido de samba en un servidor Linux que puedo explorar / leer / escribir desde la máquina de Windows, y lo he asignado a una letra de unidad. El servicio de Windows se ejecuta como usuario del SISTEMA y no puede escribir en el recurso compartido.

¿Qué debo cambiar?

¿Fue útil?

Solución

Utilicé una entrada como esta en mi archivo de configuración de samba (smb.conf) para que cualquier usuario pueda escribirla.

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

Otros consejos

Debe hacer que el recurso compartido sea visible para el Usuario del sistema. o instale el servicio como un Usuario que no sea la Cuenta del sistema local que realmente tenga permiso para explorar el recurso compartido.

Puede cambiar la cuenta de instalación en Project Installer configurando las siguientes 2 propiedades. (está en el archivo ProjectInstaller.Designer

this.serviceProcessInstaller1.Username = "DOMAIN\\UserName";
this.serviceProcessInstaller1.Password = "Password";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top