使 ChrootDirectory 目录可由 SFTP 用户写入

使 ChrootDirectory 目录可由 SFTP 用户写入

如果用户通过 SFTP 登录到一台计算机,则可以使用ChrootDirectory关键字来给人一种用户位于根目录中的错觉。但该目录只能由root用户写入。我希望这个用户有这样的写入能力,而且 OpenSSH 似乎没有提供这个功能,除非我错过了什么?

我知道 SFTP 用户可以被授予对其中任何文件/目录的写访问权限ChrootDirectory,但这还不够好。我希望用户还可以直接在该“根”目录下创建/删除文件,而无需创建该用户具有写访问权限的子目录的解决方法。

答案1

我的内部 SFTP 也遇到了同样的问题。我为解决这个问题所做的是:

在你的里面sshd_配置文件:

Match group     sftpusers
  ChrootDirectory %h

在你的里面/etc/组文件中,将您的 sftp 用户添加到sftpusers组中(如果不存在则创建它):

sftpusers:x:6000:user1,user2

对于 ChrootDirectory,请确保您的chown目录位于以下位置(警告-小心运行此命令的目录,确保它仅在用户登录的目录上运行,命令-R意味着递归,所以如果有子文件夹,您不希望此命令运行包括,删除它。另外,SFTP 用户永远不应该被授予对根级系统目录(如 )的访问权限/etc,最好在类似的目录下创建一个文件夹/usr/local/alcatraz并授予他们访问该目录的权限):

chown -R root:sftpusers userChrootDirectory

Chmod 目录以获得您想要的权限,例如:

drwxrws---

如果您需要更多信息,请告诉我,这只是重点内容,应该可以帮助您到达您想要的位置。

相关内容