UbuntuサーバーでvsftpdFTPサーバーを実行していますが、ファイルをアップロードするようにNetbeans Webプロジェクトをセットアップすると、所有者とグループが_karel:karel
_に変更されます。これは、_www-data
_ユーザーはファイルを読み取ることができなくなり、Webサーバーは動作を停止します。
_local_enable
_を有効にして、Ubuntuアカウント「karel」を使用してFTPサーバーにログインします。 Windows10マシンからNetbeansプロジェクトを実行しています。
ファイルのアップロード時に所有者とグループの変更を無効にする設定はありますか? _karel:www-data
_にとどまるために必要です。 この質問 を読みましたが、_local_umask
_設定の使用を含むすべての回答は、ファイル特権の変更についてのみ話します。私の問題は、グループの変更です。
_chown_username
_は匿名ユーザーによるアップロード用ですが、私は望んでいません。ユーザーグループkarel
を削除できます。それが役立つ場合は、何も必要ありません。
他の解決策は、誰もがファイルから読み取れるようにすることです。とにかく私だけがアクセスできるのは仮想マシンだけですが、アップロード後にファイルグループを変更せずに、適切な方法で実行したいと思います。たとえば、WinSCPはアップロード時にファイルグループを変更しません。
Netbeansの使用経験はありません。しかし、 answer から netbeans phpプラグインがFTPでファイルをアップロードするときにファイルのパーミッションを制御する方法 のスクリーンショットが関連している場合は、以下を確認する必要があると思います。
ファイルを直接アップロードする(一時ファイルは使用されません)
このオプションをオフにすると、デフォルトの所有権を持つ新しいファイルが作成されます。チェックすると、既存の所有権を持つ既存のファイルが上書きされます。 WinSCPの動作と同等のものは何ですか。
不利な点は、アップロードの期間中、Webサイトが機能しなくなる可能性があることです。
私の知る限り、 vsftpd config には2つの重要な設定があります。
file_open_mode
The permissions with which uploaded files are created.
Umasks are applied on top of this value. You may wish to
change to 0777 if you want uploaded files to be executable.
Default: 0666
local_umask
The value that the umask for file creation is set to for local users.
NOTE! If you want to specify octal values, remember the "0" prefix
otherwise the value will be treated as a base 10 integer!
Default: 077
したがって、次のいずれかを実行できます。
www-data
グループに入れます(Unix/Linuxでは、デフォルトのグループがIDと同じである必要があり、サーバー上のkarel
IDの主な目的がサーバーの管理である場合は何も義務付けられていません。 、www-dataグループにすると意味があります)。2020年には、ユーザーとサーバー間でGitリポジトリを共有し、特定のブランチでアクションが発生したときにGitフックを使用してサーバーにコードをデプロイすることが一般的になっていることに注意してください。