2009-05-07 4 views
2

Ich schreibe einen Windows-Dienst in C#. Ich habe eine Samba-Freigabe auf einem Linux-Server, den ich von der Windows-Maschine durchsuchen/lesen/schreiben kann, und ich habe es einem Laufwerksbuchstaben zugeordnet. Der Windows-Dienst wird als SYSTEM-Benutzer ausgeführt und kann nicht in die Freigabe schreiben.Wie greife ich über einen Windows-Dienst auf eine Linux Samba-Freigabe zu?

Was soll ich ändern?

Antwort

1

ich so einen Eintrag verwenden in meiner Samba-Konfigurationsdatei (smb.conf), um es von jedem Benutzer beschreibbar zu machen.

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

Sie müssen die Freigabe entweder für den Systembenutzer sichtbar machen. oder installieren Sie den Dienst als einen anderen Benutzer als das lokale Systemkonto, das die Berechtigung zum Durchsuchen der Freigabe besitzt.

Sie können das Installationskonto im Project Installer ändern, indem Sie die folgenden 2 Eigenschaften festlegen. (Es ist in der ProjectInstaller.Designer Datei

this.serviceProcessInstaller1.Username = "DOMAIN\\UserName"; 
this.serviceProcessInstaller1.Password = "Password"; 
+1

Wissen Sie, wie man die Freigabe für den Systembenutzer sichtbar machen? – Liam

Verwandte Themen