<div dir="ltr">Hello,<div><br></div><div>I'm trying to implement ACLs in our environment but can't seem to get the syntax correct.  Here's our entire sanitized tac_plus.conf:</div><div><br></div><div><div>#!/usr/local/sbin/tac_plus</div><div>id = spawnd {</div><div>        listen = { port = 49 }</div><div>        spawn = {</div><div>                instances min = 1</div><div>                instances max = 10</div><div>        }</div><div>        background = yes</div><div>}</div><div><br></div><div>id = tac_plus {</div><div>        access log = /var/log/tac_plus/access/%Y%m%d.log</div><div>        accounting log = /var/log/tac_plus/acct/%Y%m%d.log</div><div><br></div><div>        key = test</div><div><br></div><div>        mavis module = external {</div><div>                script out = {</div><div>                        if ($RESULT == ACK) set $PASSWORD_ONESHOT = 1</div><div>                }</div><div>                setenv LDAP_SERVER_TYPE = "microsoft"</div><div>                setenv LDAP_HOSTS = "domain.local:3268"</div><div>                setenv LDAP_BASE = "DC=domain,dc=local"</div><div>                setenv LDAP_USER = "CN=ldap,CN=Managed Service Accounts,DC=domain,DC=local"</div><div>                setenv LDAP_PASSWD = "password"</div><div>                setenv LDAP_SCOPE = "sub"</div><div>                setenv LDAP_FILTER = "(&(objectclass=user) (sAMAccountName=%s))"</div><div>                setenv LDAP_FILTER_CHPW = "(&(objectclass=user) (sAMAccountName=%s))"</div><div>                setenv TACACS_GROUP_PREFIX = "TACACS_"</div><div>                setenv REQUIRE_TACACS_GROUP_PREFIX = 1</div><div>                #exec = /usr/local/lib/mavis/<a href="http://mavis_tacplus_ldap.pl">mavis_tacplus_ldap.pl</a></div><div>                exec = /usr/local/lib/mavis/<a href="http://mavis_tacplus_ads.pl">mavis_tacplus_ads.pl</a></div><div>        }</div><div><br></div><div>        login backend = mavis</div><div>        user backend = mavis</div><div>        pap backend = mavis</div><div><br></div><div>        acl = test {</div><div>                deny = 172.17.1\.(2|34|35)</div><div>                deny = 10.0.32.1$</div><div>                permit = .*</div><div>        }</div><div><br></div><div>        group = Group1 {</div><div><span class="" style="white-space:pre">                           </span>acl = test</div><div>                enable = permit</div><div>                default service = permit</div><div>                service = exec {</div><div>                        set priv-lvl = 15</div><div>                }</div><div><br></div><div>        }</div><div><br></div><div>        group = Group2 {</div><div>                enable = permit</div><div>                default service = permit</div><div>                service = exec {</div><div>                       set priv-lvl = 15</div><div>               }                </div><div>        }</div><div>}</div></div><div></snip></div><div><br></div><div>When I run that through the config check (tac_plus -d 16 -P tac_plus.conf) I get:</div><div><br></div><div><div>31363: 19:00:00.000 0/00000000: /home/ngagne/tac_plus_test.conf:15: "key" keyword is deprecated at top configuration level.</div><div>#!/usr/local/sbin/tac_plus</div><div>id = spawnd {</div><div>        listen = { port = 49 }</div><div>        spawn = {</div><div>                instances min = 1</div><div>                instances max = 10</div><div>        }</div><div>        background = yes</div><div>}</div><div><br></div><div>id = tac_plus {</div><div>        access log = /var/log/tac_plus/access/%Y%m%d.log</div><div>        accounting log = /var/log/tac_plus/acct/%Y%m%d.log</div><div><br></div><div>        key = test</div><div><br></div><div>        mavis module = external {</div><div>                script out = {</div><div>                        if ($RESULT == ACK) set $PASSWORD_ONESHOT = 1</div><div>                }</div><div>                setenv LDAP_SERVER_TYPE = "microsoft"</div><div>                setenv LDAP_HOSTS = "domain.local:3268"</div><div>                setenv LDAP_BASE = "DC=domain,dc=local"</div><div>                setenv LDAP_USER = "CN=ldap,CN=Managed Service Accounts,DC=domain,DC=local"</div><div>                setenv LDAP_PASSWD = "password"</div><div>                setenv LDAP_SCOPE = "sub"</div><div>                setenv LDAP_FILTER = "(&(objectclass=user) (sAMAccountName=%s))"</div><div>                setenv LDAP_FILTER_CHPW = "(&(objectclass=user) (sAMAccountName=%s))"</div><div>                setenv TACACS_GROUP_PREFIX = "TACACS_"</div><div>                setenv REQUIRE_TACACS_GROUP_PREFIX = 1</div><div>                #exec = /usr/local/lib/mavis/<a href="http://mavis_tacplus_ldap.pl">mavis_tacplus_ldap.pl</a></div><div>                exec = /usr/local/lib/mavis/<a href="http://mavis_tacplus_ads.pl">mavis_tacplus_ads.pl</a></div><div>        }</div><div><br></div><div>        login backend = mavis</div><div>        user backend = mavis</div><div>        pap backend = mavis</div><div><br></div><div>        acl = test {</div><div>                deny</div><div>/home/ngagne/tac_plus_test.conf:40: Expected 'nac', 'nas', 'port', 'time' or 'acl', but got 'deny'</div><div>31363: /home/ngagne/tac_plus_test.conf:40: Expected 'nac', 'nas', 'port', 'time' or 'acl', but got 'deny'</div><div>31363: Detected fatal configuration error. Exiting.</div></div><div></snip></div><div><br></div><div>What am I doing wrong?  </div></div>