安装
将 http://download.csdn.net/detail/wingking84/5814131 解压,PROJECTS放到/root下,进入PROJECTS然后执行 make && make install
配置
将参考配置文件 http://download.csdn.net/detail/wingking84/5814141 放到/root下(其它目录也可以,启动时需要加路径)。可以根据需要修改,以下是简要说明。
id = spawnd {
listen = { port = 49}
spawn = {
instances min = 1
instances max = 10
}
background = yes
}
id = tac_plus {
debug = PACKET AUTHEN AUTHOR
access log = /tmp/access.log
authorization log = /tmp/author.log
accounting log = /tmp/acct.log
#由于新的tac_plus中引用了一个mavis模块,所以不再有passwd = file /etc/passwd这种使用file来指定密码文件的方法,
#根据线上的配置来看,还是有用服务器的用户名密码登陆的需求的, 这里就用了mavis的mavis_tacplus_passwd.pl这个模块
#mavis的其他模块可以参看我之前给大家发的tacacs配置的pdf, mavis的pl模块都在/usr/local/lib/mavis目录中。
mavis module = external {
exec = /usr/local/lib/mavis/mavis_tacplus_passwd.pl
}
#这里也是指定,登陆的后端使用mavis
login backend = mavis
host = world {
address = ::/0
prompt = "Welcome\n"
welcome banner = "Welcome to tacplus"
#下述enable15= login, 如果开启, 则当交换机配置了enable认证并且tac服务器
#没有配置某用户enable密码,那么enable密码就==login密码。
# enable 15= login
key = 123
}
#admin组就用这样的默认配置就好了,不需要更改。
group = admin {
defaultservice = permit
service = shell {
defaultcommand = permit
defaultattribute = permit
set priv-lvl = 15
}
service = exec {
set priv-lvl = 15
}
}
#readonly组可以在我们写case时,按照需要,自己增加cmd, 没有在下面显示写明的cmd都会被deny。
group = readonly {
defaultservice = deny
login = mavis
service = shell {
set priv-lvl = 14
defaultcommand = deny
defaultattribute = deny
cmd = show {
permit .*
}
cmd = configure {
permit .*
}
cmd = tacacs-server {
permit .*
}
}
service = exec {
set priv-lvl = 15
}
}
#这里配置了用户admin, 密码为明文admin, enable密码为test(如果交换机配置了验证enable认证则需要输入),
#并且admin用户属于上述建立的admin组。
user = admin {
password = clear admin
enable = clear test
member = admin
service = shell {
defaultcommand = permit
defaultattribute = permit
set priv-lvl = 15
}
}
#这里又配置了一个用户root, 密码配置为mavis, 根据前面mavis的配置,root使用tac服务器上root的密码就可以登陆交换机。
#而如果我们自己在服务器上增加几个用户名,并且在此处配置用户并将密码设置为mavis, 都是可以登陆交换机的。
user = root {
password = mavis
member = admin
}
#用户配置基本没有什么区别,只是guest属于readonly,只能执行几个特定开放的命令。
user = guest {
password = clear guest
enable = clear hello
member = readonly
}
}
启动tac_plus
[root@localhost~]# tac_plus tac_plus.cfg
[root@localhost~]# ps aux | grep tac
root 9866 0.0 0.0 73572 1024 ? Ss 21:52 0:00tac_plus:0connections, accepting up to 600more
root 9867 0.0 0.0 75912 2504 ? Ss 21:52 0:00tac_plus:0connections
root 9868 0.0 0.0 125088 2712 ? S 21:52 0:00/usr/bin/perl -w /usr/local/lib/mavis/mavis_tacplus_passwd.pl
root 9870 0.0 0.0 103300 844 pts/4 S+ 21:52 0:00grep tac