0

我有一个运行 Ubuntu 11.10 的网络服务器,我只存储了我的项目源代码的副本,但现在我正在考虑允许用户通过 SSH 访问系统。我想创建这样一个虚拟机,以保护我的资源免受该用户的侵害。

我正在考虑使用 virtualbox,但这不是最好的解决方案(因为需要大量的 ram),所以我想也许我可以使用 chroot 来做到这一点。

我能怎么做?假设我创建了一个名为“test1”(/home/test1)的系统用户,我该如何阻止他浏览其主目录之外的内容?我将允许 test1 通过 ssh 和 ftp (vsftpd) 访问。

谢谢你。

4

2 回答 2

2

我猜你可能已经完成了这个。但这里是一篇文章的链接,它解释了设置 chrooted 帐户。

http://www.howtoforge.com/restricting-users-to-sftp-plus-setting-up-chrooted-ssh-sftp-debian-squeeze

于 2011-12-22T03:57:52.420 回答
0

备份你的 vsftpd.conf 文件

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

打开 vsftpd.conf

sudo vi /etc/vsftpd.conf

假设您没有修改默认文件,请更改以下设置:

保留 chroot_local_user=YES注释(它将在两个地方)

取消注释 chroot_list_enable=YES

并取消注释 chroot_list_file=/etc/vsftpd.chroot_list

现在在 /etc 下创建 vsftpd.chroot_list 文件:

sudo touch vstftp.chroot_list

编辑此文件以添加您的用户“test1”(假设您的用户已经存在:这意味着您应该能够遍历到 /home/test1 目录)。将每个用户添加到一行

测试1

测试2

……

重启vsftpd:

sudo service vsftpd restart

虽然您可能已经解决了这个问题,但我试图搜索它但无法谷歌搜索......我不小心发现了这个......因此发布了它

于 2012-07-25T20:27:00.917 回答