lim*_*oop 6 security apache-http-server chroot-jail sftp
我试图让客户端 SFTP 访问我的服务器(Ubuntu 10.10)上他们网站的根目录,以便他们可以自己管理他们的网站。
虽然我已经成功地将用户监禁到一个目录并授予他们 SFTP 访问权限;他们只能在子目录(他们拥有的目录)中创建和删除新文件。这意味着我必须让他们访问其站点根目录的父目录。
到目前为止,我已按照本教程中的说明进行操作,如下所示:
addgroup filetransfer
usermod -G filetransfer username
chown root:root /home/username
chmod 755 /home/username
cd /home/username
mkdir docs public_html
chown username:username *
Run Code Online (Sandbox Code Playgroud)
我如何才能将它们限制在其站点的根目录(例如 public_html),同时仍允许它们创建和删除文件。我读过的所有教程都建议 root 必须是用户主目录的所有者,这会阻止他们在该目录内进行写访问。
我对管理自己的服务器比较陌生,因此任何建议都将不胜感激。
非常感谢。
您应该准确地讲述您为实现这一目标所做的努力。如果您还没有,您可能应该尝试使用 chroot(此处的建议: http: //www.unixwiz.net/techtips/chroot-practices.html)。
对于您的特定问题,您需要向用户提供对其根文件夹的写入权限。将它们设置为所有者并确保设置了写入权限。我不知道为什么这是一个坏主意:
# chown someuser /user/root/folder
# chmod u+w /user/root/folder
Run Code Online (Sandbox Code Playgroud)
或者,如果您想保留 root 作为所有者,您可以通过组来完成:
# addgroup somegroup
# adduser someuser somegroup
# chgrp somegroup /user/root/folder
# chmod g+w /user/root/folder
Run Code Online (Sandbox Code Playgroud)
编辑
正如所提供的链接中的评论所提到的,root 似乎必须是相关目录的所有者才能使 chroot 正常工作。但似乎没有什么可以阻止改变团队。因此,按照本教程的命名,这可以解决问题:
# chown root:filetransfer /home/username
# chmod 775 /home/username
Run Code Online (Sandbox Code Playgroud)
请注意权限现在是775而不是 755,这为属于文件传输组的所有用户提供了写入权限。
编辑2
不,这还不够。也许这只是不可行。
归档时间: |
|
查看次数: |
5204 次 |
最近记录: |