Berechtigung bei Verwendung von mv in Windows 7 Cygwin verweigert

7

Ich habe Cygwin unter Windows 7 in einer Windows-Domänenanmeldeumgebung installiert. Ich kann die meisten typischen Befehle ohne Probleme ausführen, aber ich kann den Befehl "mv" nicht für mein ganzes Leben verwenden, um Dateien zu verschieben oder umzubenennen, unabhängig von der Datei oder dem Verzeichnis.

Ich kann ohne Probleme Dateien kopieren und erstellen.

┌─[12:27:57]─[mbutl2@MYHOSTNAME]
└──> tmp $ >> pwd
/tmp
┌─[12:27:58]─[mbutl2@MYHOSTNAME]
└──> tmp $ >> touch test.txt
┌─[12:28:02]─[mbutl2@MYHOSTNAME]
└──> tmp $ >> mv test.txt hello
-bash: /usr/bin/mv: Permission denied

Ich habe bereits versucht, das Cygwin-Terminal als Administrator auszuführen, und das Problem ist dasselbe.

Ich bin offen für Problemumgehungen, z. B. das Ausprobieren einer anderen Exe zum Verschieben von Dateien und das Umleiten des Befehls mv dorthin. Das Verschieben von Dateien funktioniert in der Windows-Eingabeaufforderung.

UPDATE: Es scheint, dass es auf meinem Laptop eine Sicherheitsbeschränkung gibt, die entweder den Zugriff auf / das Kopieren / die Ausführung des Programms "mv.exe" anhand seines Namens oder seiner Heuristik verhindert. Immer noch bereit, Problemumgehungen zu akzeptieren, die den oben erwähnten Befehl mv ersetzen.

UPDATE 2: Screenshots in der Windows-Befehlszeile und beim Öffnen von mv.exe in Windows.

Windows-Eingabeaufforderung

Geben Sie hier die Bildbeschreibung ein

UPDATE 3: Ausgabe des fileBefehls:

