WinSCPでPermission deniedが出てもあきらめないで

共同作業しているVPSのLinuxサーバーで、同じグループのユーザが、WinSCPから更新できない、とヘルプ要請が来ました。ファイルのパーミッションはグループに対する書込みも許可されており、sshでログインしたときには、ちゃんと編集できました(ちなみにhtmlファイルなのでviで編集)。なんで?なんで?

Googleで検索して、やっと
複数の一般ユーザーが編集できるディレクトリ/ファイル作成
このページから「リクエストコード: 9」というキーワードを見つけて、
winscpで問題-「パーミッションを保持」「タイムスタンプを保存」のオプションをオフにしてください-
このページでエラーメッセージは表示されるものの、ファイル自体は更新されている、ということを知りました。確かに、ファイルの中身を確認したところ、更新されてました。中身を確認すべきだったのでしょうけど、メッセージが出ていたら、更新されていない、と思いますよね。
ともあれ、いくら更新されているとは言え、メッセージが気持ち悪いので、上記ページの解決策どおり「パーミッションを保持」をオフにしたところ、エラーメッセージも出なくなりました。めでたし、めでたし。

グループに対して書き込み許可があるので、アップロード(更新)は出来たけど、ファイルのオーナーではないので、パーミッションやタイムスタンプを保持しようとしても、それは出来ないよ、と言われている、ということなんでしょうね。

2015-06-19追記

また別のユーザから同じような報告がありまして、キャプチャーを送ってくれました。それを見たところ、
WinSCPダイアログ
「ファイル~~のアップロードは成功しました」と書いてあるんですね。しかも「パーミッションの設定・タイムスタンプの設定を無効にする」とも書いてありました。ん~、でもこれをもって良く読めよ!とは言えないなぁ。せめて、もうちょっと仰々しくないようなメッセージにして欲しいなぁ、これだけ見せられると更新も出来ていない気がしちゃうだろうとは思います。

さて、せっかくなので、設定方法もメモしておこうと思います。2015年6月現在、僕が利用しているのは、WinSCP 5.7.3です。

まずは設定画面を呼び出します。
WinSCPメニュー
ログイン画面から「ツール」メニューの「環境設定…」を選択します。
WinSCP設定画面
左メニューから「転送」を選択し、「転送設定のプリセット」が「デフォルト」を選択していることを確認の上、「編集…」ボタンをクリックします。
WinSCP転送設定
転送設定画面で「共通の設定」の「タイムスタンプを保存する」のチェックを外して「OK」ボタンをクリックして設定します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です