假如你有一台Linux主机,想在Windows上访问与操作Linux中的文件,需要怎么做?通常的用法是通过FTP,这里介绍更便捷的一种方法,将Linux的文件夹固定在Windows的文件资源管理器中无感使用。Windows自带SMB服务,在Linux上安装samba服务即可以将文件夹共享到Windows中。

安装方法

2.1 安装Samba

sudo apt-get install samba

2.2 创建共享目录

// 创建的目录即之后能够在Windows主机上直接访问的目录。
// 例如:在用户test的主目录下新建CloudStorage文件夹为共享目录
mkdir /home/test//CloudStorage
// 由于Windows下的文件夹需可读可写可执行,需更改权限为777
sudo chmod 777 /home/test//CloudStorage

2.3 修改Samba配置文件

Samba的配置文件路径为:/etc/samba/smb.conf ,打开该文件,在文件最后添加以下内容:

[share]
path = /CloudStorage
public = yes
writable = yes
valid users = test
create mask = 0644
force create mode = 0644
directory mask = 0755
force directory mode = 0755
available = yes

关于几个重要参数的解释:

  1. [share]表示共享文件夹的别名,之后将直接使用这个别名

  2. force create modeforce directory mode的设置是因为Windows下与Linux下文件和文件夹的默认权限不同造成的,Windows下新建的文件是可执行的,必须强制设定其文件权限。

  3. valid users 设置为你当前的Linux用户名,例如我的是test,因为第一次打开共享文件夹时,需要验证权限。

2.4 设置登录密码

新建/etc/samba/smbpasswd文件

sudo touch /etc/samba/smbpasswd

根据2.3设置的valid users,设置用户密码。test替换为在2.3中设置的用户名。

sudo smbpasswd -a test

输入两次密码后,会提示 Added user test ,表示设置成功。如果用户名非当前登录系统的用户名,可能会提示Failed。

2.5 启动Samba服务器

sudo /etc/init.d/samba restart

2.6 测试是否共享成功

在Linux上安装smbclient,连接smb服务查看是否连接成功。

sudo apt-get install smbclient 
smbclient -L //localhost/share
  1. localhost:安装SMB服务的Linux服务器IP地址,本地就是localhost

  2. share2.3中设置的共享文件夹别名

在Windows上测试

打开Windows文件资源管理器,输入:

\\ip地址或主机名\share

Linux的IP地址可以通过ifconfig 来获取。

在弹出的验证界面输入用户名和密码,选择记住凭证,之后就无需登录。

将该远程连接订在资源管理器中,就可以无感使用远程共享文件夹的内容了。

explore_show.png

如果你会公网穿透,那么也可以当作云盘来用,具体方法自行Google!