L'autorisation d'exécution de script shell n'est pas conservée sur l'invité Windows VM dans Cygwin

0

J'ai une machine Ubuntu qui exécute une machine virtuelle Windows 7. J'utilise VMware Workstation 15 Pro. Mon répertoire personnel est partagé avec la machine virtuelle et est mappé en tant que lecteur réseau sur l'invité Windows.

J'ai un script que je veux exécuter en utilisant Cygwin sur un invité Windows. Sous Linux, les autorisations sont rwxr-xr-x. Cependant, dans Cygwin sur l'invité Windows, les autorisations sont rw-r--r--. Je perds ma permission d'exécution. De Cygwin si je chmod le fichier à ajouter une autorisation d'exécution (par exemple:) chmod u+x foo.shil n'y a aucun changement Comment puis-je ajouter une autorisation d'exécution dans l'invité Windows? Est-ce un problème avec le partage VMWare ou est-ce un problème avec les partages réseau en général?

Le script shell commence par #!, c’est pourquoi, par défaut, cygwin devrait le traiter comme un fichier exécutable s’il s’agissait d’un fichier local. Selon le manuel de cygwin, s’il s’agissait d’un partage NFS, il devrait fonctionner . Je ne suis pas sûr si le problème est que cela ressemble à SMB, ou si c'est un problème plus profond avec la façon dont VMWare partage les fichiers.

Entaille
la source
Utilisez-vous des dossiers partagés VMware ou montez-vous réellement votre répertoire personnel en tant que partage réseau (par exemple, CIFS / SMB)?
jamesdlin
1
Il semble que l'autorisation d'exécution ait été désactivée pour le montage. Si Cygwin n’a pas de capacités de montage, vous devriez vérifier les paramètres / la politique de sécurité de Windows
matzeri
@jamesdlin C'est un dossier partagé VMware. Mais sur un invité Windows, cela ressemble à un partage réseau Windows / SMB, et j'ai coché la case pour le faire ressembler à un lecteur réseau monté au démarrage. Je n'ai pas réellement configuré un partage réseau sur l'hôte.
Nick