WinSCP経由でWindowsからLinuxに実行可能ファイルを転送する

WinSCP経由でWindowsからLinuxに実行可能ファイルを転送する

LinuxからWindowsにファイルを転送すると、Windowsで実行権限が失われ、その逆も同様です。

答え1

ファイルはLinuxとWindowsで非常に異なる方法で処理されます。 WindowsはLinuxファイル権限の実行可能ビットを知りません。ファイルがLinuxからWindowsに、またはその逆に転送されると、この情報(その他の権限を含む)は失われます。

Windowsのscpクライアントは、コピーされたファイルに対する権限を「Windows方式」に設定した可能性が高いです。クライアントは、新しいファイルの所有者である特定のユーザーとして実行されます。その逆の場合も同様です。 Linux側のscpクライアントは、実行中のユーザーとして新しいファイルを作成し、元の権限は失われます。

答え2

持つはっきりしないUnixとWindowsの権限の間には1対1の対応があります。似たような。 CygwinとMinGWはこの例えを使用して、Windowsファイルシステム上のUnix権限をエミュレートします。

WinSCPできるWindowsにコピーするときにこれらの例えを使用するように書かれていますが、ファイルを作成するときにUnixファイルの権限を模倣するように調整するのではなく、継承されたフォルダの権限に依存しています。ここが情報を「失う」ところです。 Unixに戻って設定可能です。

追加資料:

答え3

しかし、実際にはそうではありません。何度も試してみましたが、実行権限がなくなりませんでした。しかし、あなたの場合は、chmod 777を試してみることができます。

Linuxでは、root権限で上記を試してから転送してみてください。

答え4

Linuxでは、実行可能ファイルを右クリックして[権限]をクリックします。

チェックボックスを選択してください。ファイルの実行を許可

そしてファイルを実行してみてください。

関連情報