有没有什么方法可以限制任何特定用户从 WinSCP 删除具有完全权限的文件/文件夹。
提前致谢。
答案1
删除服务器端文件和文件夹的写权限。
或者,您可以限制 SFTP 服务器上的“删除”操作。请参阅限制 SFTP 用户在 Linux 中仅运行有限的命令/操作. 并确保用户仅具有 SFTP 访问权限。
答案2
我相当肯定这无法按照您希望的方式完成(通过 winSCP 客户端上的设置)。这论坛显示有证据表明另一位服务器管理员也遇到了类似的问题。询问后,winSCP 站点管理员告诉他,在 winSCP 中这是不可能的,并告诉他专注于服务器端。
正如帖子所建议的,为了拒绝此用户访问,您将需要使用服务器端设置。
一个非常有效的改变是关闭端口 22,以阻止远程客户端访问您的服务器(无论是通过 openssh、winscp 还是任何其他 SSH 客户端)。这是 SSH 流量的默认端口。
编辑:仍然不确定您是否提供了所有相关信息。根据您目前提供的信息,如果端口 22 需要保持开放,您可能需要发挥创造力。话虽如此,我相信如果我/我们有更多的背景信息,可以给出更直接的解决方案。
无论使用哪种方法来限制用户的访问,您首先需要删除用户的 sudo 权限。删除:
gpasswd --delete pbwriters USER
chown
我相信您的目标可以通过使用和命令在服务器端实现。在更改文件所属的组后,chmod
您将需要设置g=
和选项。此行应该可以解决问题:o=
# Replace DIR w/ outermost folder's name
sudo groupadd pbwriters && sudo chown -R :pbwriters DIR && sudo chmod -R 774 DIR
现在,如果parentdirectory
将上述命令中的 更改为要限制的最外层目录的名称,则该文件内的所有内容将仅可由 pbwriters 组中的用户写入。要授予某人写入权限,您只需将其添加到作家团体:
# Just as before, replace USER with name of user
sudo usermod -a -G pbwriters USER