rbash

rbash(restricted bash),即受限制的 bash,对于使用 ssh 来访问网页来说是一个很好的选择。
rbash 支持 debian 以及 rh。rbash 只是 bash 的一个软链接。除了这里提到的几个方面之外,他跟 bash 一样。

$ ll /bin/rbash
lrwxrwxrwx 1 root root 4 2011-03-25 14:53 /bin/rbash -> bash*

建立 wfg 用户,将其 shell 修改为 rbash:

$ sudo adduser  wfg
Adding user `wfg' …
Adding new group `wfg' (1000) …
Adding new user `wfg' (1000) with group `wfg' …
Creating home directory `/home/wfg' …
Copying files from `/etc/skel' …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for wfg
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y

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

到这里为止,一个访问受限的用户已经建立成功了,下面会对其的访问做出进一步的限制。

$ sudo chmod 750 /home/wfg
$ rm -rf .bash_login .bashrc .profile .bash_profile .bash_logout
$ touch .bashrc
$ for i in .bash_login .bash_profile .bash_logout .profile; do echo “. .bashrc” > $i; done
 
$ echo “export PATH=/home/wfg/usr/bin” >> .bashrc
$ mkdir -p /home/wfg/usr/bin
$ chown -R root:wfg .bash* .profile /home/wfg
$ chmod 640 .bash* .profile
$ chmod -R 750 usr/bin

 
如果要让用户能够使用 vim,加个软链接,其余的同理:

$ ln -s /usr/bin/vim /home/wfg/usr/bin/vim

参考:

http://blog.bodhizazen.net/linux/how-to-restrict-access-with-rbash/