Frequently Asked Questions for FreeBSD 2.X : 其它各式各樣的問題 : 為甚麼帳號 仍然 限制為八個字元?
Previous: 為甚麼 chmod 不會改變符號連結(symlink)的存取權限?
Next: 我能在 FreeBSD 下跑 DOS 程式嗎?

12.5. 為甚麼帳號 仍然 限制為八個字元?

你會認為修改 UT_NAMESIZE 然後重建系統是很簡單的事情, 而且 每件事都可以運做地很好. 不辛的是有許多的程式和工具(包含系統工具) 把數字寫死在程式裡(並非總是 8 或 9, 有時是古怪的如 15 和 20). 這不只會把你的記錄檔弄壞(來自於變動長度和固定長度記錄的差異), 也 會破壞 Sun 的 NIS 客戶端的運做, 和其它 UNIX 系統的互相影響也可能 有潛在的問題.

在 FreeBSD 3.0 以及之後的版本, 帳號的最大長度增加到16個字元, 而那些寫死長度的程式也找出來修正. 影響到系統如此多部份正是直到 3.0 才做修改的原因.

如果你有自信在出問題的時後能自行解決, 你可以用下面的方法讓較早的 版本支援較長的帳號. 修改 /usr/include/utmp.h 中的 UT_NAMESIZE. 你也 必須把 /usr/include/sys/param.h 中的 MAXLOGNAME 改成跟 UT_NAMESIZE 相符. 最後, 如果你是從原始程式建立系統, 別忘了 /usr/include 每次都 會更新! 修改 /usr/src/.. 中適當的檔案.


Frequently Asked Questions for FreeBSD 2.X : 其它各式各樣的問題 : 為甚麼帳號 仍然 限制為八個字元?
Previous: 為甚麼 chmod 不會改變符號連結(symlink)的存取權限?
Next: 我能在 FreeBSD 下跑 DOS 程式嗎?