web-dev-qa-db-ja.com

Wp-cliで更新するために一時的にパーミッションを757に設定しても安全ですか?

Digitalocean VPS上のLEMPスタック。

Public(または "Other")が実行許可、つまり757または777を持っていない限り、 "wp core update"を動作させることができませんでした。

それ以外の場合は、毎回 "エラー:ディレクトリを作成できませんでした"がスローされます。

私はwordpressのインストールを所有しているユーザーが "wp core update"を実行しているのと同じユーザーであることを確認しました

私がこれまでに試みたことは775にパーミッションを設定することです、www-data:www-dataをchownし、wp-cliファイルを移動します。

私は、このドロップレット/サーバー上で複数のWebサイトを実行していますが、それぞれ同じ問題が発生します。

それで、パーミッションを757に設定し、更新し、755ディレクトリに戻すようにcronjobを設定したとしましょう。644ファイル660 wp-config.php

それは比較的安全ですか?私のクライアントのサイトをかなり危険にさらすことになるでしょうか。

2
Josh Burson

自動的にパーミッションをオン/オフにするようにcronジョブを設定することは、極端な回避策になるかもしれません。その他の問題.

これは私にとって良いリソースです - https://codex.wordpress.org/Hardening_WordPress

これは私にとっても素晴らしいリソースです - https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-ubuntu-16-04

これらは、WebサーバーとしてNGINXを使用して、WordPressおよびプラグインのUbuntuドロップレットの自動/ wp-cli更新を可能にするために使用したステップです。

  1. 推奨ファイルとフォルダのアクセス許可を設定します。

    750 for Directories
    640 for Files
    except for wp-config.php, this should be 440.
    

    ディレクトリに対してこれを行うには:

    find /srv/www/your-site/ -type d -exec chmod 750 {} \;
    

    とファイル:

    find /srv/www/your-site/ -type f -exec chmod 640 {} \;
    

    そしてwp-config.php:

    Sudo chmod 440 your-site/wp-config.php
    
  2. 所有者とグループを webに設定します。www-data ここで、 web はSudoユーザー権限を持つroot以外のユーザーです。

    Sudo chown -R web:www-data /srv/www/your-site
    

    このコマンドはNGINXがどんなユーザー/グループNGINXの下で動いているかに関するより多くの情報をあなたに与えるでしょう:

    ps -eo pid,comm,euser,supgrp | grep nginx
    

    https://superuser.com/questions/398833/how-to-determine-the-user-and-group-of-a-deamon-in-ubuntu

    私の場合、グループはwww-dataです。

  3. すべての新しいファイルが親ディレクトリのグループを継承するようにsetgidビットを設定します。

    Sudo find /srv/www/your-site -type d -exec chmod g+s {} \;
    
  4. グループにwp-contentディレクトリへの書き込みアクセス権を付与します。

     Sudo chmod g+w /srv/www/your-site/wp-content
    
  5. グループにプラグイン、テーマ、およびアップロードディレクトリへの書き込みアクセス権を与えます。

    Sudo chmod -R g+w /srv/www/your-site/wp-content/themes
    Sudo chmod -R g+w /srv/www/your-site/wp-content/plugins
    Sudo chmod -R g+w /srv/www/your-site/wp-content/uploads
    
  6. 必要に応じて、最初にステップ2で所有者としてcore updateコマンドを実行していることを確認してください。

    su web
    wp core update
    
1
junkrig