IPv6試してみました @ RHEL5

自分自身は表す(ipv4では127.0.0.1) 方法は、

::1

だそうです。ipv6の基本中の基本か?

IPv6版pngは-Iで送信するインタフェースを指定しなければなりません。
※::1の時はいらないです

$ ping6  ipv6アドレス -I eth0

sshでは以下のようにインタフェースを指定します

$ ssh アドレス%eth0

ipv6知っている人にとっては超常識なんだろーな。


sshでのXフォワーディング@RHEL5

sshって-XオプションつけるとXフォワーディングしてくれるんですね。

昔puttyとかteratermとか使ってたときはやってたけど、最近VNCばかりでX飛ばすことないから知りませんでした。


Linuxのinitrd - イニシャルラムディスク(initial ram disk)の展開方法

Linuxカーネルはモジュール型であるため、Linux起動時に必要なモジュールはinitrdの中に入れておかなければなりません。initrdとは/boot/initrd-2.6.18.img のようなファイルで、mkinitrdコマンドで作成できます。

このファイル、実はcpioでまとめられ、gzipで圧縮されているだけです。なので以下のようにすることで展開できます。

# cd /tmp/
# zcat /boot/initrd-2.6.18.img | cpio -di

中のファイルが見たいだけの場合は以下の通りです。

# zcat /boot/initrd-2.6.18.img | cpio -tv

中身を見てもらえるとわかりますが、モジュール(.koファイル)やinsmodコマンドなど、最低限必要なものが入っています。


パスワードの有効期限と、アカウント有効期限@RHEL5

パスワードのデフォルト有効期限は “/etc/login.defs”で設定できます。他にも、パスワードの長さやメールスプールディレクトリなども設定できます。

ユーザのアカウント有効期限は”chage”コマンドで設定できます。

# chage -E 2008-03-15 mazn

ちなみに -Eで”1970-01-01″を指定するとロック、”1969-12-30″を指定すると解除になります。


ACL - Access Control List @ RHEL5

ACL (Access Control List) とはファイルシステムの機能で、その名の通りファイルやディレクトリへのアクセス制御を行うことができます。ちなみにカーネル2.6から使用できるようです。

通常”ls -l” で表示させた時に “rwxrw-rw-” のように自分、グループ、その他についてのアクセス制御が設定されていますが、例外としてこのユーザだけ読み書きさせたいとか、このグループだけ読みこみ専用にしたなどを実現させることができます。

まずaclを使用するには、そのファイルシステム(ここではext3)がaclが使えるようになっていなければなりません。RHEL5のインストーラで作成したパーティションは、ファイルシステムレベルで有効になっていますが、後から自分で作成したファイルシステムはデフォルトでは有効になっていません。有効にする方法はファイルシステムレベルか、マウント時のオプションで指定できます。

まず、ファイルシステムレベルで有効になっているかどうかは、以下のコマンドで確認できます。

(例) /dev/sda1を確認
[root@localhost tmp]# tune2fs -l /dev/sda1
tune2fs 1.39 (29-May-2006)
Filesystem volume name:   /boot
Last mounted on:          <not available>
Filesystem UUID:          16267cf2-e233-472c-9c5f-d832bd24xxxx
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
… 略 …

マウントオプションで有効になっている場合は以下のように確認できます。

[root@localhost tmp]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
… 省略 …
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /opt type ext3 (rw,acl)

有効になっていない場合は、tune2fsコマンドでファイルシステムレベルで有効にするか、fstabに記述してmountオプションで有効にしてください。

(例)
# mount -o remount,acl /dev/sdb1

使用方法はそれほど難しくありません。

まずはhogeというファイルの現在のACLの状態を見てみます。

[root@localhost tmp]# getfacl hoge
# file: hoge
# owner: root
# group: root
user::rw-
group::r–
other::r–

下3行の赤文字部分が現在の設定部分です。”ls -l” で表示させた権限と同じものです。

[root@localhost tmp]# ls -l hoge
-rw-r--r-- 1 root root 0  1月  4 12:22 hoge

つまり、特別なACLは何も設定されていません。この”hoge”ファイルにユーザmaznは読み書きできるように設定してみます。設定は”setfacl”コマンドで行います。

[root@localhost tmp]# setfacl -m u:mazn:rw- hoge
[root@localhost tmp]# getfacl hoge
# file: hoge
# owner: root
# group: root
user::rw-
user:mazn:rw-
group::r–
mask::rw-
other::r–

以上のようになり、ユーザmaznはこのファイルを読み書きできるようになります。”-m”が属性設定オプションで “u”がユーザを指定”:”で繋いで、”mazn”がユーザ名、さらに”:”で繋いで”rw-”がアクセス権です。”u”の代わりに”g”を使うことでグループの権限を設定できます。このように、ACLが設定されると、”ls -l”でファイルを見たときに属性に”+”がつきます。

 [root@localhost tmp]# ls -l hoge
-rw-rw-r--+ 1 root root 0  1月  4 12:22 hoge

ディレクトリにも同様に設定できます。ディレクトリの場合はさらに “u”や”g”の前に”d:”をつけることができます。”d”をつけるとそのディレクトリ配下に新しく作成されるファイルやディレクトリの属性のデフォルト値になります。一つでもデフォルト値を設定すると、その他のデフォルト値も自動的に設定されます。

[root@localhost tmp]# mkdir foo
[root@localhost tmp]# setfacl -m d:u:mazn:rwx foo
[root@localhost tmp]# getfacl foo
# file: foo
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:mazn:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

“-x”オプションを使用すると、権限を削除できます。

[root@localhost tmp]# setfacl -x u:mazn hoge

“mv”コマンドで移動しても属性は変わりませんが、cpコマンドでは削除されます。cpコマンドで属性までコピーしたい場合は、”-p”オプションを使用してください。mvコマンドでACLが有効なファイルシステムから無効なファイルシステムへ移動した場合、ファイルは移動できますが、ACLの属性がコピーできないため、エラーメッセージが出力されますので注意してください。