┌─[12:36:09]─[mbutl2@MYHOSTNAME]
└──> ~ $ >> file /usr/bin/mv
/usr/bin/mv: writable, executable, regular file, no read permission
┌─[12:36:15]─[mbutl2@MYHOSTNAME]
└──> ~ $ >> chmod 777 /usr/bin/mv
chmod: changing permissions of `/usr/bin/mv': Permission denied
┌─[✗]─[12:36:29]─[mbutl2@MYHOSTNAME]
└──> ~ $ >> mv
-bash: /usr/bin/mv: Permission denied
┌─[✗]─[12:36:35]─[mbutl2@MYHOSTNAME]
└──> ~ $ >>

ldd meldet auch die verweigerte Erlaubnis.

Michael Butler
quelle
Versuchen Sie, die Dateiberechtigungen Mv.exe zu ändern. Weitere Informationen finden Sie in diesem Artikel: uwec.edu/Help/drives/permissions.htm
stderr
Kommt dies auch in der Windows-Eingabeaufforderung (cmd) vor?
Harrymc
Es lohnt sich zu überprüfen, ob die Berechtigungen für c:\cygwin\bin\mv.exeWindows und Cygwin die Ausführung für die von Ihnen verwendeten Konten zulassen. Sehen Sie auch, was passiert, wenn Sie im Windows Explorer auf diese ausführbare Datei doppelklicken. Wenn eine UAC-Eingabeaufforderung angezeigt wird, wird in Cygwin der Fehler angezeigt, der unabhängig von den Berechtigungen auftritt. Ich kenne keine Möglichkeit, dies zu umgehen, außer die Benutzerkontensteuerung vollständig zu deaktivieren, was selten wünschenswert ist.
Aaron Miller
Ich habe die Frage mit Screenshots aktualisiert, was in den vorgeschlagenen Szenarien passiert. Wenn die Benutzerkontensteuerung dies verursacht, wird dies durch den Dateinamen, den Dateipfad oder eine Art Hash-Schlüssel der ausführbaren Datei gesteuert. Mit anderen Worten, könnte ich die ausführbare Datei ändern (oder eine neue erstellen), die dasselbe tut, aber woanders lebt, mit einer anderen Hash-Signatur?
Michael Butler
1
@ MichaelButler: Was ist Ihr Antivirus?
stderr

Antworten:

6
  • Überprüfen Sie, ob die Datei von Windows blockiert wurde.

    Überprüfen Sie die propertiesDatei. Möglicherweise wird der folgende Hinweis angezeigt: This file came from another computer and might be blocked to help protect this computerUm die Datei zu überprüfen und zu entsperren, gehen Sie folgendermaßen vor: Klicken Sie mit der rechten Maustaste auf die blockierte Datei, und klicken Sie dann auf Properties. Klicken Sie auf der Registerkarte Allgemein auf, Unblockob die Option verfügbar ist.

  • Überprüfen Sie, ob Ihr Antivirenprogramm die Datei blockiert.

    Sie können überprüfen, ob Ihre Antivirensoftware eine Datei blockiert, indem Sie sie vorübergehend deaktivieren und dann versuchen, die Datei zu öffnen.


Aktualisieren:

  1. Klicken Sie mit der rechten Maustaste auf die Datei oder den Ordner, und klicken Sie dann auf Properties.
  2. Klicken Sie auf die SecurityRegisterkarte.
  3. Klicken Sie unter Gruppen- oder Benutzernamen auf Ihren Namen, um Ihre Berechtigungen anzuzeigen.
  4. Klicken Sie auf Bearbeiten, aktivieren Sie die Kontrollkästchen für die erforderlichen Berechtigungen und klicken Sie dann auf OK.

Ergebnis:

Geben Sie hier die Bildbeschreibung ein


Update 2 :

Versuche dies:

  • Klicken Sie mit der rechten Maustaste und wählen Sie Properties.
  • Klicken Sie auf die SecurityRegisterkarte.
  • Klicken Sie auf Advanced.
  • Klicken Sie auf die OwnerRegisterkarte.
  • Wechseln Sie den Besitzer zu sich selbst.
  • Klicken Sie auf Edit.
  • Überprüfen Sie Replace owner on subcontainers and objects.
  • Klicken Sie auf OK.
stderr
quelle
Die Eigenschaften sagten nichts darüber aus, von einem anderen Computer zu kommen. Antivirus ist VirusScan Enterprise (über ein Netzwerk verwaltet). Ich kann den automatischen Scan über den Kippschalter ausschalten, dies hat jedoch keine Auswirkungen auf das Öffnen, Verschieben oder Umbenennen der Datei mv.exe.
Michael Butler
Interessant. Wenn ich Berechtigungen auf der Registerkarte Sicherheit im ORDNER festlege, wird beim Festlegen von Berechtigungen für die Datei mv.exe "Zugriff verweigert" angezeigt. Screenshot beigefügt.
Michael Butler
@ MichaelButler: Meine Antwort wurde aktualisiert. Sehen Sie, ob Sie jetzt können.
stderr
Update 2 hat funktioniert. Für mich war es passiert, dass ich Cygwin mit einem Windows-Benutzer installiert und versucht hatte, von einem anderen aus darauf zuzugreifen.
Thameera
2

Die Problemumgehung bestand darin, das Dienstprogramm mv.exe von Cygwin erneut herunterzuladen und unter einem anderen Namen wie mvvv.exe zu speichern (bevor ich es tatsächlich herunterlade, da ich keinen Zugriff auf das Umbenennen von mv.exe habe). Dann habe ich einen symbolischen Link eingerichtet, um mv auf mvvv.exe zu verweisen, damit ich ihn normal verwenden kann.

Michael Butler
quelle
Sie sollten in der Lage sein, einen symbolischen Link zu erstellen: ln -s mmv /usr/bin/mvzur Verwendung mvbei Eingabeaufforderungen und / oder Skripten. Außer, dass etwas Besonderes mit dem Dateinamen mv auf Ihrem Computer ist ...
mpy
Ist meine Antwort hier eine Option (dieses Monster loszuwerden), da McAfee das Problem zu sein scheint?
Harryc
@mpy Danke! Geniale Problemumgehung. Viel besser als ein Alias. 'mv' ist in Ordnung, da ich in Cygwin bin und keine "exe" brauche. "mv.exe" ist das Problem. Ich habe einen Slink zu mvvv.exe namens mv gemacht und jetzt ist alles normal.
Michael Butler
@harrymc sorry Harry, während McAfee das Problem war, denke ich, dass eine Lösung die beste Antwort ist (der symbolische Link zu einer anders benannten mv.exe)
Michael Butler
0

Nur für den Fall, dass mit mv.exe auf Ihrer Festplatte ein Fehler aufgetreten ist, würde ich versuchen:

  • deinstalliere Cygwin
  • chkdsk
  • Stellen Sie sicher, dass mv.exe mit seinem gesamten Ordner gelöscht wurde
  • Installieren Sie Cygwin neu

[BEARBEITEN]

Sie sagen, dass Ihr Antivirenprogramm McAfee ist, was meiner Meinung nach eines der problematischsten aller Antivirenprodukte ist.

Ich würde vorschlagen, den Echtzeitschutz in McAfee zu deaktivieren, um festzustellen, ob das Problem behoben ist. In diesem Fall empfehle ich McAfee zu deinstallieren und ein anderes, weniger aufdringliches Antivirenprodukt zu installieren.

harrymc
quelle
Sie haben die Schritte "Laufwerk ersetzen" und "Windows neu installieren" vergessen.
Tony
@ Tony: Ich bin weit darüber hinaus: Ich arbeite jetzt an "Neuinstallation des Planeten". Im Ernst, das Ersetzen von McAfee entspricht nicht den von Ihnen vorgeschlagenen Aktionen. Mein Unternehmen hatte große Probleme mit Client-Computern, auf denen McAfee installiert war. Daher bin ich jetzt leicht allergisch dagegen.
Harrymc