私はLinuxサーバーを初めて使用します。
これについて私をパニックにさせる2つの質問があります。
1 1. user:group これで、/var/www/html が表示されます。
私nginx.conf
が設定しましたserver{ user www-data }
端末で私が設定した
chown -R root:www-data /var/www/html find /var/www/html -type d -exec chmod 775 {} + find /var/www/html -type f -exec chmod 664 {} + find /var/www/html/uploads/images -type d -exec chmod 775 {} +
私が正しいことをしているのでしょうか?それともwww-data:www-dataに設定する必要がありますか?
2 2. crontabに関しては多くのTUTがありますが、誰がcrontabを運営しているのかは明らかではありません。問題は
adam
ユーザーとしてログインしていて、サーバーがそのユーザーに属している場合はどうなりますかroot:www-data
?または、ユーザーwww-data:www-data
の代わりにそのユーザーにcrontabをどのように提供しますか?adam
バックアップなどのファイルを書き込むにはパーマネントが必要だからだ。
答え1
1) 一般的に/var/www
、ファイルは と に属する必要があります。root:www-data
chmod 644
/var/www
chmod 755
彼らはいいえwww-data
以下を除いて、ユーザーが書くことができます。必須(実行ファイルの場合は3倍です。)www-data
Webサーバー自体またはWebサーバーが実行しているスクリプトを破損させようとする攻撃者が書き込み可能なファイルを変更できる可能性があるためです(通常、suexec
Webサーバーではなくスクリプト所有者の権限を使用しない限り)。 。あまり良くならずに悪くなることもあります)。何も使えない場合、www-data
アクセス権を得た攻撃者が被るダメージはwww-data
大幅に減少します。
2)cron
ジョブは、ジョブを呼び出したユーザーによって実行されますcrontab
。ルートのcrontabにある場合は、rootとして実行されます。 Adamのcrontabにある場合、adamとして実行されます。
/etc
(など)以下のシステム全体のcrontabは例外です/etc/crontab
。/etc/cron.d/*
これらのcrontabのジョブ仕様書式には、ジョブを実行するユーザーを指定する追加のフィールドが含まれています。
答え2
(1)chmod
とはchown
異なるコマンドです。 1つ目は権限を設定し、2つ目は所有権を設定します。また、実行したい場合があります
`find /var/www/html -exec chown www-data:www-data {} +`
すでに実行したコマンドに加えて選択できます。
(2)ユーザーがクローンジョブを実行できるように編集して/etc/cron.allow
追加できます。必要に応じて、またはそれに関する追加情報を提供する必要があります。www-data
www-data
man cron
man crontab