アップロードファイルのグループと許可を保持するようwinscpに指示する方法はありますか?webpages / webappバイナリを変更するのにうんざりしていて、サーバーがそれらを読めるようにグループをwww-dataに変更する必要があります。
そうでない場合、代わりにどのアプリを使用できますか?私は主にwinscpを使用して、Linuxサーバーにファイルを簡単にコピー/貼り付けし、ファイルシステムを簡単に閲覧できます(2つ以上のフォルダ間でタイプミスなしで移動できます)
アップロードファイルのグループと許可を保持するようwinscpに指示する方法はありますか?webpages / webappバイナリを変更するのにうんざりしていて、サーバーがそれらを読めるようにグループをwww-dataに変更する必要があります。
そうでない場合、代わりにどのアプリを使用できますか?私は主にwinscpを使用して、Linuxサーバーにファイルを簡単にコピー/貼り付けし、ファイルシステムを簡単に閲覧できます(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
設定されているコマンド。)
一時ファイル(ターゲットファイル名に変更される)に転送しないようにWinSCPを構成する必要があります。その後、WinSCPはターゲットファイルに直接書き込み、アクセス権/所有権をそのまま保持します。
フォルダのgidを設定すると、フォルダグループもwww-dataである限り、グループはwww-dataのままになります。