いよいよ各種設定のために、root でログインします。
今後は、root での操作を # プロンプトで示します。
キーボードが日本語用になっていないので、先にキーボードの設定を変更します。
私のキーボード、jp106 があるかどうかを、一応確認します。
[ root@fedora ~]# ls /lib/kbd/keymaps/i386/qwerty
(以下プロンプトは # と略します。)
たしかに、jp106.map.gz があります。そこで、キーボードを jp106 にします。
# loadkeys jp106
Loading /lib/kbd/keymaps/i386/qwerty/jp106.map.gz
#
これでキーボードは正しく設定されました。起動時にキーボードが正しく設定されるように、/etc/rc.d/rc.local に上述のコマンドを追加しておきます。
ついでに runlevel のデフォルトも確認しましょう。
# grep initdefault /etc/inittab
....................
id:3:initdefault:
(.......... は省略を表します。)
runlevel 3 で動いています。
忘れないうちに root のパスワードを設定します。
# passwd
Changing password for user root.
New UNIX password:
/usr/share/cracklib/pw_dict: error reading header
PWOpen: Success
とエラーになります。man でチェックすると、Linux-PAM に関連しているようです。設定ファイルは、/etc/pam.d/passwd です。
そこで、pam.d/passwd の中身を調べると、
auth include system-auth
account include system-auth
password include system-auth
となっていました。これは、password の設定で system-auth の記述に従うことですから、pam.d/system-auth の該当部分をみてみます。
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
cracklib は、パスワードの脆弱性(辞書にある単語とマッチするか?)をチェックする機能ですからなくても良さそうです。
password 行の修正でよさそうです。include をやめて、直接指定することで試しました。 passwd の password 行を、system-auth の 最初の password 行を除いた2つの行を直接指定します。
# passwd
Changing password for user root.
passwd: Permission denied
となってうまくいきません。アクセス権が誤っているようです。
そこで、元に戻ってcracklib 関連で探してみると、create-cracklib-dict コマンドがあることが分かりました。適当な単語リストをテキストファイルで用意すればこのコマンドが使えるみたいなので試しました。
# vi /tmp/lists
# create-cracklib-dict /tmp/lists
/usr/shar/cracklib を見てみると、
pw_dict.hwm
pw_dict.pwd
pw_dict.pwi
の3つの新しいファイルが作成されていました。早速、試してみました。
# passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#
となってうまくいきました。つまり、create-cracklib-dict で作成しなおせばいいわけです。作成した /tmp/lists ファイルは1行1単語で適当に作ったものです。壊れていた辞書は、後でどこから持ってくれば良いのですが、とりあえずこのままで。
次回は、ネットワーク設定などに挑戦したいと思います。
今後は、root での操作を # プロンプトで示します。
キーボードが日本語用になっていないので、先にキーボードの設定を変更します。
私のキーボード、jp106 があるかどうかを、一応確認します。
[ root@fedora ~]# ls /lib/kbd/keymaps/i386/qwerty
(以下プロンプトは # と略します。)
たしかに、jp106.map.gz があります。そこで、キーボードを jp106 にします。
# loadkeys jp106
Loading /lib/kbd/keymaps/i386/qwerty/jp106.map.gz
#
これでキーボードは正しく設定されました。起動時にキーボードが正しく設定されるように、/etc/rc.d/rc.local に上述のコマンドを追加しておきます。
ついでに runlevel のデフォルトも確認しましょう。
# grep initdefault /etc/inittab
....................
id:3:initdefault:
(.......... は省略を表します。)
runlevel 3 で動いています。
忘れないうちに root のパスワードを設定します。
# passwd
Changing password for user root.
New UNIX password:
/usr/share/cracklib/pw_dict: error reading header
PWOpen: Success
とエラーになります。man でチェックすると、Linux-PAM に関連しているようです。設定ファイルは、/etc/pam.d/passwd です。
そこで、pam.d/passwd の中身を調べると、
auth include system-auth
account include system-auth
password include system-auth
となっていました。これは、password の設定で system-auth の記述に従うことですから、pam.d/system-auth の該当部分をみてみます。
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
cracklib は、パスワードの脆弱性(辞書にある単語とマッチするか?)をチェックする機能ですからなくても良さそうです。
password 行の修正でよさそうです。include をやめて、直接指定することで試しました。 passwd の password 行を、system-auth の 最初の password 行を除いた2つの行を直接指定します。
# passwd
Changing password for user root.
passwd: Permission denied
となってうまくいきません。アクセス権が誤っているようです。
そこで、元に戻ってcracklib 関連で探してみると、create-cracklib-dict コマンドがあることが分かりました。適当な単語リストをテキストファイルで用意すればこのコマンドが使えるみたいなので試しました。
# vi /tmp/lists
# create-cracklib-dict /tmp/lists
/usr/shar/cracklib を見てみると、
pw_dict.hwm
pw_dict.pwd
pw_dict.pwi
の3つの新しいファイルが作成されていました。早速、試してみました。
# passwd
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#
となってうまくいきました。つまり、create-cracklib-dict で作成しなおせばいいわけです。作成した /tmp/lists ファイルは1行1単語で適当に作ったものです。壊れていた辞書は、後でどこから持ってくれば良いのですが、とりあえずこのままで。
次回は、ネットワーク設定などに挑戦したいと思います。