Monthly Archives: 9月 2015

[メモ]mysql_secure_installtaionは何をやっているの?

Pocket

https://dev.mysql.com/doc/refman/5.6/en/mysql-secure-installation.html

mysql_secure_installationは、perlで書かれたスクリプトで、MySQLのセキュリティを向上させることができる。
具体的には;
(MySQLの)rootのパスワード設定
localhost外からアクセス可能なrootアカウントの削除
anonymousユーザアカウントの削除
anonymousユーザ含め誰でもアクセス可能な「test」データベースの削除
test_から始まるデータベースへの接続権限の削除(デフォルトでは誰でもアクセスできる)

MySQLが動いている状態で、引数なしで実行すればよい。

立ち上げておいて。

mysql_secure_installationを引数なしで実行。
rootパスワード以外はリターンキー連打でよし。

No tags for this post.

[FreeBSD][メモ] portsでmake cleanを依存portsも含めて実行するには

Pocket

さきにメモ。

portsにおいて、依存も含めた全部のportsでmake cleanをするには以下のようにする。

ネタ元はfreebsd forumから。

 

久しぶりにportsを使うと、なんでこんな面倒なものに我慢できていたんだろう?と思う。
それは単なる愚痴として。

Vagrantやjailなどの仮想技術がとても便利になってきて、実現したい機能ごとに環境を分けるようになる。
すると、環境ごとにフレッシュな状態から機能を構築することが多くなり、自然とportsのコンパイル時間の長さが目につくようになったのだと思う。

たとえばredmineを使いたいとして、pkgでインストールしようとしても、コンパイルオプションが期待通りではないので、やむなくportsでインストールしようとする。
ところが、インストールされたものがない、フレッシュな状態でredmineをportsから入れようとすると、依存の端から端までportsで入れようとするので、とんでもない時間がかかるのである。
特定のもの以外は全部pkgで入れられるようにならないものか。

No tags for this post.

[sh] オレオレ証明書作成シェルスクリプト

Pocket

すぐに作り方を忘れるので、シェルスクリプトを記録しておく。
変数OPENSSLにopensslをフルパスで与えること。
あとはchmod 755して実行すればカレントディレクトリにserver.crtとserver.keyができる。
おまけでDHパラメータ、dhparam.pemもできる。

参考
http://d.hatena.ne.jp/rikunora/20120514/p1
http://qiita.com/kunichiko/items/12cbccaadcbf41c72735

[メモ][Vagrant] FreeBSDのboxを作る。

Pocket

インストール時設定

容量節約のためにgame, srcはインストールしない。
rootのパスワードはvagrantに。
ユーザvagrantを追加、パスワードもvagrantに。
sshdは有効に、dumpdevは無効に。

/etc/rc.confの中身

インストール後設定

まずはOSの更新。

pkgのインストール

pkgをインストールするには、pkg listでもなんでも叩けばインストールしてくれる。

sudoのインストール

vagrant用に。

ユーザvagrantにパスワードなしのsudo権限を与える。

requirettyがあればコメントアウト。

ユーザvagrantのssh key設定

定番のキーをauthorized_keysとしてダウンロードし、パーミッションを設定する。

sshd設定の変更

/etc/ssh/sshd_configに以下を追加。

空行、コメント行を除くとこんな感じ。

sshdを再起動

VirtualBox Guest Additonsは必要か。

FreeBSDのGuest Additionsで以下が可能になる。
https://wiki.freebsd.org/VirtualBox

逆に言うと、以上が必要なければわざわざ入れることもない。
もしXを入れないのであれば、インストールしないほうがよい。
pkgのGuest AdditionsはX11のサポートがOnになっており、そのままインストールすると山ほどpackageを追加されるから。
ではportsからコンパイルする?
まずportsディレクトリが必要。
さらに、実はGuest AdditionsのコンパイルにはKernelソースが必要なので、/usr/srcも必要。
しかもportsからのコンパイルするとperlやらgmakeやら、いろんなもののコンパイルが発生する。
本当におすすめしない。

Guest Additionsのインストール

インストールする場合には、pkgからvirtualbo-ose-additonsを。
search -fすると分かるが、X11がOnになっている。

念のため確認

仮想マシンをパッケージする

シャットダウンしたのち、ホストマシンで梱包
–boxに続けてVirtualBox上の名前を入れる。

できたpackage.boxは約1Gバイト。うーん。ちょっとでかいなあ。

[メモ][Vagrant] Ubuntuのboxを作る

Pocket

Vagrantは便利だが、boxの初回ダウンロードがウンザリするくらい長い。
torrentに流してくれればいいのに…。
しかたないので自分でUbuntuのboxを作る。

参照ドキュメントは公式の以下のもの。
https://docs.vagrantup.com/v2/boxes/base.html

VirtualBox上でUbuntu14.04をインストール後、apt-get update && apt-get upgrade && apt-get dist-upgradeまで済ませた前提。
providerはVirtualBox。
まずVirtualBox特有の注意点を先に。

