最近、travisのビルドとデプロイを設定したNginxが提供するWebサイトがあります。
Nginxはユーザーとしてウェブサイトを運営していますwww-data
。deploy
TravisがサーバーにSSHでアクセスしてWebサイトを展開できるようにユーザーを作成しました。配布されたファイルは、deploy
Webサイトを運営するユーザー()とは異なるユーザーを所有者として保存されますwww-data
。
この設定でサイトを操作すると、権限の問題が心配されます。 Webサイトを実行して展開するために同じユーザーwww-data
/を使用する必要がありますか?deploy
このアプローチでは、Webサイトを実行しているユーザーがSSHを介してリモートでログインするのに問題がありますか?
これについて私に教えてください。
答え1
実際、これらのファイルを所有してはいけません。これはwww-data
、Nginxがそのファイルを変更できることを意味します。これは、ほとんどの場合(自己更新が必要なCMS以外)、望むものではありません。
したがって、すべてのファイルはdeploy
。
CMSで複数のフォルダに作成する必要がある場合は、非常に少ない(1?)フォルダが実際に属している必要がありますwww-data
。展開で最初のインストールも実行すると、問題が発生する可能性があります。ユーザーに手動の手順を提供したりタスクを実行したりする特別なツールがありますが、これがワンタイムであれば手動で実行するのは簡単です(特にこのフォルダは1つしかないためです)。代わりに停止することもできます。これにより、すぐにわかりやすくなり、ファイルをアップロードしたり、同様の操作を実行したりする際の問題を回避できます。
もちろん、ファイルを所有しているわけではありませんが、www-data
読んでくださいwww-data
。したがって、他の人が読めるように設定する-rw-r--r--
か()グループを設定することを検討してくださいwww-data
(-rw-r-----
)。ほとんどの場合、私は人々がこのグループに入らないのを見ます。より安全なので、他の人がファイルにアクセスできるようにします。
deploy
もちろん、これはNginxがこのユーザーとグループにアクセスできないことを意味します。