linux自动更改权限和更改所有权:指定文件夹中的组

时间:2013-03-11 16:37:00

标签: linux permissions virtualbox archlinux

我的声明 我正在使用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知识。

2 个答案:

答案 0 :(得分:1)

编辑smb.conf

  • 出于安全原因在Windows 8上设置静态IP,例如(192.168.1.50),这样任何人都无法访问您的samba共享目录。在你的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配置以使用其他用户来创建新文件。但这是其他人的回答:)