RBASH如何防止用户退出正常bash?

我已经设置了一些testing帐户来testingrbash,以限制用户在服务器上执行的操作。 目前我正在使用.bash_profile为这些configuration文件设置bash -r 。 但是当用户键入exit它们会进入正常的bash shell。

我想这样做,当他们键入exit注销服务器。 否则bash -r将不会限制访问。

请让我知道你有什么想法。

你的问题的确切答案是

 exec bash -r 

这将用rbash replaceloginshell,而不是简单地启动一个subprocess。

最好的答案是更改用户的loginshell。

通过useraddusermod-s选项将用户的loginshell设置为rbash ,例如。

 usermod -s /bin/rbash luser 

如果你的rbash可执行文件在/bin/rbash

这里是/ bin / bash的修复程序没有显示出来,然后做

 sudo ln -s /bin/bash /bin/rbash sudo bash -c 'echo “/bin/rbash” >> /etc/shells' sudo chsh -s /bin/rbash ruser 

然后执行此操作来更改用户shell

 chsh -s /bin/rbash test