共有レンタルサーバーの簡単な収容人数の調べ方
今回は、共有レンタルサーバーの同居人(収容人数)がどれくらいいるか?を簡単に調べる方法について、解説してみます。
共有レンタルサーバーの同居人(収容人数)の意味は、
1つのハード的なサーバーを何人で共有(シェア)しているかということです。
共有レンタルサーバーが仮想化されていない場合に限って、ここでは、解説してみます。
最近では、共有レンタルサーバーが仮想化されて各ユーザに提供される場合もあるようです。
仮想化するメリットは、
- ユーザ間の依存度が少なくなること
- ユーザ間の機密性が強固になること
などがあります。
逆にデメリットは、
- サーバーへの負担が大きく、1サーバーへ詰め込めるユーザ数が少なくなること
ことでしょう。
デメリットが大きいため、共有レンタルサーバーを仮想化することは少なかったのですが、
最近では、めざましいハードウェアの進歩、仮想化の進歩があり、結構な数のユーザを1サーバーへ詰め込めるようになってきたので採用されるケースが増えてきたようです。
逆に、仮想化しないメリットも依然として仮想化することと比較すれば多分にありますから、すべての共有レンタルサーバーがそうなるとは思えません。むしろそれほど多くないでしょう。
共有レンタルサーバーの簡単な収容人数の調べ方
基本的に、共有レンタルサーバーの簡単な収容人数の調べ方は、以下のイメージでコマンドを使うだけです。
$ ls -l /home | grep ^d | egrep -v 'phpmyadmin|cpadmin|lost+found|vmail|webftp|webmail|error|ftp|cgi-bin' | wc -l
128
|
上記の例では、128人のユーザがいるということになります。
これは、単純に
/home配下のディレクトリ数をカウントしているだけです。
一般的なUNIX系OS(Linuxも含む)では、
/homeは、文字どおりユーザホームディレクトリのルートディレクトリですから、ここに全ユーザのディレクトリがあるわけです。
簡単に解説しておきます。
grep ^dは、
lsコマンドで出力された情報の先頭に
"d"の文字列を持つものだけを抽出しています。つまり、ディレクトリということになります。
egrep -v 'phpmyadmin|cpadmin|lost+found|vmail|webftp|webmail|error|ftp|cgi-bin'は、
更に、lsコマンドで出力された情報の中から以下のディレクトリは除外します。
- phpmyadmin
- cpadmin
- lost+found
- vmail
- webftp
- webmail
- error
- ftp
- cgi-bin
wc -lは、
最後に、結果の行数をカウントして出力します。
つまり、ユーザディレクトリ数に相当するわけです。
各レンタルサーバーで指定する情報も多少異なります。
上記は、
ファイアバード(firebird)での例です。
さくらインターネットでは、
$ ls -l /home | grep ^d | egrep -v 'ports|iadmin|quota.user|config|admin|phpmyadmin|cpadmin|lost+found|vmail|webftp|webmail|error|ftp|cgi-bin' | wc -l
|
のように指定すると、おおよそ一般ユーザだけの数が求まると思います。
調べる時に必要な環境は?
先のコマンドを投入するためには、シェルが使えないといけませんね。
そのシェルは、
SSHが使える環境なら、SSHを使います。
参照記事 : SSHとは…
また、SSHが使えない環境でも、PHPが使える環境なら、PHP Shellが使えますから、PHP Shellを使いましょう。
参照記事 : SSH(シェル)が使えないレンタルサーバーには、PHP SHELLがおすすめ
更に、SSHもPHPも使えないなら、SSIを使います。
参照記事 : SSI(エスエスアイ)とは…
SSIの場合は、以下のファイルを用意します。
- シェルスクリプトファイル
例えば、users.sh のようなファイル名で、以下のようなシェルスクリプトを記述します。
echo `ls -l /home | grep ^d | egrep -v 'phpmyadmin|cpadmin|lost+found|vmail|webftp|webmail|error|ftp|cgi-bin' | wc -l`
|
- SSI用HTMLファイル
例えば、users.shtml のようなファイル名で、以下のようなHTMLを記述します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>収容人数</title>
</head>
<body>
収容人数は、<b><!--#EXEC CMD="users.sh"--> </b>人ぐらいかな?<br />
</body>
</html>
|
上記のファイルをアップロードします。
また、シェルスクリプトファイル(例では、users.sh)は、FTPで実行権限を付与します。
SSI用HTMLファイルへウェブブラウザからアクセスしてみてください。
こんな感じで見えればOKです。
仮想化されていない場合で、かつ、UNIX系(Linuxを含む)場合は、上記のように簡単に収容人数を確認できます。
ただし、
/home以下を自分のホームディレクトリ以外、参照できないようにアクセス権(Permission)が設定されている場合もあります。
その場合は、上記のような簡単な方法では、調べることができないでしょう。
共有レンタルサーバーを借りておられる方は、ちょっと試してみませんか?
案外、あなたのサーバーは共有しているユーザが多いかもしれませんよ。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
関連記事
2013年4月30日, 2:08 AM
エックスサーバを使ってるのですが
SSI用HTMLファイルのアップロードは、何処にすれば良いのでしょうか?
ウェブブラウザからアクセスは、どうすればよいですか
2013年4月30日, 1:58 PM
中田さん
コメントありがとうございます。管理人です。
さて、SSIの件ですが、SSIファイルの置場所は、どこでもOKだったはずです。ウェブブラウザからアクセスも普通にHTMLファイルと同じようにアクセスするだけです。
また、今では、XServerもSSHが使えますから、ログインしてコマンド一発で確認できると思います。
ただ、SSH機能追加以降、個人的に使っていませんので詳細不明ですが、セキュリティ強化のためにchroot機能などが組み込まれている場合は、ユーザホームが見えない(自分のディレクトリだけしか見えない状態)こともあります。