7d003c3518
This pull request was cherry picked from "#1238" to resolve the conflicts. - Why I did it Add support to specify source address for TACACS+ - How I did it Add patches for libpam-tacplus and libnss-tacplus. The patches parse the new option 'src_ip' and store the converted addrinfo. Then the addrinfo is used for TACACS+ connection. Add a attribute 'src_ip' for table "TACPLUS|global" in configDB Add some code to adapt to the attribute 'src_ip'. - How to verify it Config command for source address PR in sonic-utilities config tacacs src_ip <ip_address> - Description for the changelog Add patches to specify source address for the TACACS+ outgoing packets. - A picture of a cute animal (not mandatory but encouraged) **UT logs: ** UT_tacacs_source_intf.txt
33 lines
1.0 KiB
Django/Jinja
33 lines
1.0 KiB
Django/Jinja
# Configuration for libnss-tacplus
|
|
|
|
# debug - If you want to open debug log, set it on
|
|
# Default: off
|
|
# debug=on
|
|
{% if debug %}
|
|
debug=on
|
|
{% endif %}
|
|
|
|
# src_ip - set source address of TACACS+ protocol packets
|
|
# Default: None (auto source ip address)
|
|
# src_ip=2.2.2.2
|
|
{% if src_ip %}
|
|
src_ip={{ src_ip }}
|
|
{% endif %}
|
|
|
|
# server - set ip address, tcp port, secret string and timeout for TACACS+ servers
|
|
# Default: None (no TACACS+ server)
|
|
# server=1.1.1.1:49,secret=test,timeout=3
|
|
{% for server in servers %}
|
|
server={{ server.ip }}:{{ server.tcp_port }},secret={{ server.passkey }},timeout={{ server.timeout }}{% if server.vrf %},vrf={{ server.vrf }}{% endif %}{{''}}
|
|
{% endfor %}
|
|
|
|
# user_priv - set the map between TACACS+ user privilege and local user's passwd
|
|
# Default:
|
|
# user_priv=15;pw_info=remote_user_su;gid=1000;group=sudo,docker;shell=/bin/bash
|
|
# user_priv=1;pw_info=remote_user;gid=999;group=docker;shell=/bin/bash
|
|
|
|
# many_to_one - create one local user for many TACACS+ users which has the same privilege
|
|
# Default: many_to_one=n
|
|
# many_to_one=y
|
|
|