我的声明 我正在使用Windows 8并在虚拟框内部使用archlinux(只是一个简单的设置...... LAMP和Ruby for sass和指南针)构建一个本地Web开发盒。我在Linux中使用samba共享我的一个文件夹,以便能够在Windows 8中查看和编辑它。我将Linux中的文件夹设置为http:http和0777写入权限,以便我能够在Windows中编辑它。
我的问题: 每当我在Windows中创建新文件(例如...图像,文件夹,文件)时,所有权和组都设置为nobody:nobody。
我的问题: 有没有办法当我在Windows中创建一个新文件时,所有者和组将自动设置为http:http和0777写入权限?
我是Linux的新手,我知道这存在安全风险,但这只是一个Web开发框。只是让我能够玩ruby和rails,sass或者指南针,当然还可以从scratch扩展我的Linux知识。
答案 0 :(得分:1)
编辑smb.conf
host allow
并将其设置为你的windows static ip。示例:
host allow = 192.168.1.50
接下来,向下导航以分享部分并设置您要共享的目录。
示例:
[www]
comment = www
path = /www
writable = yes
guest ok = yes
public = yes
created mask = 0777
directory mode = 0777
然后保存。
接下来是setui和setgid 更多信息here
$sudo chmod -R g+s /www
接下来是设置访问控制列表。 *我刚刚从here
得到了这个$sudo setfacl -R -m d:g:http:rwx /www
多数民众赞成!
输出样本,通过Windows 8和virtualbox进行测试
从linux创建目录
drwxrwsrwx+ 2 devbox http 4096 Mar 12 10:18 testfromnix
从linux创建文件
-rw-rw-rw-+ 1 devbox http 1 Mar 12 10:20 testfromnix.file
(我已经将rwx设置为setfacl,但文件只显示读写。我可能会遗漏一些东西。但是它确实可以满足你的目的。如果有人知道为什么要公开澄清。)
从windows
创建目录drwxrwsrwx+ 2 nobody http 4096 Mar 12 10:27 testfromwin
从Windows创建文件
-rwxrwxrw-+ 1 nobody http 0 Mar 12 10:29 testfromwin.file
现在你可以在两台机器上编辑或添加文件/目录,没有问题......
答案 1 :(得分:0)
您可以在目录(=文件夹)上设置“setgid”标志,这将更改之后在其下创建的所有文件和目录的拥有组。有关更详细的说明,请参阅http://en.wikipedia.org/wiki/Setuid#setuid_and_setgid_on_directories。
除非您需要一些特别适合您需求的东西。只需为目录设置适当的组权限。
另一种方法可能是更改samba配置以使用其他用户来创建新文件。但这是其他人的回答:)