设置具有可用权限的 Linux 公司共享文件夹的正确方法

设置具有可用权限的 Linux 公司共享文件夹的正确方法

我刚刚开始在一家小公司工作,该公司有一个全局共享文件夹,由 Samba 共享的 Ubuntu 文件服务器(Raid 5 等)运行。
所有工作站(Centos)都设置了 fstab 以在其根文件系统中安装此 samba 共享 -> /Data/

客户端 fstab 配置:

//10.1.1.3/DATA01 /DATA01 cifs  username=username,password=password 0 0

共享的 Samba 配置:

[DATA01]
path = /DATA01
writeable = yes

在我开始之前,老板已经决定他已经受够了 unix 权限和用户不匹配“问题”,因此每个工作站和服务器都有相同的用户和组名(当前项目名称) - 我们称之为project。他还确保每台机器上的用户 UID 都是相同的 - 我不确定这在实际层面上有多重要。

简而言之, als -l /Data导致被 chown 的项目project : project

这就是我刚刚走进来的地方。我在这里的工作是管理所有这些,但我要补充的是,我是一名经验丰富的 Windows 程序员,所以我的 Linux 系统管理员知识更多的是理论性的而不是实践性的(我接受这份工作是为了了解他们的行业,因为我正在尝试职业转型)。

因此,设置在一定程度上是可行的,因为Bob可以Mary添加/编辑文件等,/Data并且不会出现“您没有权限”的错误,我认为这是老板的主要困惑。所以这对我来说似乎很奇怪,因为安全性完全不复存在,但它实际上是有效的。

但这让我很担心何时project结束和project2开始。还有 3 个月的时间,我不知道该如何处理。我知道他会说“只需 chown -R project2:project2 /Data重新映像所有机器以拥有该用户,然后继续”,但我相信有更好的解决方案。

因此,我想知道从这个设置中,我如何才能让唯一的用户进行管理/Data而不导致“您没有权限”错误?

另外,我想知道是否有一种 Linux 等效的“Active Directory”,可以设置来管理公司中的用户和组(针对项目)?我不知道在 Linux 世界中通常如何管理这个问题。

还有什么我应该考虑的吗?

抱歉,如果这是 Linux 101 的东西,但我不确定它通常是如何管理和实际实现的。

答案1

事实上,Samba 的最新版本确实可以提供完整的 Active Directory 域控制器服务,但是在我看来,你的老板只是不想处理任何帐户类型限制,所以这可能不会很好地发挥作用。

查看当前 Samba 配置中定义 /Data 共享的节以及客户端系统上的挂载选项会很有用,以了解它现在如何为您工作。

编辑:从提供的信息来看,似乎所有远程用户都映射到服务器上的用户,这意味着任何人都可以(意外或其他)删除那里的所有数据,而且这肯定不是最好的方法 - 但它的优点是极其简单。

就“最佳实践”而言,首先将挂载的凭据放在只有 root 才能读取的文件中,然后在挂载中将其指定为 credentials=filename。

另外,如果您可以安排服务器和客户端具有相同的用户 uid 和 gid,则使用 setuid 选项将确保文件在共享上正确显示为其创建者所拥有,并且您可以将标准 unix 组权限应用于谁可以修改哪个文件。

相关内容