web-dev-qa-db-ja.com

UbuntuでvsFTPdのデフォルトのアップロードファイル権限が機能しない

私はbuntu 12.10 x64を実行しているサーバーと、vsFTPdの最新バージョンを持っています。

ユーザーexample.comのホームフォルダーは/var/www/example.comに設定されています。

内部にpublic_htmlフォルダーを作成し、777権限を付与し、ホームユーザーフォルダーの書き込み権限を削除しました。すべてがうまく機能していますが、

FTPで(SmartFTPを使用して)アップロードしたファイルはすべて、chmodが0になります。

私のvsftpd.confには1行しか関連していませんでした:

local_umask=022.

私は次のように変更しようとしました:

file_open_mode=777
local_umask=002

そのため、アップロードするとすぐにファイルが775になります。

しかし、アップロードされたフォルダのみが775権限を取得しています。

アップロードしたファイルは1411 permissionsを取得します

誰かがそれを解決するのを手伝ってくれる?

14
lucasmx

私の答えを得ました:

Www-dataはWebサーバーを担当するユーザーであり、通常のユーザーはftpサーバーを担当するため、最初に両方を同じグループ(グループwww-data)のメンバーにする必要があります。

カスタムユーザーの作成:

useradd –d /var/www/asasd.com -g www-data -m yourusernameこのように、ホームディレクトリは/ var/www/asasd.comになり、ユーザーはwwwになります-dataグループ。

この後、passwdと入力してユーザーパスを変更します。

次に、public_htmlフォルダーをyourusernameホームフォルダー内に作成する必要があります。FTPはホームフォルダーのルートに書き込むことができる場合は、サブフォルダーを作成する必要があります。

yourusernameフォルダーの書き込み権限を削除chmod a-w /var/www/asasd.com

次に、サブフォルダーに新しい権限を適用します:chmod -R 775 /var/www/asasd.com/public_html(グループ全体(ftpおよびwww-data)が書き込み可能にするため、ユーザー書き込み権限ではなくグループ書き込み権限が必要なため、775 chmodを使用する必要があることに注意してください)次に、 www-dataのフォルダーchown -R www-data:www-data /var/www/asasd.com/public_html

この方法では、FTPを使用でき、Webサーバーが機能している必要があります。

幸運を!

おかしいこの情報を見つけるのはとても難しいです。人々はもう知識を共有していませんか?

7
lucasmx

私は結局使用しました

file_open_mode=0777
local_umask=022

vsftpd.conf。問題は、FTPユーザーとwww-dataユーザーの両方に書き込み権限が必要だったため、www-dataとftpuserをwww-dataユーザーグループに参加させ、CHMOD -R 775/var/www上のすべてのファイルをその方法で、 CHMODが775の場合、グループには読み取り、書き込み、実行の権限が与えられます。今では完全に機能しています。

11
lucasmx

FTP経由でファイルをアップロードすると、ファイルのアクセス許可が変更されるなどの問題もありました。これは、_vsftpd.conf_を1行変更することで修正されます。

local_umask=val(like 022,007,etc.,)

0
vijay