Linux之samba服务器
首先介绍一下samba的由来
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
原本SMB协议是windows和windows(网上邻居)之间分享资源的一种协议。
Linux找到微软,也想把该协议用在window和Linux的文件共享上,可微软没有同意,于是Linux通过逆向方法实现了SMB协议,为了与SMB区分并将其取名为SAMBA协议。
下面开始samba服务器的安装及使用吧
1.samba服务器的安装
在终端输入sudo apt-get install samba进行安装
sudo apt-get install samba
2.启动samba服务器
一般来说,安装好samba后就会自动running,通常情况下启动samba需要启动两个服务,一个是smbd,另一个是nmbd,命令分别是
sudo /etc/init.d/smbd restart //启动smbd服务
sudo /etc/init.d/nmbd restart //启动nmbd服务
3.配置samba
samba的配置文件在 /etc/samba下的smb.conf中,不同的Linux版本配置文件位置可能不同,可以通过网上查找得到。
需要配置的是共享哪个目录,以及这个目录的访问权限
首先进入配置文件所在位置
cd /etc/samba/
输入ls查看目录内容
可以看到有三个,分别是gdbcommands、smb.conf和tls(bak_smb.conf是我自己添加的),其中smb.conf就是我们需要修改的配置文件,为了避免修改错误,所以最好备份一下
cp smb.conf bak_smb.conf
接着通过vi编辑器或gedit,编辑smb.conf,在最后添加我们自己的配置(如果使用的是vi编辑器,可以在命令行模式下按G直接将光标定位到最后一行,然后按i编辑即可)
在smb.conf最后添加如下代码(注意:是writable不是writeable,没有e,然后前面是退格键Tab)
[linux_share]
comment = My share
path = /home/linux/lab
writable = yes
browseable = yes
解释一下各行的意思
[linux_share]:在配置文件中,如果想要加入一个新功能,就用方括号,然后里面写上名称,这里将共享文件功能命名为linux_share
comment:commen表示标题(随便写)
path:表示共享目录,这里我是设置在home的linux用户下的lab文件夹下(如果没有这个文件夹一定要去创建哦,否则最后没法操作)
writable = yes:表示可写
browseable = yes:表示可浏览
4.配置samba的用户权限
samba有自己的一套用户和密码,命令添加samba用户
sudo smbpasswd -a linux //-a表示add,linux是虚拟机中已经有的用户名
5.重启samba服务
sudo /etc/init.d/smbd restart //启动smbd服务
sudo /etc/init.d/nmbd restart //启动nmbd服务
6.Windows下登录samba
下面在windows下登录samba,在开始菜单中进入运行,输入\+ip
ip可以通过终端输入ifconfig得到
点击确定后出现
可以发现该网络驱动的名字就是第三步配置中方括号里的名字,信息提示是comment的内容此时双击进去就可以看到共享目录下的文件了
可以看到和我Linux本地的目录是同样的
现在就可以在Windows下查看Linux下共享目录中的文件了,当然也可以用Windows的方式新建修改文件了。
7.映射网络驱动器
为了更好的体验共享文件的功能,这里也可以像Windows一下,将共享文件目录作为一个盘符,加在Windows下。
操作如下:
在此电脑中找到映射网络驱动器,点击“映射网络驱动器”
然后按照以下输入
随便选择一个盘符(我事先选择了Z盘),后面加上linux_share(你自己在第三步设置的功能名称),点击确定,会发现多了一个Z盘,
双击新添加的盘,即可像操作Windows下的文件一样操作Linux下的文件了。
PS:今天刚学,趁热打铁,如有不恰当的地方,还望大佬们评论区指出。