我有一个ubuntu 16.04.2 server
,virtualbox
想将文件夹从 ubuntu 共享到我的windows 10
主机操作系统。共享工作正常,但这是我的问题。
我在 ubuntu 上有一个用户,我们称其"John"
为 ubuntu 上的登录用户。我在 Windows 10 上还有一个John
用户,是我的主要登录用户,也是管理员。
例如,当我/var/www/html
在 ubuntu 上共享时,我可以像在 Windows 资源管理器中一样通过输入 ubuntu ip 从 Windows 访问它\\192.168.56.1
,并可以访问该目录中的文件和文件夹。
问题是我无法在该目录中创建文件。
因此我将目录的所有权更改为 John 用户,并通过在 Samba 上强制添加 Samba 共享文件夹,将其强制给该user = John
用户smb.conf
。
此时我可以从 Windows 将文件和文件夹添加到共享文件夹但
如果我mkdir /var/www/html/NewFolder
以 ubuntuJohn
用户身份在此目录中创建另一个文件夹(如),则我无法从 Windows 中写入或创建该文件NewFolder
,但我可以在/var/www/html
该用户是其所有者的父目录()中执行此操作。
我的问题的简短版本是: 如何为用户或用户组或网络上访问 Samba 共享文件夹的所有用户添加对其当前和未来文件和文件夹的完全权限。 这个 ubuntu 上有一个 apache 服务器,它也应该以完全权限(如 777 或 755)访问文件和文件夹。所以我不能只为单个用户执行此操作,我应该能够为我想要的任何用户执行此操作。
就是这样!请帮忙。我是 Ubuntu 的新用户,想学习这类东西。
任何有用的建议或解决方案都将不胜感激。
答案1
我用来处理这个问题的策略是使用设置GID在共享目录上,以便所有新子目录都具有与父目录相同的所有者组。
创建一个 John 和您的服务用户(wwwdata?)都属于的组。
将共享文件夹的所有者组和所有子组更改为您的新组
将文件夹及其所有子文件夹的权限设置为 277X,其中 X 是当前的“其他”权限值。
从那时起,您希望您的访问权限由组权限值而不是所有者来评估(这就是我们将其设置为 7 的原因,就像所有者一样)。新创建的文件夹将自动采用其父级的所有者组,因此您将能够添加文件或其他子目录。