WordPressディレクトリで共有FTPアクセスに適切なUnix権限を設定します。

WordPressディレクトリで共有FTPアクセスに適切なUnix権限を設定します。

私のUbuntuサーバーには2つのユーザーアカウントがあります。 1 つは sudo グループの一部で、もう 1 つは標準ユーザーです。デモ目的で次のユーザー名を使用します。

  • admin_user(sudoグループ権限)
  • Standard_user(管理者権限なし)

にあるWordPressをホストするようにサーバーを設定しています/var/www/example.com。サーバーへのFTPアクセスを許可するようにVSFTPDとSFTPも設定し、各ユーザーは現在ホームディレクトリにルートを設定しています。このガイドに従ってくださいここ、WordPressでは、FTPアクセスに別のアカウントを使用し、サーバープロセス自体(NGINXまたはApache)を実行するには、別のアカウントを使用することをお勧めします。

「通常、すべてのファイルはWebサーバーのユーザー(ftp)アカウントによって所有されている必要があり、そのアカウントで書き込み可能である必要があります。なし)WordPress書き込み権限を必要とするすべてのファイルは、WordPressが使用するユーザーアカウントが所有する必要があります(サーバーアカウントとは異なる可能性があります)。別のユーザーグループで実行できます。WordPressがFTPアカウントで実行されている場合は、そのアカウントに書き込み権限が必要です。つまり、ファイルの所有者でなければなりません。フォルダの場合は755、フォルダの場合は664の代わりに775)。

次のコマンドを実行すると、sudo apachectl -SApache2が実行されていることがわかります。

User: name="www-data" id=33
Group: name="www-data" id=33

sudo ps -aux | egrep apache2 '(httpd|apache2|apache)'これも確認されました。

これを念頭に置いて、次のコマンドを実行してWebルートの所有者とグループを変更しました。

sudo chown -R admin_user:www-data /var/www/example.com

WordPress強化ガイドで「ファイル権限の変更」をご覧ください。ここ次のコマンドを実行しました。

find /var/www/example.com/ -type d -exec chmod 755 {} \;
find /var/www/example.com/ -type f -exec chmod 644 {} \;

FTP/SFTP経由で管理者としてログインすると、削除、新規ファイルの作成、権限の変更が可能です。ファイル/ディレクトリの所有者だけが権限を変更できます。これがUnix権限がどのように機能するかです。一般的な状況では、FTPを介してサーバーを管理するユーザーは1人だけで、これは完全に機能します。ただし、標準ユーザーもWebルートのファイル/ディレクトリを削除して書き込みできることを願っています。 www-dataグループ(apache2プロセスが実行されているのと同じグループ)にStandard_userを追加し、そのグループによりオープンな権限セットを付与するのは安全で十分であると思いますか?

sudo usermod -a -G www-data standard_user
find /var/www/example.com/ -type d -exec chmod 775 {} \;
find /var/www/example.com/ -type f -exec chmod 664 {} \;

次に、特定のファイルに対する権限を設定します。

sudo chmod 440 /var/www/example.com/wp-config.php
sudo chmod 664 /var/www/example.com/.htaccess

追加の質問として、Webルートの所有者をrootユーザーアカウントに設定し、グループの横に追加のadmin_userアカウントを追加することは安全であると考えられますか?www-datastandard_user

sudo usermod -a -G www-data admin_user
sudo chown -R root:www-data /var/www/example.com

アップデート1

上記のように設定された権限でWebブラウザを通じてWordPressテーマをアップロードしようとしましたが、WordPressがすぐにFTP接続を要求して権限の問題が現れました。インターネットでちょっと読んでみると、以下のように所有者とグループを設定してファイルにwww-data挿入するよう指示があるようです。define('FS_METHOD', 'direct');wp-config.phpこれガイドのような。しかし、これは安全と見なされますか?

ベストアンサー1

おすすめ記事