使用 sudo 创建文件但拥有当前用户的所有权

使用 sudo 创建文件但拥有当前用户的所有权

我在 centos 6.5 上。

我有一个受限用户。我通过 sudoers 授予该用户一些特定权限。

假设它是用户 1。我希望用户 1 在他拥有所有权的目录中创建一个文件。

因此我跑

sudo touch 测试.txt

现在 test.txt 已创建,其所有权为 root:root。

有什么方法可以强制以所有权 user1:user1 创建 text.txt?

请注意,user1 无法运行 chown。我也不希望 user1 能够 chown。User1 是暴露用户。

笔记2:

另请注意,我正在通过 php(phpseclib)运行这些命令并通过公钥/私钥进行身份验证。

谢谢

答案1

通常情况下,你会以不带 sudo 的用户身份运行 touch,我猜......

假设你打错了,第三行实际上是

假设是 user1。我希望 user1 在目录中创建一个文件,不是拥有所有权。

那你就倒霉了,这是不可能的。不过,还有两种方法可以实现你的目标:

  1. 使用 ACL 授予用户 1 对该文件夹的权限。
  2. 创建一个名为“folderperm”或其他名称的组,chgrp“folderperm”该文件夹,然后为该文件夹权限分配粘性位(chmod g+s foldername)。现在,假设您以某种方式在该文件夹中创建了一个文件,它将始终以 foldername 组为所有者,如果您只能处理这一点(而不是以用户为所有者),那么您就有了一个解决方案。

相关内容