0

この記事https://help.ubuntu.com/community/ApacheMySQLPHPに従って Apache をセットアップ し、新しいサイト構成を作成して/etc/apache2/sites-available/mysite 、ドキュメントのルートとディレクトリを次のように変更しました。

DocumentRoot /home/gapton/public_html
<Dictory />
..
..
</Directory>
<Directory /home/gapton/public_html/>
...
...
...
...
</Directory>

そしてsudo a2dissite default && sudo a2ensite mysite、それらを無効にして有効にし、apache2を再起動すると、機能しています。

次に、vsftpd をセットアップし、vsftpd.confファイルを次のように構成します。

local_enable=YES
write_enable=YES

ユーザー 'gapton' で Notepad++ 経由で接続し、test.php下に という名前のファイルを作成しましたhome/gapton/public_html。Apache では読み取れないようです。私はやったしsudo chmod -R 755 ~/public_html、それは問題なくロードされます。

ただし、vsftpd を介して作成された後続のファイルは読み取ることができません。

FTP経由で接続するときに唯一のアカウントにログインしたのでgapton、新しく作成されたファイルは権利によって所有されるべきgaptonですか? apache がファイル/フォルダーの場所にアクセスしようとするとどうなりますか?どの資格情報でアクセスしますか?

gaptonによって作成されたすべてのファイルを apache で読み取ることができるように設定するにはどうすればよいですか? (また、それはまったくお勧めですか?)

ありがとう。

4

1 に答える 1

1

問題が見つかりました。

vsftpdの古いバージョンでは、ファイルの書き込み時に適用される umask はデフォルトで 022 でした。

現在のバージョンでは、このようなデフォルト値は 077 に変更されています。このマスクは、所有者を除くすべての人に対して4読み書き2および実行を行います。1

ファイルの umask 値vsftpd.confを 022 に戻すと、問題が解決しました。これが、vsftpd の将来のユーザーが同じ問題に直面するのに役立つことを願っています。

于 2013-06-21T15:13:35.180 に答える