【WinSCP】 set times : Operation not permitted. でエラーが出る

VPSが流行っています!猫も杓子もVPSです!そんな私もVPSです!

「クラウドとか言っておけばウケる」的な世の中になり、結構な時が経ちました。WEB2.0ってなんだったんだ…そんなことはさておきw、やりたい放題ですので快適です。

快適なのです・・・が、柔軟性がありすぎるがゆえに、いわゆるレンタルサーバでは起こりにくいエラーが発生して弱小エンジニアを困らせます。

たとえばこちら、WinSCPにてファイル転送(or直接編集して更新)後、

ファイルのコピーに失敗~ set times : Operation not permitted.

2016-01-22_23h16_51

エラーが表示され、orz. です。テンションガタ落ちです。全てのやる気を失います。

※普通は、エラーが出たら転送失敗してるやろ…思いきや、ファイルはすでに書換えられています。

このエラーは「ログインしているユーザが、書き換えようとしているファイル (ここではlogin.ctp)の所有者ではない」が、「所属するグループには書き換え権限が与えられてる場合」によく起こるようです。つまり、ファイル自体の書換え自体は行われるが、その次の動作でファイルのタイムスタンプを書き換えようとしたときに弾かれるようです。

レン鯖ではユーザアカウントは固定で1つのことが多いので、こういったことが起こりにくいですが…VPSや専用鯖ですと、設定から何からやりたい放題ですから、ユーザアカウントも複数作って、グループをうまく活用すれば、サイトを複数人数で管理をする運用も可能になります。

たとえば [www] というグループを作成し、そこにapache,nginx, user1, user2 , などを属させておき、/var/www/html/ をグループ www に編集権を与えておけば複数人での更新作業などが出来るようになる…とかいう感じですね。

 

能書きはいいから、とっとと解消法を教えろという、せっかちなあなたに。

WinSCPのデフォルト設定では、ファイル更新時にタイムスタンプも書き換えるように設定されています↓ので、この部分のチェックを外したプリセットをつくって保存しましょう。

WinSCPにおいて【環境設定】→【 転送】 →【 転送のプリセット】で、その転送につかう設定を一部変更すればこのエラーは出なくなります。

2016-01-22_23h30_04

□ タイムスタンプを保存する のチェックを外すだけ!お困りの方の参考になれば…( ´▽`)

 

コメントを残す

メールアドレスが公開されることはありません。