Samba服务器安装和配置
作为后台开发人员,在代码开发过程中,我们开发流程一般是本地开发->同步到服务器编译->svn提交。如何在团队开发中高效处理这些步骤是个很基本的问题。通常我们的本地环境大多是Windows,通过ssh客户端远程连接到服务器,一般由于后台代码的庞大,我们的都会有自己的编译环境,如何在开发过程中及时的将代码编译,更新到版本库有很多种方法,例如有sshclient,securecrt都可以支持ftp协议进行文件传输,还有rsync for windows。但这种更新文件的方法第一需要手动进行,第二是全量更新,最后有时候会忘记更改了那些文件,只能把不确定的全部更新了。
为了能够在Windows和unix之间进行文件的共享,支持文件的直接修改,而不是通过拷贝文件来进行更新,samba 诞生了。我们都知道unix之间可以NFS服务器来实现文件的共享,Windows之间通过CIFS,即网上邻居来进行共享,samba的诞生就是为了能够使Windows能够访问Unix的资源,包括文件,打印机等。
------------------------------------分割线------------------------------------
------------------------------------分割线------------------------------------
1.samba安装和启动
samba的源码安装采用最新版本samba-4.1.14,官网下载。安装过程如下:
$ sudo mkdir /usr/local/samba-4.1.14
$ ./configure --prefix=/usr/local/samba-4.1.14
...
Checking for program xsltproc : not found
Checking for program Python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for Python version >= 2.5.0 : ok 2.7.6
Checking for library python2.7 : not found
Checking for library python2.7 : yes
Checking for program python2.7-config : not found
Checking for program python-config-2.7 : not found
Checking for custom code : Could not find the python development headers
/home/anonymalias/Downloads/samba-4.1.14/wscript:100: error: the configuration failed (see '/home/anonymalias/Downloads/samba-4.1.14/bin/config.log')
上面错误的原因是samba必须依赖python,执行
$ sudo apt-get install python-dev
后面就是make && sudo make install,安装ok后,安装目录结构如下:
/usr/local/samba-4.1.14$ ls
bin etc include lib private sbin share va
将源码文件下默认的conf文件拷贝到安装目录下的etc目录中
/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default etc/smb.conf
修改smb.conf中配置
global段添加如下字段
[global]
...
netbios name = ubuntu
共享资源字段采用默认配置
[homes]
comment = Home Directories
browseable = no
writable = yes
# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes
添加用户名为Ubuntu的账户,
/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
samba服务器的用户是依赖于linux的用户,只能添加linux中已存在的用户,否则会出现如下错误:
/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a user1
New SMB password:
Retype new SMB password:
Failed to add entry for user user1.
启动samba 服务
/usr/local/samba-4.1.14$ sudo sbin/nmbd
/usr/local/samba-4.1.14$ sudo sbin/smbd
在Windwos文件管理器或直接win+R,输入server ip,可以看到如下界面: