WinSCP clobbersの許可と交換時のグループ


2

アップロードファイルのグループと許可を保持するようwinscpに指示する方法はありますか?webpages / webappバイナリを変更するのにうんざりしていて、サーバーがそれらを読めるようにグループをwww-dataに変更する必要があります。

そうでない場合、代わりにどのアプリを使用できますか?私は主にwinscpを使用して、Linuxサーバーにファイルを簡単にコピー/貼り付けし、ファイルシステムを簡単に閲覧できます(2つ以上のフォルダ間でタイプミスなしで移動できます)

回答:


2

WinSCPは新しいファイルをアップロードする前に既存のファイルを削除するため、問題があると推測しています- 古いファイルに対する「書き込み」権限がない場合は決して発生しないはずです。その場合、削除と置換が唯一の方法ですファイルをアップロードするためのWinSCP。

Linuxで新しいファイルを作成する場合、作成者のプライマリグループはファイルのグループ1になり、アクセス許可は(0666&〜umask)を使用して計算されます2。所有者は権限を変更できますが、ファイルのグループを自分が属するグループにのみ変更できます。

Webサイトの場合、通常setgid、ディレクトリにビットを設定します。これにより、内部で作成するすべてのファイルがそのグループに所有されるようになります。

sudo chown -R :www-data public_html/
find public_html/ -type d -exec chmod g+s {} \;

サーバーのファイルシステムでACLが有効になっている場合、グループのデフォルトのアクセス権も指定できます。

setfacl -Rdm g::rX public_html

または、「setgid」および「chgrp」の手順をスキップして、必要なグループにデフォルトのアクセス許可を割り当てることもできます。

setfacl -Rm g:www-data:rX public_html
setfacl -Rdm g:www-data-rX public_html

既定のアクセス許可が-d設定されているコマンド。)


  1. ディレクトリにsetgidビットがなければ、新しく作成されたファイルはディレクトリのグループを継承します。
  2. ディレクトリのデフォルトACLを使用して影響を受ける可能性があります。

「古いファイルに対する「書き込み」権限がない限り、これは決して起こりません」<-つまり、ディレクトリは777であり、すべてのファイルもそうです。私はchmod -R 777 ./を常に実行し、その後すべてが機能するとき、binフォルダーのアクセス許可を修正します


0

フォルダのgidを設定すると、フォルダグループもwww-dataである限り、グループはwww-dataのままになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.