Das BASIC-Programm auf der Samba-Freigabe erhält beim Starten eines anderen Prozesses 'Zugriff verweigert'

1050
hvtilborg

Das ist die Situation. Wir haben einen Synology NAS (mit DSM 5.0), auf dem eine Windows-Dateifreigabe gehostet wird general. Die Berechtigungen dieses Ordners werden wie im Screenshot festgelegt:

'general' folder Synology permissions

Dieser Ordner wird als zugeordnetes Netzlaufwerk auf Windows 7-Clients (32-Bit) (als zugeordnet Z:) verwendet. Für diese Freigabe ist keine Authentifizierung erforderlich. Dh jeder kann darauf zugreifen.

Auf diesem zugeordneten Laufwerk befindet sich ein altes Microsoft BASIC 7-Programm. Dieses Programm selbst PROGRAM.EXEfunktioniert korrekt. Es läuft, kann Dateien und Ordner erstellen, usw. Kein Problem.

Das Problem tritt auf, wenn das Programm eine temporäre Datei erstellt (etwa INVOICE.TXT) und dann versucht, einen anderen Prozess zu starten, dh die erstellte Textdatei auf nette Weise zu drucken. Laut dem Entwickler des Programms wird SHELL Z:\INVOICE.EXEdieser Prozess gestartet. Was das Programm zeigt, wenn dieser ausgeführt wird, ist: Access denied.

Das Seltsame ist, dass wenn ich INVOICE.EXEmanuell von Windows Explorer aus laufe, alles gut geht (dh die Rechnung wird gedruckt).

Ich möchte hinzufügen, dass, wenn sich beide Programme auf einer lokalen Festplatte oder auf einer freigegebenen Festplatte eines anderen Windows-Hosts befinden, alles gut funktioniert.

Ich habe keine Ahnung, was schief läuft. Was ich bisher ausprobiert habe:

  • Deaktivierte UAC
  • IP-Adresse der Synology wurde den vertrauenswürdigen Websites von Internet Explorer hinzugefügt.
  • Wenn sich beide Programme auf einer lokalen Festplatte befinden, funktionieren alle einwandfrei.
  • Wenn sich beide Programme auf einer anderen Windows-Maschine befinden, funktioniert alles einwandfrei.
  • Ran PROGRAM.EXEals Administrator (dies funktionierte nur nach Sharing - Laufwerke mit allen Benutzern zugeordnet ).
  • Die Berechtigungen des Ordners wurden wie in der Abbildung gezeigt geändert. Sein Verzeichnisinhalt sieht jetzt so aus:

    synology> ls -l /volume1 ... drwxrwxrwx 33 guest users 4096 Oct 2 14:28 general ... 

    Alle Unterordner und Dateien haben die gleichen Berechtigungen. Das Begleitschema synoacltoolzeigt dies für den Ordner (und die Unterordner + Dateien):

    synology> synoacltool -get /volume1/general ACL version: 1  Archive: has_ACL,is_support_ACL  Owner: [guest(user)]  ---------------------  [0] group:users:allow:r-x---a-R-c--:---n (level:0) [1] everyone::allow:rwxpdDaARWcCo:fd-- (level:0) 

Aber alles ohne dass es funktioniert ...

2
Kann PROGRAM.EXE INVOICE.EXE erfolgreich ausführen, wenn der NAS nicht beteiligt ist? Kopieren Sie zum Beispiel die Programme und die erforderlichen Datendateien auf Ihren Desktop, entfernen Sie Z: und mappen Sie stattdessen Z: auf eine lokale Partition (damit das BASIC-Programm nicht geändert werden muss, um INVOICE.EXE von einem anderen Ort als. Aufzurufen Z :). Dies kann helfen zu isolieren, ob der NAS zum Problem beiträgt oder nicht. Nick Russo vor 9 Jahren 0

1 Antwort auf die Frage

1
Jason

Versuchen Sie, SMBv2 auf Ihrem Windows 7-Client zu deaktivieren . Viele Benutzer melden Probleme mit neueren Versionen von SMB mit älteren Anwendungen oder Nicht-Windows-Systemen.

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabled 

Muss als Administrator ausgeführt werden und muss neu gestartet werden, damit die Befehle wirksam werden.

Ich möchte hinzufügen, dass ich die Synology-Option "SMB2 und Large MTU aktivieren" (unter der Registerkarte "Dateidienste" des Control Panels) aktiviert habe. Wenn Sie diese Option deaktivieren, wird auch das Problem gelöst, ohne dass alle Clients dies tun müssen. hvtilborg vor 9 Jahren 0