如何在 Kubuntu 16.04 上的 Samba 服务器上挂载共享目录

如何在 Kubuntu 16.04 上的 Samba 服务器上挂载共享目录

我有一些位于 Samba 服务器上的 python 脚本。我首先在 Windows 下使用它们,现在想在 Linux 机器上使用它们。因此,我使用以下命令在我的 Linux 计算机 (Kubuntu 16.04) 上安装了服务器文件夹:

sudo mount -t cifs //[IP address]/Share Share -o username=guest

现在我想在Linux机器上运行这个共享目录中的python文件。当 python 必须写入此目录中的文件时,就会出现问题(我创建 .PNG 文件并写入 .CSV 文件来记录我的结果):

IOError: [Errno 13] Permission denied: 'filename.png'

这是有道理的......此类文件的权限是:

-rw-rw-r--+ 1 nobody nogroup

我写入的 .PNG 文件实际上是在那一刻创建的。所以结果是一个具有上述权限的空文件。

已经存在的文件(在 Windows 上创建)的权限是:

-rwxrw-rw-+ 1 nobody nogroup

有人可以帮我从这里出去吗?
我希望能够写入该文件。它应该仍然可以在 Windows 计算机上工作/访问。

我不确定问题出在哪里。我不知道为什么这些文件不属于任何人,即使这些文件是刚刚创建的。那么无法写入的原因当然是组权限是只读的并且该文件是 nogroup 的一部分。

我在 Windows 计算机(不是服务器)上访问相同的文件,我可以在那里读写并做任何我想做的事情。

所以我的问题是,为什么这些文件不属于任何人且属于 nogroup,我该如何解决这个问题?

答案1

这里有很多可能的问题。

  • 您以用户身份挂载共享guest。如果此帐户没有足够的权限来创建文件,您将遇到问题
  • 您不使用-o noperm,因此客户端会尝试抢占权限检查 - 以及服务器想要强制执行的任何内容
  • 空的 PNG 文件是否已经存在,或者您可以完全确定它是由您的脚本创建的吗?
  • 根据服务器是 Windows 还是 Samba,您可能拥有与 Windows 权限交互的服务器端文件系统权限

相关内容