0

我需要授予 2 个用户访问权限,一个具有读取权限,另一个具有对特定文件夹(/文件夹)的写入权限。两个用户都应该在同一个组中(sftp)

具有读访问权限的用户:readsftp 具有写访问权限的用户:writesftp

我已经做好了

useradd -G sftp readsftp
useradd -G sftp writesftp

现在用户 writesftp 应该能够将文件写入 /folder 并且用户 readsftp 应该只能读取文件夹 /folder 中的文件

vipw 文件读取

36 sftp:x:47173:47173::/data:/bin/sh
37 ft:x:1002:1002::/home/ft:/bin/bash
38 readsftp:x:47176:47173::/data:/bin/sh
39 writeuser:x:47177:47173::/data:/bin/sh

我改对了吗?(请注意身份证)

你能帮我用sticky bit、umask和chmod吗?在 /folder 文件夹中,我之前使用 chmod 更改了文件和文件夹权限,但我无法正确理解如何对用户进行操作。

提前致谢。

4

1 回答 1

0

首先,您需要将文件夹的所有权(递归)转移到writeftp,并将组所有权转移到sftp

sudo chown -R writeftp:sftp /path/to/folder

然后为组启用所有文件夹的可执行权限和所有者的完全权限:

find /path/to/folder -type d -exec chmod 750 {} \;

并将所有文件的读取权限设置为组,并为所有文件的所有者设置读/写权限:

find /path/to/folder -type f -exec chmod 640 {} \;

按照上述步骤,您将解决您的问题,但是,您的问题有更好的解决方案。您可以ACL在该文件系统上使用 s(访问控制列表)或使用SELinux后者,而后者的配置和维护要复杂得多。

于 2014-05-28T22:56:01.723 回答