如何允许用户将文件赠送给其他用户?

如何允许用户将文件赠送给其他用户?

为什么普通用户不能“chown”文件?因为无限制地访问 chown 是一个坏主意。但是,我想实现一个受限版本。我想允许用户 adam 将文件提供给用户 bobby,并且只允许此传输。

答案1

我想允许用户 adam 将文件提供给用户 bobby,并且只允许此传输。

为此,您需要有一个以 root 身份运行的程序,进行必要的检查并更改给定文件的所有者。以 root 身份运行很容易,您可以使用sudosetuid 程序,正确完成检查以使程序不会被滥用,但比较困难。

可能有效的方法是:1)打开文件2)用于fstat()检查其所有者3)然后fchown()更改所有者。

需要通过 fd 来处理文件,因为通过文件访问姓名不保证正在检查的文件是稍后操作的文件。该文件可以在两者之间进行更改。

另一种选择是实现一种“上传服务”,该服务将通过网络从 接收文件(其内容)adam,然后bobby根据接收到的数据创建全新的文件。

我认为这些都不是现成的工具,尽管后者类似于电子邮件。

答案2

您可以chmod允许每个人都可以写入该文件,然后所有权就变得不那么重要了。

chmod 777 file让每个人都可以对该文件执行几乎任何操作。

相关内容