samba服务器搭建:

1.解压samba-4.1.6.tar.gz得到samba-4.1.6目录

tar -xvzf samba-4.1.6.tar.gz

2.进入samba-4.1.6目录,在该目录下输入:

./configure --prefix=/usr/local

make

make install

注意:4.x版本的samba的build system是基于python的,必须安装有python2.5版本以上。(python3.x系列的不行)

      如果系统没有符合条件的python版本,可以运行samba-4.1.6目录下的install_with_python.sh,会自动帮你安装python。(./install_with_python.sh /usr/local)

3.创建一个文件夹,用来共享文件

mkdir -p /home/fzuir/share

chmod 777 /home/fzuir/share

4.samba配置

将samba源码目录samba-4.1.6中的samba-4.1.6/examples/smb.conf.default复制到安装目录,一般是/usr/local/samba/etc/中

cp ~/samba-4.1.6/examples/smb.conf.default /usr/local/samba/etc/

修改配置文件

sudo vim /usr/local/samba/smb.conf

(1)修改samba服务器的安全模式,samba的安全模式有:(默认是user,不修改也可)

 share用户访问Samba Server不需要提供用户名和口令, 安全性能较低。

 userSamba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。

 server依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。

 domain域安全级别,使用主域控制器(PDC)来完成认证。

修改方法:在配置文件中查找security=user,把前面的注释#去掉。

(2)添加文件共享定义信息

修改方法:在配置文件末尾添加如下内容:

[Share]

comment=Shared Folder

path=/home/fzuir/share

#public=yes(允许匿名访问)

writable=yes(可写)

#readonly=yes(只读)

valid users=fzuir (可访问用户名,组可用 @组名)

create mask=0700

directory mask=0700

available=yes

browseable=yes

(3)修改编码

在[global]段内添加如下三行:

display charset=UTF-8

unix charset=UTF-8

dos charset=cp936

5.添加samba用户

添加fzuir这个网络访问账户,fzuir用户如果已存在则不用。

sudo useradd fzuir

上面只是新增了fzuir这个用户,却没有赋予本机登录密码,所以只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。

现在在samba中添加这个帐号

sudo /usr/local/samba/bin/smbpasswd -a fzuir

6.测试并启动samba

sudo /usr/local/samba/bin/testparm

重启samba:

sudo /usr/local/samba/sbin/smbd restart

sudo /usr/local/samba/sbin/nmbd restart

 

 

7.在不同的系统之间访问samba

(1)windows下:在文件管理器地址栏中输入\\samba服务器IP 即可以查看共享文件夹或者打印机。

(2)linux下:

    方法1:使用smbclient

     客户机以同样方式安装samba

     ①列出某个IP地址所提供的共享文件夹

     sudo /usr/local/samba/bin/smbclient -L 192.168.0.1 -U username%password

     ②使用smbclient获取共享文件

     sudo /usr/local/samba/bin/smbclient //192.168.0.1/Share -U username%password

     执行成功后进入smbclient环境,出现命令提示符:smb:\>

     这里可使用的命令有:

     ?:列出所有可用命令

     cd:进入共享文件目录

     del:删除某个文档

     lcd:变换本机目录

     ls:查看目前所在目录

     dir:同ls

     get:下载单个文件

     mget:下载多个文件

     mput:上传多个文件

     put:上传单个文件

     rm:删除文件夹

     exit:离开

   方法2:使用mount进行挂载

     可以使用mount挂载远程共享文件夹:

     sudo mount -o username=fzuir,password=123456 //192.168.0.1/Share /mnt/tmp