如何在ubuntu14 上搭建samba服务器(1)
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。而对于博主来书主要的原因就是将windows共享目录挂载到linux下去编译内核不会出现软连接相关的问题。
1:安装samba服务器,当然需要一个samba的源码包喽,所以就登录了samba的官网(https://www.samba.org/samba/)下载源码包,我这边使用的是samba-4.3.12.tar.gz
1.1:将其解压后就迫不及待的去./configure ;make ;make install;发现samba依赖非常多的工具,其中有:autoconf,automake,python-dev,gnutls,libacl1-dev,libldap2-dev,openssl;
2:于是就去安装相应的工具:
sudo apt-get install autoconf;
sudo apt-get install automake;
sudo apt-get install python-dev;
sudo apt-get install libacl1-dev;
sudo apt-get install openssl;
sudo apt-get install libldap2-dev;
然后发现gnutls依赖于nettle-2.5和gmp-6.1.1 ,于是通过该命令下载了源码包,分辨进行解压安装。
ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.9.1.tar.xz
http://www.lysator.liu.se/~nisse/archive/nettle-2.5.tar.gz
https://gmplib.org/download/gmp/gmp-6.1.1.tar.xz
其中安装命令是./configure -enable-shared;make;make install
3:做完准备工作后,就可以安装samba了,./configure ;make ;make install;
4:配置samba的环境
4.1配置动态链接库路径
在ld.so.conf 最后面加上/usr/local/samba/lib
vi /etc/ld.so.conf
执行下面的命令去重新加载ld.so.conf
# ldconfig
4.2设置samba配置文件
samba在运行过程中需要用到配置文件smb.conf。smb.conf配置文件是samba最重要的配置文件,该文件定义了samba的安全机制、文件共享和打印共享的目录和参数以及其他一些系统配置功能。配置文件smb.conf的默认路径是 /usr/local/samba/lib/smb.conf,我们可以在运行smbd进程时,通过-s选项来执行特定的smb.conf文件(具体说明见下一节),一般不推荐使用-s选项,因为其配置工具,如smbclient、testparm等默认都是读取 /usr/local/samba/lib/smb.conf 文件。所以我将 /etc/samba/smb.conf 文件拷贝到 /usr/local/samba/lib/smb.conf
对于smb.conf 大部分配置可以不用去修改,等到需要的时候再去找度娘修改就可以喽。所以博主只是建立了一个不需要密码的共享目录去进行开发,在smb.conf最后面加上了如下语句:
最后,小伙伴们可以通过 testparm命令去检查下自己修改的smb.conf 有没有问题哟。
4.3 启动samba
到了最激动人心的时刻了。
首先我们要添加一个用户名和密码,虽然samba的用户名和linux环境的是分开管理的,但是最好还是使用一样的。以下的命令就是添加一个samba用户:
./smbpasswd –a root
然后通过下面的命令去关闭防火墙,(没有防火墙执行以下也没有关系哦)
service iptables stop
最后通过下面的命令去开启samba服务器
# /usr/local/samba/sbin/smbd –D –s /usr/local/samba/etc/smb.conf
# /usr/local/samba/sbin/nmbd –D –s /usr/local/samba/etc/smb.conf
大功告成,到这里基本上就是可以用了,但由于博主神经比较大条,所以还是测试下。
4.4 测试samba
# cd /usr/local/samba/bin
#./smbclient –L //127.0.0.1
这样子就行喽
本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
4.5 访问 samba
让我们通过windows访问下呗。在Windows客户端,可以在网上邻居中通过新建网上邻居来访问,或者在【开始】——【运行】中输入\192.168.1.34\root来访问samba服务器192.168.1.34上面提供的root服务。