如何让新用户访问现有用户的文件/文件夹

如何让新用户访问现有用户的文件/文件夹

目前我已经有一个用户deploy,该用户拥有运行部署的脚本。我想创建另一个用户,例如developers,访问部署的脚本文件。我该如何实现?

这是我已经尝试过的方法:1)添加另一个用户:sudo adduser developers 2)将两个用户都添加到该组

$sudo usermod -a -G sharedfolders deploy
$sudo usermod -a -G sharedfolders developers

3)授予用户developers访问部署目录的权限

chown -R deploy:sharedfolders /home/deploy/source

答案1

在Linux/unix中有很多种方法可以处理文件共享权限:

  • developer用户添加到deploy组,并设置脚本的权限以允许该组读取和执行。例如chmod 750 myscript.sh
  • 你可能会发现使用 Linux“ACL”或访问控制列表很有帮助,例如,developer你有一个developer组,而不是一个用户,其中包含许多成员。你可以将 ACL 添加到bin由该组拥有的某种目录中deploy,该目录会自动将新文件的读取和执行权限授予该developer
  • “ACL”的好处是,目录和文件可以“属于”多个用户或组,并且可以向目录添加继承属性,因此新文件可以“继承”父目录的适用 ACL 权限

在某些情况下,您可能会避开 ACL,因为它们是一种特殊的文件系统功能,可能在您使用的 FS 上不可用,或者可能会在备份期间丢失。

在第一种情况下,您运气不佳。您必须专门创建一个用于运行这些脚本的组,将您的developers 添加到其中,并记住chownchmod创建时添加相关脚本。(所有父目录都必须可由相关用户读取和执行)

相关内容