Samba 与 Windows 客户端共享文件夹

Samba 与 Windows 客户端共享文件夹

我有一个共享文件夹,Samba 在 CentOS 机器上运行。该文件夹名为“proyect”,只有属于 Windows 客户端(磁盘驱动器)同名组的用户才能访问该文件夹。这是在 smb.conf 中的配置方式:

[proyect]
    path = /var/samba/proyect
    valid users = @proyect
    browseable = yes
    writeable = yes
    guest ok = no
    read only = no

这在这一点上效果很好,但是当我需要为“proyect”文件夹内的“proyect”组的每个用户创建一个个人文件夹时,我的问题发生了。我希望属于“proyect”组的每个用户只能读取其他用户的个人文件夹的内容,并且只有该文件夹的所有者可以写入,同时可以在其中创建更多文件夹和继承的文件相同的权限。我创建了一个名为“carlos”的文件夹,该文件夹属于用户 carlos(我将为每个用户执行此操作,他们将无法删除它或更改其名称),并且我使用 chown 命令将他设置为该文件夹的所有者,但仍然无法在文件夹内写入或创建文件。

在 proyect 文件夹内,我将为属于该组的每个用户创建一个文件夹(可能作为 root 用户),他们将无法删除该文件夹或更改其名称。属于 proyect 组的用户只能在其个人文件夹中创建或修改文件,并且不能直接在 proyect 文件夹中创建或修改目录或文件,但只能访问并读取所有文件夹在项目文件夹内。文件夹结构将如下所示:

   proyect 
       ---alex
       ---carlos
       ---tom

每个用户在 proyect 文件夹中都会有一个带有他的名字的文件夹。他们都不能在项目文件夹中创建文件夹或文件,他们只能在自己的文件夹中执行此操作。用户 carlos 将能够读取 alex 和 tom 文件夹的内容,但无法在其中写入(创建文件或目录)。用户 carlos 只会在 carlos 文件夹中创建文件或文件夹。实际上我在Windows服务器上有这个目录结构,但我需要将它迁移到CentOS。

提前致谢

答案1

我认为proyect您要连接的组和用户存在于 CentOS 计算机上,并且用户是该组的成员。

首先,确保该proyect组拥有并具有对以下内容的读写访问权限/var/samba/project

chown :proyect /var/samba/project

chmod 775 /var/samba/project

如果将此行添加到 smb.conf:

write list = @proyect

用户将能够写入/var/samba/proyect.只要默认设置umask到位,他们就能够创建其他人都可以读取和执行(遍历)但只有他们可以写入的文件夹。

进行更改后请务必重新启动服务:

service smb restart

相关内容