VirtualBox向けにBoxを作るときの注意点

https://docs.vagrantup.com/v2/virtualbox/boxes.html

  1. ネットワークインタフェースはNATにしておくこと。
  2. MACアドレスをメモしておくこと。
  3. VirtualBox Guest Additionsをインストールしてあること。

一つ目の理由は、VirtualBoxが決め打ちで接続してくるから。
二つ目の理由は、Vagrantfileのconfig.vm.base_macに書く必要があるから。
MACアドレスはVirtualBoxのGUIから確認できる。
三つめの条件を満たすには、あらかじめlinux kernel headersとbasic developer toolsをインストールしておく必要がある。
手順は後述。
ではさっそく。

不要なハードウェアの無効化

USB, オーディオなどを無効化する。
特にUSBが有効になっていると、無用なバグを引いたりするので、無効化しておくことを強く勧める。

デフォルトユーザ(vagrant)の作成

Vagrantの作業用アカウントを作る。
Vagrantはデフォルトでユーザ”vagrant”として仮想マシンにSSH接続する。
vagrantというユーザのいることが明らかだと、それはそれでセキュリティ上のリスクになるのだが、それはVagrantに慣れてから考える。

vagratを追加し、パスワードもvagrantに。
パスワードを設定しておくのは、万が一、手動で仮想マシンに接続する必要が生まれたときのため。

SSH接続用に鍵を作成する。
鍵はインターネットからダウンロードする。そんな鍵なんて危ないように見えるが、これはあくまでも初回ブート用。Vagrantが自動的に書き換えてくれる。

ユーザvagrant向けsudo設定

ユーザvagrantがパスワードなしでsudoできるように。
visudoで以下の行を追加。

さらにrequirettyという記述があればコメントアウト

rootのパスワードも変える。

rootのパスワードも”vagrant”に。

sshd設定

sshdがなければインストール。

sshdの設定ファイルを書き換え

以下の行があることを確認。なければ書く。

VirtualBox Guest Additionsのインストール

再掲だが以下のドキュメントに沿って。
https://docs.vagrantup.com/v2/virtualbox/boxes.html

その後、VirtualBox Guest Additionsのインストール
VitualBoxのGUIからCDを挿入し、以下を実行。

後はこちらの通り。

[メモ][Windows] VirtualBoxの仮想マシンからvagrantのboxを作る

Pocket

VirtualBox上の仮想マシンをvagrantのboxにする方法はありきたりだが、たいていはLinux、OS Xでの話で、Windowsでのメモはあまりない。そこでメモ。

packageの作成

VirtualBox上の仮想マシンをパッケージする。
vagrant packageの–baseオプションにVirtualBox上の仮想マシン名を与える。
なお、そのまえにUSB、サウンドは無効にしておいたほうがよい。

カレントディレクトリにpackage.boxができた。
この中に仮想マシンが入っている。
あとはこれをどこに移動してもよい。
うーん、ポータブル。
次にこの中の仮想マシンをvagrantから参照する方法。

package.boxをvagrantから参照する。

vagrant init <新規に作成する仮想マシンの名前> <package.boxの場所>と指定してvagrantfileを作る。
もちろんvagrant initと空撃ちして手で書き換えてもよい。後述。

package.boxはローカルに置いてあるので、場所の指定は「file://」に続けてパスを書く。
windowsの場合は「/C:/path/to/package.box」のように書く。
結果、「file:///C:/….」となる。
スラッシュが多くて不安になるけど、これでよい。
なお、windowsっぽく円マークあるいはバックスラッシュを使ってしまうとエスケープされてしまい、vagrantがpackage.boxを見つけられない。注意。

Vagrantfileが以下のようになっていること。
vagrant initを空撃ちした場合には、以下の二行を加えること。

あとはvagrant upでよい。

別の方法:box listに登録する。

package.boxをvagrantのbox listに登録しておけば、いちいちpackage.boxの場所を指定しなくてもいいようになる。

あとは定石で。

[memo] VirtualBoxのNATでホストからゲストへの接続を許可(ポートフォワーディング)

Pocket

ほんとにメモ。

VirtualBoxで;

  1. ゲストをホスト外へ露出させず、一方で
  2. ゲストから外部へのアクセスを許可し、なおかつ
  3. ホストからゲストへのsshをさせたい

場合のメモ。

上記をかみ砕くと、ゲストのネットワーク設定で「NAT」を選びつつ、作業のためにホストからゲストへsshをしたい場合。

高度な設定からポートフォワーディングを選び
2015-09-03_22-14-16_090315_102509_PM

ホストのポートとゲストのポートを設定する。
以下の例ではホストの8022に繋ぐとゲストの22、すなわちsshへ繋がれる設定。
2015-09-03_22-14-25_090315_102545_PM

No tags for this post.