
LAMP スタックを構築した後、ユーザーApache
を作成するというのが私の理解ですwww-data
。ただし、直接ログインすることはできませんwww-data
(セキュリティ上の理由)。代わりに、何かを実行したい場合は、www-data
以下を実行する必要があります。
su -s /bin/bash www-data
それでいいと思います。しかし、2つの質問があります。
- FTP 経由でファイルをアップロードしたいときは、どうすればいいでしょうか? 現在、ルート ユーザーとして FTP し、アップロード後に
chown
ファイルを に戻す必要があります。私は Magento を実行していますが、その設定では にのみ権限を与える必要があります。それ以外の場合は、へのアクセスのみを許可します。www-data
owner
write
write
group
- 非ルート ユーザーに を許可したい場合はどうすればよいでしょうか
su
。通常のユーザーとしてwww-data
実行すると、 と表示されるからです。su -s /bin/bash www-data
This 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できるようにする
いいえ。それは決して必要ないはずです。