summaryrefslogtreecommitdiff
path: root/src/radius_shell.c
AgeCommit message (Collapse)Author
2023-02-24PAM: T4943: Replaced shell from bash to vbashzsdc
This change was lost after cf571ca6c722d3d2b0c359dddf835a3f406b194b
2021-05-02Update package to 1.5.0-cl3u7Christian Poessinger
2018-05-25use resticted shell for operator usersKim Hagen
2018-05-24Revert "Do not include config file"Kim
This reverts commit 80ec9b746124ca540faeac332131a7833a08b14c.
2018-05-17Do not include config fileUnicronNL
Use vbash instead of bash Only change shell for priv user
2018-04-15Fixed incredibly stupid radius_shell bug where I forgot about args > 1Dave Olson
Ticket: CM-20606 Reviewed By: nobody Testing Done: ran my own tests, and the automated radius tests All the shells need to accept -c someargument, for 'su -c' non-interactive shell, etc. Fixed by adjusting args[0], and using execv instead of execl. Passes regular radius automated tests again.
2018-04-13Add a new package radius-shell with a setcap radius_shell front endDave Olson
Ticket: CM-19457 Reviewed By: nobody Testing Done: multiple logins, separately and simultaneously Because we can't determine privilege level separately and up front with the RADIUS protocol, unlike TACACS+, we wind up with all logins as the same unprivileged radius uid. But we can set the auid (accounting or auditing uid) correctly, and a separate setcap radius_shell can be set as the login shell, and can fixup the uid before running /bin/bash. To set the auid correctly, we need to know the privileged radius user account. Added mapped_priv_user to the configuration file to handle that. mapped_priv_user has to match the account used by libnss-mapuser. That's a bit ugly, but a common config file would be uglier. The radius shell is in a new package, since it has binaries. The new package is radius-shell. In it's post actions, it changes the radius users shell to radius_shell if they are present, and back to /bin/bash on package removal. It uses capabilities, tries to be very restrictive in what it changes, and depends on being installed setcap cap_setuid Make the existing libpam-radius-auth package depend on radius-shell, so it will pull in the new package on upgrades. Also fixed another issue with reparsing changed config file, have to handle case where there were servers defined, but aren't any longer.