From manual page: -r Enables the restricted shell. This option cannot be unset once set. But one can exit it with: $ set +r One can work an a restricted shell with: + Create a ~/.profile that sets PATH to, for example, /rbin + Add symbolic links to /rbin, e.g. # ln -sf /bin/ls /rbin + Remove any unwanted environment variable or function from ~/.profile with unset. Above works with bash, on basic tests using .bash_profile: export PATH=/rbin unset command_not_found_handle and user shell set to /bin/rbash Restricted shells overall are somewhat of a fragile solution, but if the environment is really very small, it is a somewhat safe option.
Upstream commit: https://github.com/ksh93/ksh/commit/74b4162178c8a2347491b9fd3a22d8e6e1b7e831 Thus this bug is fixed in ksh on all versions of rhel-9 and higher.
Development Management has reviewed and declined this request. You may appeal this decision by reopening this request.