Linux 文件系统只能通过 SMB 读取,不能写入

Linux 文件系统只能通过 SMB 读取,不能写入

我通常只需在 macOS 终端中输入即可访问、打开和编辑通过以太网连接到路由器的 Linux 计算机内的所有文件。然而,我不想纯粹通过终端进行交互,而是想挂载 Linux 计算机的整个文件系统,以便我可以编辑文件并在 Mac 和 Linux 计算机之间自由传输文件。ssh [email protected]

macOS 支持通过 SMB 进行文件共享,因此我决定在远程计算机上安装 Samba:

sudo apt-get install samba

user然后,我添加了访问文件共享的用户和密码:

smbpasswd -a user

之后,我编辑了 Samba 配置文件以包含以下内容:

[Volumes]
   path = /volumes
   writable = yes
   write list = user
   force create mode = 0777
   force directory mode = 0777
   public=yes

最后,我重新启动了Samba服务:

sudo service smbd restart

我可以使用之前设置的用户名和密码Volumes在 Finder 中挂载。user我也能够阅读里面的所有内容/volumes。但是,我完全无法修改任何文件或将任何内容传输到/volumes.

如何真正使文件夹可写,而不仅仅是可读?我在 Samba 配置中添加了writable = yeswrite list = user、 和等行force directory mode = 0777,如上所示,但它似乎没有任何帮助。

ls -lon的输出/volumes给我以下内容:

ls -l /volumes
total 248
drwxr-xr-x 9 root root 131072 Jul  3 01:06 bridge1
drwxr-xr-x 2 root root 102400 Jun 13 20:30 bridge2

答案1

您无法修改其中的文件或目录,/volumes因为只有root对它们的修改权限。根据所发生的情况,目录本身也是如此volumes

您需要,如rootchown -R user /volumes使user所有者具有修改访问权限,或者创建一个组,使用 添加user到该组usermod -aG group user,然后chmod -R g+w /volumes授予包含user对目录及其内容的修改访问权限的组。

force directory mode仅适用于通过samba.它们对已经存在的任何东西没有任何影响。无论如何,您都不希望使用0777as 模式,因为它允许任何有权访问系统的人写入不利于安全的目录。

相关内容