FreeBSD 8.0 + nss_ldap 會讓 user 的 supplementary group 無效

這個問題是 FreeBSD 8.0 才開始有的。
一般人應該都知道一個 user 可以有一個 primary group,
以及多個 supplementary groups。
前者是直接設定在 passwd / master.passwd 檔裡,
後者是設定在 group 檔裡。
現在的問題就是把 group 放在 LDAP 上面,
無論 user 是系統上的還是 LDAP 上的,
把他們加入 LDAP 上的 group 內都會無效。
不過這是只有把 ldap 加在 nsswitch.conf 的 compat_passwd 和 compat_group 裡才會發生,
這個功能好像在 FreeBSD 8.0 壞掉了,
不然就是有什麼新的設定要改。

Read moreFreeBSD 8.0 + nss_ldap 會讓 user 的 supplementary group 無效

FreeBSD 的 php5-5.2.12 掛掉的原因

從上一篇FreeBSD 的 lang/php5 (5.2.11) 是壞的寫完到現在也過了一段時間了,
漸漸的網路上終於看到有些人開始關注,
但是數量其實不多,
因為這個災情有限定對象:
1. 要用 FreeBSD 才會遇到。
2. apache 要用 MPM=prefork 以外的狀況才會遇到;也就是 php 在 thread safety 是 enabled 的狀態下才會發生。

Read moreFreeBSD 的 php5-5.2.12 掛掉的原因

在 FreeBSD 安裝 rubygem-oniguruma

基本上 FreeBSD 的 ports tree 目前是沒有這種東西,
不過 ruby18 的 make config 選單裡可以勾出來;
但是它搭的 oniguruma.h 檔好像蠻舊了問題很多 (這個檔案會被裝到 /usr/local/lib/ruby/1.8/i386-freebsd7/ 下),
做 gem install 的時候如果需要編譯的話會 include 到它。
因為 CFLAGS 會自動被加上 -I/usr/local/lib/ruby/1.8/i386-freebsd7/ 這個參數,
並不會因為你裝了 devel/oniguruma5 而幫你優先使用 -I/usr/local/include。

Read more在 FreeBSD 安裝 rubygem-oniguruma

MySQL 6.0 最好先不要亂升

一個小小原因是因為 5.x -> 6.0 的話做一定會跟你說 .frm 已經壞了叫你修,
然後用 mysql_ugprade 跑下去跟你說修好了其實還是沒修好,
手動進去打 repair table xxx 怎麼打也還是顯示 corrupt 沒辦法修好,
雖然這個應該用 dump/restore 應該是搞得定,
但還有另一個更大的原因讓我不想升。

Read moreMySQL 6.0 最好先不要亂升

Redmine 的 Repository Controls plugin

每個 SVN 檔案庫都可以透過 conf/authz 去控制哪些人可以讀寫哪些路徑的檔案,
一般來說如果有在用 Trac 或 Redmine 這類 web front-end 的都會希望能在 web UI 上控制,
不會還想要進到 shell 下做修改,
Redmine 的 Repository Controls plugin 就是在做這件事,
不過它的控制方法有點微妙的不同,
不像之前設 Trac 的時候是直接讓 Trac 指向那個 authz 檔做修改,
而是直接掛 Perl module 去讀 Redmine db 裡的設定來控制存取權,
只是這有一個麻煩之處就是沒辦法直接用 SVN 內建的機制,
寫那個 Perl module 的人要重新實作那個功能一遍。

Read moreRedmine 的 Repository Controls plugin

FreeBSD 的 pkg_delete 有時會 segmentation fault

可能是因為 ports 本身有一些檔案沒寫好導致讀到空字串吧,
gdb 進去看 pkg_delete 的 core 檔會發現死在 strcmp() 上,
不知道為什麼五六年前已經有人寫出了 patch 卻到現在還沒修正,
就算 ports 的 maintainer 有東西沒寫好,
套件管理工具本身也不應該直接 crash 掉吧?
每次砍光 ports 做全面更新的時候都會遇上個幾次。

Read moreFreeBSD 的 pkg_delete 有時會 segmentation fault

FreeBSD 的 lang/php5 (5.2.11) 是壞的

簡單說就是一個大地雷,
當然如果裝 php5-extensions 的時候不勾 mhash/mysql/mysqli 就不會有事,
但是一勾下去的話無論是 CLI 還是 Apache module 都難逃一死,
在 command line 下直接輸入 php 或 php -v 就 Segmentation Fault 了,
真不知道是哪個天才 commit 進去的,
已經這麼久了還是沒人報也沒人修。

Read moreFreeBSD 的 lang/php5 (5.2.11) 是壞的

不錯的 LDAP 輔助工具集: ldapscripts

研究 LDAP 的便利工具也有一段時日了,
偏好使用純文字介面的我當然不太可能選擇 GUI client,
所以一開始是先挑了功能不太齊全的 ldapsh,
它提供了一個類似 shell 的介面讓人能編輯或刪除 LDAP 裡的資料,
不過似乎找不到新增資料的方式,
至於會啟動什麼編輯器則是看 EDITOR 這個環境變數決定;
最後相中的是 ldapscripts 這個 ports,
安裝完之後只要做一些簡單的設定就行了,
不過唯一的缺陷似乎是沒支援 starttls,
這樣可能會強迫我開 ldaps 協定吧,
不過目前我只把這個裝在 LDAP server 所在的機器上,
所以其實還算可接受的範圍內。

Read more不錯的 LDAP 輔助工具集: ldapscripts