GNU make がいるので
PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:.
普通に make すると mysql 関係でエラーが出る.
なので,ソースの src/modules にあるこれらのディレクトリを消す.
rlm_sql rlm_sql_log rlm_sqlcounter rlm_sqlhpwippool rlm_sqlippool
$ ./configure --prefix=/opt/freeradius $ gmake # gmake install
GNU make がいるので
PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:.
$ ./configure --prefix=/opt/freeradius
いくつかソースを修正する.
Make.inc の 28行目(-DHAVE_CLOSEFROM を追加)
CFLAGS = $(INCLUDE) -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -D_GNU_SOURCE -DNDEBUG
を
CFLAGS = $(INCLUDE) -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -D_GNU_SOURCE -DNDEBUG -DHAVE_CLOSEFROM
src/modules/rlm_perl/Makefile の 9行目(-xarch=..を削る)
RLM_CFLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xarch=sparcv9 -D_TS_ERRNO -I/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
を
RLM_CFLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -I/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE
$ gmake # gmake install
$ radiusd -X
$ radtest test test localhost 0 testing123
/opt/freeradius/etc/raddb にある設定ファイルを編集する.
# pamを
pamに変更することのみ. 後は適当.
DEFAULT Auth-Type = System Fall-Through = 1を
DEFAULT Auth-Type = PAM Fall-Through = 1とする.
この設定で,NIS+ 環境でも radtest での認証は通った.
また,RedHat Linux では,/etc/raddb/radiusd.conf の
user = radiusd group = radiusd
の行をコメントアウトしないと PAM 認証は通らなかった. (つまり,root 権限で radiusd を動かすということ)
manifest(適当に作る freeradius.xml)
/var/svc/manifest/network/freeradius.xml
method(適当に作る freeradius.method)
/lib/svc/method/freeradius
登録
# svccfg import /var/svc/manifest/network/freeradius.xml # svcs -a |grep radius disabled 14:46:54 svc:/network/freeradius:freeradius # svcadm enable freeradius