Linux/Ubuntu 16/18 下使用Samba配置与windows的局域网文件共享

教研室配备的服务器和PC在同一个局域网下,平时使用ftp软件往服务器上传下载文件比较麻烦,而且实时编辑修改文件不能实现,所以想到使用这个方法直接将liunx下的文件通过局域网共享,然后在windows电脑上将共享的文件夹映射成为网络驱动器,再使用文本编辑器打开映射的驱动器里面的文件夹啥的,就可以实现文件的实时修改保存,比较方便.
[环境]
服务器端:Ubuntu 16.04 LTS
更新加入了在Ubuntu 18.04 LTS 下的配置方法,有一些改动
以及一些错误的处理方法
客户端: Windows
[服务器端配置]
这里我服务器端使用的账户名称为 tuzixini

1.安装Samba

sudo apt-get install samba
sudo apt-get install samba-client
# 如果你的系统是18,或者使用上一条命令安装出错的话就使用下面这条
sudo apt-get install smbclient

**注意:**如果安装的时候出现以下错误

nmbd: No local IPv4 non-loopback interfaces available, waiting for interface : Error

解决办法如下:

# 使用下面这个命令检查 lo 是否存在问题
ifconfig
# 如果输出里面没有 lo 则运行下面的命令,反之跳过下面一条命令,进行第二个检查
ifup ifcfg-lo
# 第二步检查 文件配置
sudo vim /etc/samba/smb.conf 
# 找到其中的 interfaces = eth0, lo 字段,将其中的Interface修改成为你实际使用的Interface,
# 比如我这里原本配置文件写的是使用网卡 eth0,但是我实际使用的是eth1,所以修改成为interfaces = eth1, lo 就好了
# 然后卸载 samba 重新安装
sudo apt-get remove samba
sudo apt-get remove samba-client
sudo apt-get install samba
sudo apt-get install samba-client

2.将系统用户添加为Samba用户

一定注意,只能添加已经在系统中存在的用户,这里tuzixini是我的用户名,请替换成自己的

 sudo smbpasswd -a tuzixini

输完这行之后系统会让设置密码,需要输入两次,请记住自己的密码

3.修改配置文件

sudo vim /etc/samba/smb.conf

直接拉到最下面 添加如下字段

security = user # 设定系统安全级别,设置需要密码访问

[tuzixini]      # 这样的一个框对应服务器ip下一个共享位置,这里我有两个框,即设定了两个共享位置
conmment = tuzixini home path   # 自己写的关于该共享位置的注释,随便写就好
path = /home/tuzixini/			# 该共享位置在服务器中对应的目录位置,按照自己需要修改
public = no						# 是否公开该共享,yes公开,no不公开
writable = yes					# 是否可写,yes可以写入,no不可写入
directory mask = 0755           # 新建目录的权限
create mask = 0644 				# 新建文件的权限
valid users = tuzixini			# 可以该共享的用户,这里就是之前添加的用户
write list = tuzixini			# 可以写入该共享的用户

[tuzixinidisk]	# 第二个共享位置
conmment = tuzixini disk path
path = /opt/disk/zzy
public = no
writable = yes
directory mask = 0755
create mask = 0644
valid users = tuzixini
write list = tuzixini

这里我设定了两个共享位置,在后面添加共享的时候可以看到对应的有两个位置,可以根据自己的需要增删共享位置数量,每一个参数的意义我都做了注释,可以根据自己的需要进行修改,更多详细的参数设置请参考本文最后的附录.
这里我使用的vim编辑器进行文件的修改,可以使用自己熟悉的任何编辑器进行编辑修改,注意这里需要sudo权限才能够修改改文件,修改完成之后记得保存

4.重启Samba服务,查看是否配置是否成功

 sudo service samba reload

如果你使用上面的命令出现 一些服务不存在,无法找到服务之类的提示,那么换成下面这条命令:

service smbd restart

至此,服务器端的配置完成,可以在PC端查看配置是否成功.具体方法:
查看服务器ip地址:

ifconfig

然后在windows文件管理器输入\ip地址,回车,查看共享是否成功
Linux/Ubuntu 16/18 下使用Samba配置与windows的局域网文件共享_第1张图片
这里是我配置完成之后查看得到的截图,
Linux/Ubuntu 16/18 下使用Samba配置与windows的局域网文件共享_第2张图片
可以看到相应的ip地址下有两处共享点,对应之前设置的两个位置,双击打开你想要访问的位置,输入用户名还有前面设置的密码就可以进行访问了,这样的访问的话,每次需要使用ip地址,比较麻烦,可以参考下面PC端配置的方法,将共享文件夹映射成为PC端的驱动器,使用起来比较方便.

[客户/PC 端配置]
1.打开windows文件管理器,点击 映射网络驱动器
Linux/Ubuntu 16/18 下使用Samba配置与windows的局域网文件共享_第3张图片
2.设置你想要使用的驱动器号,然后填写好想要挂载的网络位置,点击完成
Linux/Ubuntu 16/18 下使用Samba配置与windows的局域网文件共享_第4张图片
我这里是选择了驱动器号 U:
网络位置为 \10.168.66.1\tuzixini
这里需要修改10.168.66.1为你自己服务器的ip地址,tuzixini为你自己的挂载点位置,注意需要填写精确到共享点的详细位置,
挂载完成之后打开我的电脑就可以直接看到这个共享文件夹,直接打开就可以使用,而且会被分配本地驱动器号,可以直接使用,比较方便.
Linux/Ubuntu 16/18 下使用Samba配置与windows的局域网文件共享_第5张图片
Linux/Ubuntu 16/18 下使用Samba配置与windows的局域网文件共享_第6张图片
然后只要服务器和PC之间的局域网可以正常使用,就可以在PC端像使用本地硬盘一样使用共享文件夹里面的文件了,十分方便~~~~

附录:
可以从以下网址查看,详细的Samba参数,但是基本使用来说,前面我使用的那些已经完全足够啦~
这些网址里面有些命令啥的比较老,可能会无法使用,不过 我写的文章里面已经更新成现在比较新可以使用的啦,
https://www.cnblogs.com/lcchuguo/p/4490891.html
https://www.linuxidc.com/Linux/2017-05/143435.htm
关于mbd: No local IPv4 non-loopback interfaces available, waiting for interface : Error 的解决办法
https://linuxadmin.melberi.com/samba/nmbd-no-local-ipv4

你可能感兴趣的:(Linux)