パスワードなしでsuをする方法

sshでサーバにログインして管理をするときに、一般ユーザでログインをしてからsuでrootになるというのはよくあるパターンだと思います。

通常はそのときにrootのパスワードを入力する必要がありますが、パスワードを入力しなくてよいように設定することも可能です。毎回rootのパスワードを入力するのが面倒という場合にも適していますが、root権限は与えてもよいがrootパスワードは教えたくないユーザがいる場合にも活用できます。

必要な設定は次の二つです。まず該当するユーザをwheelグループに追加します。そのユーザのデフォルトのグループは/etc/passwdに設定されていますが、追加のグループは/etc/groupに設定があります。/etc/groupに以下のような行があると思います。これがwheelグループのメンバーです。最初はrootユーザだけのようです。この後ろにカンマで区切ってユーザ名を追加します。

wheel:x:10:root

次に/etc/pam.d/suを編集します。Linuxでは認証を行うのにPAMというモジュールが利用されていますが、このファイルはそのうちsuを行うときの設定になります。このファイルには以下のような行があると思います。

# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth            sufficient      pam_wheel.so trust use_uid

コメントにしたがってこの設定を有効にすると、めでたくwheelグループのユーザはパスワード入力なしにsuが可能となります。

CentOSをインストールして最初にする設定

サーバにOSをインストールしたあとで、最初にいろいろと設定が必要になります。サーバ自体の設定もありますが、管理を行うための環境の設定もあるでしょう。備忘のために今回行った設定を記録します。

CentOSは最初構成でインストールしていますので、必要なソフトはその都度yumでインストールします。最初からいろいろいれるより必要最低限にするがシンプルでよいと思います。yumでのインストールは非常に簡単ですし。

CentOS 6.0で驚いたのが最小構成にsshが含まれていないことです。もちろんsshサーバは含まれています。クライアントが含まれていないのでいきなりscpをしようとするとエラーになります。openssh-clientsパッケージをインストールします。

まずは環境を整えます。ログイン用の自分のアカウントを作成します。useradd -m hogeです。個人的なお勧め環境はscreenとzshです。エディタはemacsとvim-enhancedを両方入れておきます。そしてsshの鍵を~/.ssh/authorized_keysに追加します。

そしてネットワークの設定などをします。/etc/sysconfig/networkのHOSTNAMEにホスト名を設定します。/etc/hostsも変更します。/etc/resolv.confもインストール時にはひとつしか指定しないので追加します。IPv6は使えないみたいなので設定しませんが、デフォルトでついてるリンクローカルはそのままにしておきます。/etc/sysconfig/iptablesでiptablesの設定も変更します。最初はsshしか許可されていませんが、同様に他のサービスも許可とします。

selinuxは面倒なので使わないことにします。/etc/sysconfig/selinuxをdisabledに変更します。あとディスク容量は余裕があるので/etc/logrotate.confを変更してログの保存件数を増やします。デフォルトでは4週のローテートですが半年くらいに変更しておきます。

以上はさくらのVPSにインストールしたCentOS 6.0の作業ログですが、SaaSesのCentOS 5.6もほぼ同様にします。そして念のためユーザアカウントのuidをそろえておきます。SaaSesの環境にはデフォルトで作成されているユーザがあるので何も考えずにuseraddするとひとつずれてしまいますが、いったんデフォルトで作成されているユーザを削除してから作業します。

SaaSes Osukiniサーバ

OsukiniサーバというのがSaaSesのVPSです。個人的にこういうネーミングセンスは好きではありませんが。しかし値段が安いと言うのは間違いありません。

VPS比較のときにも書きましたが、コンソールがないのが不安要素です。メニューは起動や終了、再インストールのほかにiptablesなど特定の設定のみ管理ページから実行可能です。

デフォルトのインストール時にWebminおよびEC-CUBEのインストールも選択できますが、どちらも使うつもりはなく、スペックも最低限のものを選んでいるのでインストールしませんでした。ちなみにWebminはウェブ上でUnixの設定など仮が行えるシステムで、EC-CUBEはネットショップなどが作れるフレームワークのようです。

話がそれますが、EC-CUBEについて検索してみると評判はあまりよろしくないようですね。ぱっと見たときよくできてるなと思いましたが、よくできているのは見た目だけで使い勝手はいまいちなようです。また実装もかなり程度の低いもののようです。

さくらのVPSにはCentOS 6.0をインストールしましたが、こちらはコンソールもないのでCentOS 5.6のまま使うことにしました。

Osukiniサーバで特筆すべきはディスク容量です。月450円の格安プランでも50GBもあります。今までサーバ上のデータはローカルのパソコン上にバックアップしていましたが、さっそくサーバ上にバックアップすることにしました。ほぼバックアップのためだけに手元のWIndow上にVirtualBoxをインストールしてLinux環境を維持してきましたが、これでさっぱり削除できます。

仮想マシンモニタは同時にひとつしか起動できないので、XPモードを使おうとするとVirtualBoxは出番が少なかったので、退役させるいい機会になりました。結局仮想化というのはコンピュータの抽象度を一階層追加して、これまでOSがひとつしか動かせないものだったのがモニタがひとつしか動かせないものに変わったということだという話をつらつらとしたいとか思いましたが今回はこの辺で。

 

