以下は、FreeBSDで遊んでいて知ったことのメモです。より良い方法があったり、間違っていたりするかも知れません。 ※参考にされる場合は、自己責任でお願いいたします。
昨今のアプリケーションの多くにおいて認証機能はなくてはならないものになっています。しかし、開発者は毎度同じ機能を作らされるのは時間的・精度的・コスト的にも大変、管理者もアプリ毎に違った管理手順を覚えるのは大変、利用者もアプリ毎に違ったユーザ名はパスワードでは覚えるのもの大変です。基本的に認証機能はOKかNGがわかれば良いわけですから、認証機能を各アプリから切離し、共通の枠組みを作ってしまおうというものです。これをうまく活用すれば、UNIXやWINDOWS、imapなどのユーザ名とパスワードを1つにまとめることが可能です。
/etc/pam.d下に、各アプリ毎のファイルを置く。
設定ファイルの1行は4つのフィールドからできている。(argumentsは無い場合もある。)また、各フィールドは、1つ以上のTABで区切る。
module-type control-flag module-path arguments
設定例(/etc/pam.d/dovecot)
auth sufficient /usr/local/lib/pam_ldap.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass account sufficient /usr/local/lib/pam_ldap.so account required pam_unix.so
同じモジュールタイプが複数行ある場合は、上から評価されていく。
| required | その条件が必要であり、失敗した場合は、他が成功でも失敗となる。 |
| sufficient | その条件が成功した場合は、それ以降を評価せずに成功を返す。それ以降にrequiredがあっても無視される。失敗した場合は、この失敗は無視され、続きを実施しその評価に従う。 |
基本的には、sufficientを並べて、最後にrequiredを置けばよい。 上の例では、ldapでの認証に成功すればその時点でOK、失敗の場合は、UNIX(/etc/passwd)で評価する。(多分)
毎日(daily),毎週(weekly),毎月(mantyly)実行の3種類を設定可能。デフォルト状態でも夜間にディスクチェック等がこの機能を使って行われている。
| /etc/periodic/daily/ | 毎日実行用スクリプトの置き場 |
| /etc/periodic/weekly/ | 毎週実行用スクリプトの置き場 |
| /etc/periodic/monthly/ | 毎月実行用スクリプトの置き場 |
| /etc/defaults/periodic.conf | /etc/periodic/以下の各処理のON・OFFや起動時のデフォルト値を指定。 |
| /etc/periodic.conf | ローカル設定 /etc/defaults/periodic.confの内容を上書き。 |
7系の場合、従来からのcvsupを用いる方法と6から入ったportsnapを使う2種類がある。 portsnapは性能面だけでなく、セキュリティ面が考慮されている。今後はこっちが主流になるのかな。
cd /var/db mkdir sup cd sup cp /usr/share/examples/cvsup/ports-supfile . vi ports-supfile
*default host=cvsup1.jp.FreeBSD.org ※csvup1〜6の中から自分にあったのを選択。
cvsup -g -L2 /var/db/sup/ports-supfile
portsnap fetch portsnap extract
portsnap fetch update
cd /usr/ports/ports-mgmt/portupgrade make install rehash portdb -uU
※portdbには、結構時間がかかるので、しばらくほっとく。
portversion | grep "<"
portupgrade -R firefox
※firefoxを更新する場合。バージョンの指定は不要。
| オプション | 備 考 |
| R | 指定したパッケージが使用しているライブラリ等を含め更新 |
| r | 指定したパッケージを参照しているアプリケーション等を含め更新 |
(実行例:glib2) cd /usr/ports/devel/glib20 make clean make deinstall make install
設定ファイルはsmart-ups用になっているので、同梱されているusbケーブルを使った場合にあわせて変更する。
UPSCABLE usb UPSTYPE usb DEVICE MINUTES 7 TIMEOUT 300
/usr/local/sbin/apcaccess
上手く設定できていれば、機種名やバッテリの状態等が表示される。
| 場所 | 備考 |
| ports/databases/oracle8-clientt |
i386限定 重要:Oracle社非サポート。 |
Oracle8i以降に接続できる模様。(Linux上の10gに接続できた。)
apacheをサーバにしたwebアプリの場合は、起動用シェルスクリプトに以下を追加。 (ORACLE_HOMEとNLS_LANG:サーバ側の文字コードはそれぞの環境に読み替える。)
export ORALCE_HOME=/usr/local/oracle8-client export NLS_LANG=Japanese_Japan.JA16SJIS
KQEMUを使用する場合は、/boot/loader.confに以下を追加
aio_load="YES" kqemu_load="YES"
10.0.2.4 smbserver
-smb /home/public
/.wine/uesr.reg
[Software\\Wine\\X11 Driver] "InputStyle"="root" または overthespot
方針:xmodmapでキーをユーザ設定する。
~/.Xmodmapを編集
keycode 151 = backslash underscore
xmodmap ~/.Xmodmap