【WinSCP】ファイル更新する時のパーミッション/タイムスタンプ設定エラーの解決方法の紹介

WinSCPを使用してファイル更新すると対象ファイルの書込み権限(パーミッション)があるにも関わらず、「パーミッション/タイムスタンプの設定中にエラーが発生しました。」と記載された、次のようなダイアログが表示されることがあります。

パーミッション/タイムスタンプ設定中にエラーが発生しましたのエラーダイアログ

今回は、ファイル書込み権限があるにも関わらず、エラーダイアログが表示されてしまう事象の解決方法を紹介していきます。

スポンサーリンク

検証環境

検証に使用した環境/ライブラリを次に記載します。

  • WinSCP
    • バージョン:5.1.17(ビルド 10640)

前提条件

ファイル書込み権限が必要となるため書込み権限があることを確認します。すでに書込み権限があることを確認している場合は、ここの内容は不要のためスキップしてください。

権限を設定するためには、管理者権限や対象ファイルの所有者などの権限が必要になります。

WinSCPを使用して確認/設定する

対象ファイルを選択して、次のいずれかの方法でプロパティ画面を表示します。

  1. 右クリックメニューから「プロパティ」を選択する。
  2. 「Alt + Enterキー」を押下する。

プロパティ画面の「全般」タブの「パーミッション」の「W(書込み権限)」のチェックボックスを確認します。

次の例では、「グループ」、「その他」の項目がチェックされていないため、チェックボックスを選択して書込み権限を設定します。

ファイルのプロパティ(全般タブ)の画面

「8進数」を「0777」に指定しても権限を設定することができます。この場合は、すべてのユーザに書込み権限を設定することになります。

権限を変更するときは、セキュリティの問題が発生することもあるため気を付けてください。

コマンドを使用して確認/設定する

対象ファイルが存在している場所に移動して、次のコマンドで権限を確認します。

$ ll
-rw-r-----  1 user group 0 date_time ファイル名

-rw-r-----」と表示されている箇所が権限になります。すべてのユーザに書込み権限が設定されている場合は、「-rw-rw-rw-」となります。

対象ファイルの権限を設定するためには、chmodのコマンドを使用します。次のコマンドはすべてのユーザに書込み権限を設定します。

$ chmod 777 ファイル名

権限を変更するときは、セキュリティの問題が発生することもあるため気を付けてください。

ファイル権限の変更ができていることを、次のコマンドで確認します。

$ ll
-rwxrwxrwx  1 user group 0 date_time ファイル名

-rwxrwxrwx」と表示されていれば書込み権限が設定されています。

解決方法

対象ファイルの書き込み権限があるにも関わらずエラーダイアログが表示される事象は、WinSCPの設定を変更することで解決することができます。

WinSCPの「転送設定」のダイアログを次の手順で表示します。

  1. メニューバーの「表示」から「環境設定」を選択します。
  2. 「転送」の項目を選択します。
  3. 「転送設定のプリセット」から「デフォルト」を選択して、「編集」を押下します。

「転送設定」のダイアログが表示できたら、次のいずれかの設定を変更します。

  1. 「共通の設定」の 「タイムスタンプを保持する」のチェックボックスを外します。
  2. 「アップロード時の設定」の「パーミッションエラーを無視する」のチェックボックスを設定します。

どちらかの設定後に「OK」を押下します。この状態でファイル更新を実施すると、エラーダイアログが表示されなくなります。

補足情報

公式サイトでもファイル更新する権限があるにも関わらず、権限変更やタイムスタンプを更新するための権限がないとエラーになることが記載されています。

Note that while you may have rights to overwrite the remote file, you may not have rights to change its attributes (permissions and timestamps). If you upload set of files, where for some you do not have the rights, you may want to check Ignore permission errors to avoid being prompted with error message for each of them. This option is supported with SFTP protocol only.

https://winscp.net/eng/docs/ui_transfer_custom#upload

まとめ

WinSCPを使用してファイル更新するときに、エラーダイアログが表示される事象の解決方法を紹介しました。