以下问题:我们运行 CentOS 网络服务器,并希望授予外部承包商访问权限,该承包商只需要访问我们的网络文件夹 ''/var/www' 即可修改/上传文件。
我尝试的是设置 SFTP 监禁(根据以下文档:http ://www.thegeekstuff.com/2012/03/chroot-sftp-setup/ ),但由于以下原因,我无法使其工作: 整个 web 文件夹在 CentOS 中像往常一样分配了 Apache 用户 apache:apache。但 SFTP 需要拥有 root:root 所有权,否则会出现以下错误:
致命:chroot 目录组件“/var/www/”[postauth] 的所有权或模式不正确那么我如何设置 SFTP 或其他解决方案以保持“www”文件夹 apache:apache 拥有并允许其他用户访问它?
除了 SFTP 或者 SFTP 是正确的做法,还有其他选择可以解决这个问题吗?
预先感谢您的帮助!
我终于使用 SFTP 解决了上述问题。主要问题在哪里文件权限。我做了以下步骤(运行 CentOS 7.2):
文件夹权限 设置以下文件权限。包括粘性位(代码后解释)。
创建组和用户
为外部提供商创建用户并设置新密码。
在 sshd_config 中设置 sftp-server 子系统
输出现有子系统并添加:
添加添加 sshd_config 的末尾
重启sshd服务
通过 SFTP 登录以测试连接
安全
SELinux 正在强制执行,并且从未与此 SFTP 设置有关。