Ubuntuインストール後にやる事メモ2
不要サービスの停止
例として、avahi-daemon, cupsys のサービスを停止する。
$ sudo /etc/init.d/avahi-daemon stop $ sudo /etc/init.d/cupsys stop
また、上記を実行しただけでは、次回コンピュータ起動時に立ち上がってきてしまうので、自動起動の停止もしておく。
$ sudo update-rc.d -f avahi-daemon remove $ sudo update-rc.d -f cupsys remove
cronのログを有効にする
デフォルトでは、cron のログが無効になっているので有効にしておく。
$ sudo vi /etc/syslog.conf #cron.* /var/log/cron.log ↓ cron.* /var/log/cron.log
--MARK-- を記録しないようにする
/var/log/messagesに記録される --MARK-- を記録しないようにする。
$ sudo vi /etc/default/syslogd SYSLOGD="" ↓ SYSLOGD="-m 0"
以上が完了したら、sysklogd を再起動させる。
# /etc/init.d/sysklogd restart
vimのハイライトについて
/etc/vim/vimrc の syntax on のオプションを有効にしても、有効にならなかった。
vim.fullをインストールすると有効になったので、以下のようにしてインストールする。
$ sudo aptitude install vim.full
これで、/etc/vim/vimrc の syntax on のコメントを外せば有効になる。
なお、vim.fullインストール後に/usr/bin/vim を実行すると、どのvimが呼ばれるのか確認してみる。
$ ls -l /usr/bin/vim lrwxrwxrwx 1 root root 21 2008-02-27 00:29 /usr/bin/vim -> /etc/alternatives/vim $ ls -l /etc/alternatives/vim lrwxrwxrwx 1 root root 17 2008-02-27 01:27 /etc/alternatives/vim -> /usr/bin/vim.full
/usr/bin/vim.fullを参照していることが確認できた。以下のようにしても確認することができる。
$ sudo update-alternatives --display vim vim -状態は auto。 リンクは現在 /usr/bin/vim.full を指しています /usr/bin/vim.tiny - 優先度 10 /usr/bin/vim.full - 優先度 60 現在の `最適' バージョンは /usr/bin/vim.full です。
vimのカーソルの復元
ファイルを閉じて再び開いたときにデフォルトでは1行目から開いてしまうが、これを前回閉じた行から開始するには以下の4行を最終行にでも追加してやる。
$ sudo vi /etc/vim/vimrc autocmd BufReadPost * \ if line("'\"") > 0 && line ("'\"") <= line("$") | \ exe "normal! g'\"" | \ endif
mail コマンドを使えるようにする
デフォルトでは、mail コマンドが無かったので、以下のパッケージをインストールしてmailコマンドを使用できるようにする。
$ sudo aptitude install mailutils $ which mail /usr/bin/mail
なお、mailコマンドで外部にメールを送信する場合などは、MTAの設定が必要になる。
Ubuntuインストール後にやる事メモ
シェルの変更
zsh派なので、シェルを変更してやる。zshは最初から入ってないのでインストールする必要がある。
$ sudo aptitude install zsh $ chsh
chshを実行して新しいシェルのパスを聞かれるので、/bin/zsh と入力してやればおk。
rootにパスワードを設定
$ sudo passwd
もちろん普段使用しているユーザでsudoで何でもかんでもやっていく場合にはこれは不要。
なお、このサイトではプロンプトが $ なら一般ユーザの操作で、# ならrootでの操作ということにする。
なるべくこのサイトでは一般ユーザでsudoを使っていくことにするかな・・・
上記のようにrootにパスワードを設定した後は、su - コマンドで一般ユーザからrootにチェンジが可能になる。
sudoers の編集
セキュリティ上好ましくないが、sudoした時のパスワードを入力をするのが面倒になったら以下のように編集してやる。
# visudo ... # User privilege specification root ALL=(ALL) ALL chibi ALL=(ALL) NOPASSWD: ALL ← これを追記 更に以下の2つをコメントアウトする # Members of the admin group may gain root privileges #%admin ALL=(ALL) ALL ← コメントアウト # Members of the admin group may gain root privileges #%admin ALL=(ALL) ALL ← コメントアウト
これでchibiユーザは、sudoしてもパスワードを聞かれなくなる。
ビープ音を消す
キーボード操作してる時などに、「ビー。ビー。」となる音が喧しいので止める。
以下のように追記してやる。
$ sudo vi /etc/modprobe.d/blacklist ... # ビープ音 blacklist pcspkr ←これを追加
今すぐに無効にしたい場合は、上記編集後にマシンをリブートしてやるか、以下のコマンドを実行してやる。
$ sudo modprobe -r pcspkr
IPv6を無効にする
ビープ音と同じように以下のように編集してやる。
$ sudo vi /etc/modprobe.d/blacklist ... # IPv6 blacklist net-pf-10 ←追加 blacklist ipv6 ←追加
上記編集後にマシンをリブートしてやれば、設定が反映される。
ルーティング情報の表示
メインテーブルの表示
# ip route list table main 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.150 169.254.0.0/16 dev eth0 scope link metric 1000 default via 192.168.1.1 dev eth0 metric 100
ローカルテーブルの表示
# ip route list table local broadcast 192.168.1.255 dev eth0 proto kernel scope link src 192.168.1.150 broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 broadcast 192.168.1.0 dev eth0 proto kernel scope link src 192.168.1.150 local 192.168.1.150 dev eth0 proto kernel scope host src 192.168.1.150 broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1 local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
ルーティング・キャッシュの表示
# ip route show cache
ルーティング・キャッシュの削除
# ip route flush cache
hpingでポートを指定しての疎通確認
hpingを使用すれば、対象のホストのポートを指定してpingを飛ばすことができる。
対象のホストで指定したポートが開いていて、そのポートでサービスが稼動しているか?などの確認を行うことができる非常に便利なツール。
以下は、Ubuntuで実行する場合。先ずはインストールを行う。
# aptitude install hping3
試しに、localhostの80番に対して実行してみる。
# hping3 -c 4 -S -p 80 localhost HPING localhost (lo 127.0.0.1): S set, 40 headers + 0 data bytes len=44 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=SA seq=0 win=32792 rtt=0.2 ms len=44 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=SA seq=1 win=32792 rtt=0.2 ms len=44 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=SA seq=2 win=32792 rtt=0.2 ms len=44 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=SA seq=3 win=32792 rtt=0.1 ms --- localhost hping statistic --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.1/0.2/0.2 ms
flagsがSA なら、ポートはオープンしていて正常に疎通が取れたことを表す。
指定したオプションの意味は、-cで回数を指定、-Sでsynパケット、-pでポートの指定。
指定したポートでサービスが稼動していない場合には以下のように flagsがRA となって返って来る。
とりあえず、上記との違いを比較する為に、Apacheのサービスを停止してみて、再び80番に対してhpingしてみる。
# /etc/init.d/apache2 stop * Stopping web server apache2 [ OK ] # hping3 -c 4 -S -p 80 localhost HPING localhost (lo 127.0.0.1): S set, 40 headers + 0 data bytes len=40 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=RA seq=0 win=0 rtt=0.2 ms len=40 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=RA seq=1 win=0 rtt=0.1 ms len=40 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=RA seq=2 win=0 rtt=0.1 ms len=40 ip=127.0.0.1 ttl=64 DF id=0 sport=80 flags=RA seq=3 win=0 rtt=0.1 ms --- localhost hping statistic --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.1/0.1/0.2 ms
あとはそもそもポートが開いてないと以下のような結果になる。
# hping3 -c 4 -S -p 23 chibi.name HPING chibi.name (eth2 122.21.243.156): S set, 40 headers + 0 data bytes --- chibi.name hping statistic --- 4 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms
※上記のchibi.nameは自分の管理しているサイト
あと、単純にpingとして実行したい場合は以下のようにする(-1のオプションを付ける)。
# hping3 -1 -c 4 localhost HPING localhost (lo 127.0.0.1): icmp mode set, 28 headers + 0 data bytes len=28 ip=127.0.0.1 ttl=64 id=10775 icmp_seq=0 rtt=0.5 ms len=28 ip=127.0.0.1 ttl=64 id=10776 icmp_seq=1 rtt=0.1 ms len=28 ip=127.0.0.1 ttl=64 id=10777 icmp_seq=2 rtt=0.3 ms len=28 ip=127.0.0.1 ttl=64 id=10778 icmp_seq=3 rtt=0.1 ms --- localhost hping statistic --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.1/0.3/0.5 ms
Netcatでポートスキャンとか
Netcatでポートスキャンを実行する
$ nc -v -z localhost 1-1023 localhost.localdomain [127.0.0.1] 80 (www) open localhost.localdomain [127.0.0.1] 25 (smtp) open localhost.localdomain [127.0.0.1] 22 (ssh) open
上記では、localhostの1〜1023番までのポートをスキャンしている。
80, 25, 22番がオープンしているという結果になった。
リクエストをポート8080からポート80へ転送する
$ mknod ncpipe p $ nc -l -p 8080 < ncpipe | nc localhost 80 > ncpipe
違う端末から以下を実行してみる。
なお、Apacheが80番ポートで起動しているものとする。
下記のコマンドで8080番がLISTENしているかチェックしてみる $ lsof -nPi:8080 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME nc 13692 chibi 3u IPv4 87338 TCP *:8080 (LISTEN) 接続してみる $ nc localhost 8080 HEAD / HTTP/1.0 ←入力後にEnterを2回押す HTTP/1.1 200 OK Date: Mon, 25 Feb 2008 09:35:53 GMT Server: Apache X-Powered-By: PHP/5.2.3-1ubuntu6.3 Vary: Accept-Encoding,User-Agent Connection: close Content-Type: text/html
8080番にアクセスしたのに、80番へきちんと転送されている。
ブラウザなどから、http://localhost:8080/ などとアクセスしてもきちんとコンテンツが表示される。