Ubuntu 服务器 - 权限地狱 - 有没有办法让守护进程看到以权限方式配置的目录,但事实并非如此,或者还有其他解决方法?

Ubuntu 服务器 - 权限地狱 - 有没有办法让守护进程看到以权限方式配置的目录,但事实并非如此,或者还有其他解决方法?

我有一个个人服务器,用于各种用途,但主要用途之一是文件和文件共享。有些服务需要对目录具有某些权限,但我想在这些服务中使用相同的目录,因为它简单而优雅,不会让人感到困惑,而且不管怎样,我都想访问相同的文件。我可以将它们嵌套在里面,但这并不优雅,而且会造成混淆,或者只上传到这个目录等...我放弃 SFTP 而使用 VSFTPD 的 FTPS,尽管这样不太安全,因为要上传到目录而不是根目录对大多数人来说非常令人困惑,而且根据客户端的不同,它可能不尊重 conf sftp 启动文件中的启动目录等...

例如,我有一个公共部分。它使用 VSFTPD(FTPS 服务)供其他人在以特殊用户登录时上传。它有一个 Web 界面,供其他人公开查看和共享文件。/var/www 目录只是指向主目录(即共享)的符号链接。它有一个 Samba 共享点,因为我想轻松地像文件一样共享。它具有使用 FTPS 的匿名查看功能,或者至少它应该有,但是当我启用它并更改其 prems 以使其工作时,它会破坏其他东西,并且没有简单的解决方法,尽管从纸面上看它应该可以工作,并且不会破坏任何东西,例如安全性,因为不同的用户有不同的权限,如果没有对 VSFTPD 进行硬设置,它会拒绝匿名用户连接。我没有自由在配置文件中覆盖它。这不像其他选项那么糟糕。

示例 2,我个人有一个目录,其中包含敏感的个人数据,该目录使用 SFTP,具体取决于我用于连接的用户,它是只读的还是具有写入权限。现在,如果我使用 SFTP,那么 samba 必须是只读的,如果我让 samba 具有写入权限,那么它会破坏 SFTP。

等等... 我有 5 件东西由于我无法弄清楚而坏了。

我最初的想法是创建例如 .../public_share/Real,然后创建 .../public_share/Servicex,然后通过符号链接或硬链接将 servicex 链接到 Real。问题是,使用 Linux 上的 GNU 实用程序的这种方法几乎是不可能的。我读到使用“crown -H”命令,但 GNU 实用程序中不存在该命令,不像 BSD 实用程序或 Macintosh 操作系统上的实用程序。在 Apple 系统上,如果它不创建循环路径,您可以创建指向目录的硬链接。我很惊讶,假设有人使用 GNU 实用程序,Linux 中不存在该命令。这是第一次看到另一个类 UNIX 系统比它更好。

所以我唯一的另一个想法是,我不知道该怎么做,有没有办法欺骗它,使它看起来好像目录以一种方式配置了权限,但实际上它是以另一种方式配置的?

或者任何其他我没有想到的解决方法,这些解决方法对于最终用户来说很简单并且在服务器端?

答案1

我想在这些服务中使用相同的目录”。

这就是“组”的作用。使用同一个组,为该组设置所需的权限(目录、服务、ftp 登录),然后就可以使用该目录。


chmod除了使用 之外,您还可以通过以下方式更改权限访问控制列表

POSIX 访问控制列表 (ACL) 是针对文件和目录的更细粒度的访问权限。ACL 由指定相关对象访问权限的条目组成。可以按用户、按组或通过有效权限掩码配置 ACL。

这些权限适用于单个用户或组,并使用rwx与常规权限相同的权限。


示例 2,我个人有一个目录,其中包含敏感的个人数据,该目录使用 SFTP,具体取决于我用于连接的用户,它是只读的还是具有写入权限。现在,如果我使用 SFTP,那么 samba 必须是只读的,如果我让 samba 具有写入权限,那么它会破坏 SFTP。

我觉得这很奇怪。但我认为你可以使用 来避免这种情况bindfs

在苹果系统上,如果目录没有创建循环路径,则可以创建硬链接。如果有人使用 GNU ontop,我很惊讶 Linux 中没有这个功能。我

我并不感到惊讶,而且……MacOS 允许这样做,从而削弱了核心实用程序,在我看来,这是一个愚蠢的举动。您还需要使用第三方脚本来修复导致问题的部分原因(ln已损坏,并且您无法从命令行撤消硬链接)。

您应该使用bindfs。MacOS 十年前就应该添加对此的支持。它适用于所有现代 Linux、Unix 和 BSD(Catalina 是第一个 MacOS,如果我没记错的话)。

bindfs

将目录挂载到另一个位置并改变权限位。

bindfs是一个用于将目录挂载到另一个位置的 FUSE 文件系统,类似于mount --bind。可以使用各种规则更改挂载点内的权限。

查看关联更多信息,但从您发布的内容来看,这似乎是对您所有问题的答案。

相关内容