さくらのVPSにCentOS 6.0をインストール

さくらのVPSのデフォルトのOSはCentOS 5になってます。VPSコントロールパネルから他のOSのインストールもできるようですが、そもそもコンソール機能があるので普通にいろいろなOSをインストールすることが可能です。

といわけでCentOSの最新版であるCentOS 6.0を使うことにしました。CentOS 6はリリースまでにすごく時間がかかったり、主要な開発者であるDag Wieersが開発から離脱したり(あのDAGですよ?)、先行きが不安なところもあるかもしれませんが、他にこれといった選択肢もないので、ここではとにかくCentOS 6.0をインストールすることにします。

インストール手順については、ずばり以下のサイトにあります。

上のサイトにもありますが、ネットワークの設定はメモって置く必要があります。最悪忘れてしまってもデフォルトのCentOSを再インストールすると確認できます(5分程度です)。共通の設定項目についてはマニュアルにも載っています。DNSサーバの設定が実際と違っていたのが若干気になりますが。

インストールは選択肢も特になくすぐに終了します。普通にインストールしたときにはディスク構成やパッケージなどもう少し選べるところがあった気がしますが、シリアルコンソールからのインストール専用のメニューなのかもしれません。

インストールが終了するとあとは普通に使うことができます。とりあえずアップデートをあてて、あとは必要なパッケージのインストールともろもろの設定を行っていくことになります。

共用サーバから乗り換える格安VPS

独自ドメインで自分のウェブサーバやメールサーバを運用するだけであれば共用サーバでも十分なわけですが、デフォルトで入っていないツールが使いたい時など、できないわけじゃないけど共用サーバなので非常に手間がかかるのであきらめてしまうということが少なからずあったりする。そこで、この機会にVPSに乗り換えようかと思い立ったわけだ。

とはいっても今使っているさくらインターネットの共用サーバは、共用とはいってもマルチドメインが使えて、PHPもMySQLも使えて、sshでログインできて、しかも料金は年5000円という低価格。そこから乗り換えることを考えると価格を重視してVPSを探さなければということになる。

しかし、検索するとすばらしい比較サイトがあり、結論からいうとここを見ればだいたい事足りると言っていいだろう。ここもすばらしい比較サイトで、妥当性はわからないが性能についてのベンチマーク結果もあり非常に参考になる。ただ、さくらの社長が書いているものなので、ここで手放しにほめるのもあれだとは思う。

他にも検索してみたが、格安で選ぶとなると上記サイトの3つの候補、さくらのVPS・SaaSeSのOsukini Server・ServersMan@VPSの3つですべてである。ServerQueenというところもあったが、ServersManと似たような内容なので対象外とする。

ここでServersManと似ているという理由で簡単に切り捨てたのにはわけがあって、OpenVZによる仮想化はVPSとしてはいまいちだからだ。OpenVZではXenやKVMによる仮想化と異なりマシンレベルでは仮想化されていない。そのため集約度が高いという利点はあるが、仮想化は完全ではなく、共用サーバの共用であると言う部分が理由で乗り換えるときに選択肢としては不適切だろう。

というわけで選択肢はさくらとSaaSesの2つとなる。SaaSesは値段が圧倒的に安いが、初期費用がかかるのが欠点である。また、さくらにはコンソールがあるがSaaSesにはコンソールがないというのが圧倒的に心配である。さくらの方が実性能はよいらしいが、SaaSesはディスク容量が圧倒的である。

上記のように一長一短ではあるが、コンソールがないというのは設定ミスなどでネットワークからログインできなくなるとデータをすべて捨てて再インストールしか手段がないということで、メールも含めてドメインを運用するには不安と言うことでメインはさくらにすることにした。ちなみに、普通に考えれば仮想サーバなのでディスクイメージのバックアップとリストアという運用がよいのだが、格安のVPSでそういったものに対応しているのはないようだ。

実はさくらのVPSは以前にも試用したことがあるのだが、同じアカウントで今回契約してみると再度試用期間があった。細かいことだが得した気分である。上で”メインは”と書いたのは実は意味があって、SaaSesのほうも契約したのだ。サーバ2台体制でバックアップなどディザスターリカバリーを考慮して運用していきたい。

作業ログはじめました

年とともに記憶力が低下するもので、何か作業を行ったときにはメモをとっておかないと後で分からなくなってしまいます。サーバの設定などの作業や調べ物をした際には、どうせならネット上に公開する形でメモを取るといいのではないかという考えからこのブログを始めることにしました。

歴史は繰り返すと言いますが、この発想でブログを始めるのは今回が初めてではありません。過去にも同じ発想でブログを書いていましたが、だいたいしばらくすると更新が滞ってしまうものです。果たして今回はいつまで続けることができるでしょうか。

ブログと言えば何かというところで今回は(今回も?)WordPressを選択しました。バージョンは3.2.1です。MTOSと一瞬迷いましたが、最近はperlよりもPHPの方が好きだという理由でWordPressにしました。WordPress自体のカスタマイズなどはおいおいしていくことにして、まずは作業ログを記録し始めたいと思います。

ちなみに最初のHello Worldという投稿はシステムにデフォルトで入っているテスト的なものですが、あえて消さずに残しておくことにします。

Hello world!

WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !