私は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
を取得します
誰かがそれを解決するのを手伝ってくれる?
私の答えを得ました:
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サーバーが機能している必要があります。
幸運を!
おかしいこの情報を見つけるのはとても難しいです。人々はもう知識を共有していませんか?
私は結局使用しました
file_open_mode=0777
local_umask=022
vsftpd.conf。問題は、FTPユーザーとwww-dataユーザーの両方に書き込み権限が必要だったため、www-dataとftpuserをwww-dataユーザーグループに参加させ、CHMOD -R 775/var/www上のすべてのファイルをその方法で、 CHMODが775の場合、グループには読み取り、書き込み、実行の権限が与えられます。今では完全に機能しています。
FTP経由でファイルをアップロードすると、ファイルのアクセス許可が変更されるなどの問題もありました。これは、_vsftpd.conf
_を1行変更することで修正されます。
local_umask=val(like 022,007,etc.,)