<div dir="auto">I thought optional pairs are only sent to the device if they are requested. </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 22, 2021 at 3:23 PM heasley <<a href="mailto:heas@shrubbery.net">heas@shrubbery.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Tue, Jun 22, 2021 at 01:01:37PM -0400, Munroe Sollog:<br>
> According to the Cisco documentation, DCNM expects the role of<br>
> 'network-admin' to be supplied to grant a user administrator privileges.  I<br>
> was able to provide that role using this config:<br>
> <br>
>         service = exec {<br>
> <br>
>              priv-lvl = 15<br>
> <br>
>             cisco-av-pair:shell:roles= "network-admin"<br>
> <br>
>             #optional shell:roles = "network-admin"<br>
> <br>
> <br>
>              }<br>
> <br>
> However, this causes my switches to balk.  I'm trying to convert that to an<br>
> "optional" parameter as you can see in the commented line.  However I am<br>
> not having any success.  I have been trying to confirm that DCNM is<br>
> actually requesting the role attribute, but none of my debug commands or<br>
> packet captures seem to make that clear.  Here is some debug output of both<br>
> the authentication and authorization phase.  Any help would be<br>
> appreciated.  Thanks.<br>
<br>
There is no "request" of the attribute.  The attribute is passed with<br>
an authorization reply.<br>
<br>
I suspect that you have some other configuration error.<br>
<br>
> root@rover:/etc/tacacs+# /usr/sbin/tac_plus -C /etc/tacacs+/tac_plus.conf<br>
> -g -d24<br>
> Reading config<br>
> Version F4.0.4.27a Initialized 1<br>
> tac_plus server F4.0.4.27a starting<br>
> socket FD 4 AF 2<br>
> uid=0 euid=0 gid=0 egid=0 s=-178230864<br>
> connect from 192.168.1.248 [192.168.1.248]<br>
> 192.168.1.248 : fd 5 eof (connection closed)<br>
> Read -1 bytes from 192.168.1.248 , expecting 12<br>
> connect from 192.168.1.248 [192.168.1.248]<br>
> login query for 'mus3' port 49 from 192.168.1.248 accepted<br>
> connect from 192.168.1.248 [192.168.1.248]<br>
> Start authorization request<br>
> do_author: user='mus3'<br>
> user 'mus3' found<br>
> mus3 may run an unlimited number of sessions<br>
> exec authorization request for mus3<br>
> exec is explicitly permitted by line 226<br>
> nas:service=shell (passed thru)<br>
> nas:protocol=ip (passed thru)<br>
> nas:cmd= (passed thru)<br>
> nas:cisco-av-pair*  svr:absent/deny -> delete cisco-av-pair*  (i)<br>
> nas:shell:roles*  svr:shell:roles*network-admin -> replace with<br>
> shell:roles*network-admin (h)<br>
> nas:absent, server:priv-lvl=15 -> add priv-lvl=15 (k)<br>
> replaced 2 args<br>
> authorization query for 'mus3' 49 from 192.168.1.248 accepted<br>
> <br>
> <br>
> <br>
> -- <br>
> Munroe Sollog (He/Him/His)<br>
> Senior Network Engineer<br>
> <a href="mailto:munroe@lehigh.edu" target="_blank">munroe@lehigh.edu</a><br>
> -------------- next part --------------<br>
> An HTML attachment was scrubbed...<br>
> URL: <<a href="http://www.shrubbery.net/pipermail/tac_plus/attachments/20210622/4be317c5/attachment.htm" rel="noreferrer" target="_blank">http://www.shrubbery.net/pipermail/tac_plus/attachments/20210622/4be317c5/attachment.htm</a>><br>
> _______________________________________________<br>
> tac_plus mailing list<br>
> <a href="mailto:tac_plus@www.shrubbery.net" target="_blank">tac_plus@www.shrubbery.net</a><br>
> <a href="https://www.shrubbery.net/mailman/listinfo/tac_plus" rel="noreferrer" target="_blank">https://www.shrubbery.net/mailman/listinfo/tac_plus</a><br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Munroe Sollog (He/Him/His)<div>Senior Network Engineer</div><div><a href="mailto:munroe@lehigh.edu" target="_blank">munroe@lehigh.edu</a></div></div></div>