忍者ブログ

スイーツ(笑)と呼ばないで!!

NEW ENTRY
10 2024/11 1 23 4 5 6 7 8 910 11 12 13 14 15 1617 18 19 20 21 22 2324 25 26 27 28 29 30 12

11/24/04:36  [PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

10/02/12:32  クライアントがサーバーに入りたいと言ったら?

最近、サクッと短いブログを書いています。

弊社では基本的にroot権限は弊社で管理していますし、
相当な事情がない限り、クライアントにサーバーへのアクセスを開放することはございません。

しかしながら、いろいろ大人の事情ですとか、
テンプレートと画像、cssなどについては自分たちで変更したい、
とかおっしゃるクライアントのために、開放せざるを得ないことは結構あったりします。

例えばクライアントがアクセスしたいディレクトリ構成が

/var/www/project_name/private/client/template
/var/www/project_name/public/client/css
/var/www/project_name/public/client/image

このような場合どうするでしょうか?

【レベル0】

「私たちがソースアップしているlinuxユーザーをクライアントに教えて使い回せば良いじゃん」

→ダメです。そんなことしたら、事故が起きた時の責任の所在も原因の追跡も困難になりますし、そもそも事故が起きる可能性がたかまります。

【レベル1】

「じゃ、プロジェクトのルートである/var/www/project_name/をホームディレクトリとする別ユーザーを作れば良いじゃん。その上で/var/www/project_name/private/client/と/var/www/project_name/public/client/にのみアクセスできるようにすれば良いよね。」

→ダメです。そもそもそれでは内部構造も丸見えですし、プロジェクトのルートにlinuxのユーザー管理に使うゴミファイル(SFTPを想定)がたくさん置かれることになります」

【レベル2】

「わかったよ。そこまでセキュリティとかうるさいなら、
/var/www/project_name/private/client/をホームディレクトリとするclient_privateと
/var/www/project_name/public/client/をホームディレクトリとするclinet_publicという二つのユーザーを作れば良いよね」

→それなら必要なアクセス権はなくなるけど、管理が煩雑だよね。それにFTPでなくSFTPでいくなら上記のようなゴミファイルの問題もあるし。

【レベル3】

「じゃ、どうすればいいの?」

→clientというlinuxユーザーを普通に作成します。ホームディレクトリは/home/clientです。で、/home/clientの下に、/var/www/project_name/private/client/へのシンボリックリンクのprivateと/var/www/project_name/public/client/へのシンボリックリンクのpublicをはれば良い。SFTPでそれでアクセスすればセキュリティの問題も特にないし最小限でかつ必要なものについてのアクセス権はある。


ということで個人的にはこのレベル3の方法が良いのではないかと思っています。

たまに、クライアント用に複数のファイルアップ用のユーザーを作っているプロジェクト(特にクライアント内部での権限の区別はない)を見かけます。

まぁ、いろいろと事情があるんだとは思いますが、特に深い理由がなければ、このような管理も良いのではないでしょうか。






拍手[0回]

PR
URL
FONT COLOR
COMMENT
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
PASS

TRACKBACK

TRACKBACK-URL