FreeBSD 2.X についての FAQ (よくある質問とその答え) : その他の質問 : login 名がいまだに 8文字に制限されているのはなぜですか
Previous: なぜシンボリックリンクのパーミッションは chmod で変えられないのですか?
Next: FreeBSD 上で DOS のバイナリを動かすことはできますか?

12.5. login 名がいまだに 8文字に制限されているのはなぜですか

UT_NAMESIZEを変更して全体を作り直せば十分で, それだけで うまくいくだろうとあなたは考えるかもしれません. 残念ながら多くのアプリケーションやユーティリティ (システムツールも含めて) は小さな数値を構造体やバッファなどに 使っています ( 必ずしも "8" や "9" ではなく, "15" や "20" などの変った値を使うものもあります). (固定長のレコードを期待 するところで可変長レコードになるために) 台無しになった ログファイルを得ることになるということだけでなく, Sun の NIS の クライアントの場合は問題が起きますし, 他の UNIX システムとの関連 においてこれら以外の問題も起きる可能性があります.

しかし, FreeBSD 3.0 以降では 16文字となり, 多くのユーティリティ のハードコードされた名前の長さの問題も解決されます. 実際には システムのあまりに多くの部分を修正するために, 3.0 になるまでは 変更が行われませんでした.

それ以前のバージョンでは, これらの問題が起こった場合に, 問題 を自分自身で発見し, 解決できることに絶対的な自信がある場合は /usr/include/utmp.h を編集し, UT_NAMESIZE の変更にしたがって, 長いユーザ名を使うことができます. また, UT_NAMESIZE の変更と一致するように /usr/include/sys/param.h の MAXLOGNAME 更新しなくてはなりません. 最後に, ソースからビルドする場合は /usr/include を毎回 アップデートする必要があることを忘れないように! /usr/src/.. 上のファイルを変更しておいて置き換えましょう.


FreeBSD 2.X についての FAQ (よくある質問とその答え) : その他の質問 : login 名がいまだに 8文字に制限されているのはなぜですか
Previous: なぜシンボリックリンクのパーミッションは chmod で変えられないのですか?
Next: FreeBSD 上で DOS のバイナリを動かすことはできますか?