www-dataを適切に使用して安全に追加/編集/削除する

www-dataを適切に使用して安全に追加/編集/削除する

LAMP スタックを構築した後、ユーザーApacheを作成するというのが私の理解ですwww-data。ただし、直接ログインすることはできませんwww-data(セキュリティ上の理由)。代わりに、何かを実行したい場合は、www-data以下を実行する必要があります。

su -s /bin/bash www-data

それでいいと思います。しかし、2つの質問があります。

  1. FTP 経由でファイルをアップロードしたいときは、どうすればいいでしょうか? 現在、ルート ユーザーとして FTP し、アップロード後にchownファイルを に戻す必要があります。私は Magento を実行していますが、その設定では にのみ権限を与える必要があります。それ以外の場合は、へのアクセスのみを許可します。www-dataownerwritewritegroup
  2. 非ルート ユーザーに を許可したい場合はどうすればよいでしょうかsu。通常のユーザーとしてwww-data実行すると、 と表示されるからです。su -s /bin/bash www-dataThis account is currently not available

答え1

私の理解では、Apacheはwww-dataユーザーを作成します

いいえ。ほとんどのパッケージ管理システムでは、ソフトウェアを展開するときにユーザーが作成されます。

[そのユーザー]として直接ログインすることはできません

はい、おっしゃるとおり、セキュリティ上の理由から、それは一般的に行われています。

... su -s /bin/bash www-data を実行する必要があります

システムがこれを許可するように構成されている場合でも、場合によってはこれが無効になることがあります。

FTP 経由でファイルをアップロードしたい場合はどうすればよいでしょうか?

関連するユーザーがファイルをデプロイおよび変更し、Webサーバーのuidがそれらのファイルを読み取ることを許可する権限モデルを作成します。とてもまれで制御されたケースでは、Web サーバーの UID が書き込み可能なドキュメント ルートの外部の場所を構成します。

私が設定したすべてのウェブサーバーでは、ウェブサーバーのuidは最も権限の少ないアカウントなので、「その他」の権限スロットを介して読み取りアクセスを許可しました。例:

  colin@animal /var/www/html $ ls -l
  total 28
  -rw-rw-r-- 1 colin webdev  11321 Dec 27  2016 index.html
  drwxrwsr-x 2 colin webdev   4096 Jan 10  2017 session
  -rw-rw-r-- 1 colin webdev    148 Feb 18  2018 login.php
  drwxrwsr-- 1 colin grafx    4096 Jan  9  2017 images
  -rw-rw-r-- 1 colin grafx    8334 Jul  4 21:59 logo.png

権限とは、共有アクセスを拒否するのではなく、アクセスを許可します。

非ルートユーザーがwww-dataとしてsuできるようにする

いいえ。それは決して必要ないはずです。

関連情報