Question

J'écris un service Windows en C #. J'ai un partage Samba sur un serveur Linux que je peux parcourir / lire / écrire à partir de la machine Windows, et je le mappe sur une lettre de lecteur. Le service Windows s'exécute en tant qu'utilisateur SYSTEM et ne peut pas écrire sur le partage.

Que devrais-je changer?

Était-ce utile?

La solution

J'ai utilisé une entrée comme celle-ci dans mon fichier de configuration samba (smb.conf) pour la rendre accessible en écriture à tout utilisateur.

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

Autres conseils

Vous devez rendre le partage visible pour l'utilisateur système. ou installez le service en tant qu'utilisateur autre que le compte système local ayant l'autorisation de parcourir le partage.

Vous pouvez modifier le compte d'installation dans Project Installer en définissant les 2 propriétés suivantes. (dans le fichier ProjectInstaller.Designer

this.serviceProcessInstaller1.Username = "DOMAIN\\UserName";
this.serviceProcessInstaller1.Password = "Password";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top