k3rnel wrote:
Hello, i am setting up a shell provider here on Linode... i have seen other shell hosts that dont allow certain programs, even if u compile them yourself. i really would like to know this, plus other info such as restricting them access by users/etc.... ty
No offense, but if these questions are not questions you can answer yourself, then I highly suggest not setting up a shell provider. (I'll openly admit, I'm *HIGHLY* against public shell providers)
I'm not going to deny it, I don't know how to answer these questions. Though I can offer a few suggestions:
First, you may want to look into pam_chroot. The sources need to be grabbed from ftp.kernel.org (unless your distro comes with pam_chroot packages, which is doubtful). The sample config file it comes with is pretty helpful
Secondly, you may want to remove the execute perm on many directories. What this does is it allows a user to read any and all files from whatever directory, but *ONLY* if they already know about them. By removing the exec perm users cannot list the contents of a directory. (This sounds pretty useless, but I've seen it used in an interesting fashion with various Solaris setups and with Mandrake's Msec tool)
You may wish to limit the outgoing connections they can make. Additionally what ports they can open that are accessible from the outside world. I know that iptables can allow some control via groups (basic TCP/ACL support? I dunno)
As for preventing users from running code they compiled themselves. I wasn't aware this was possible. Assuming one creates statically linked libraries with their own headers, I would assume it would be rather hard to prevent them from running their own code. You could restrict their access to various /dev files .... but I supposed that would have undesired effects.
Bill Clinton