一:samba简介:

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。samba是一个工具套件,在Unix上实现。SMB(Server

Message Block)协议,或者称之为NETBIOS/LanManager协议。SMB协议通常是被windows系列用来实现磁盘和打印机共享。samba服务器可以实现

windows主机和linux主机共享资源互访的功能,即在windows上可以通过网上邻居访问linux主机上共享的samba服务器共享文件夹,linux主机同样可以使

用samba客户端访问windows主机共享的文件夹,当然,linux主机之间也可以使用samba互相访问共享资源。

二:samba执行文件分为服务器和客户端命令:

(1)smbd与nmbd命令。这两个执行命令为samba开启守护进程命令。每次启动samba服务器时都会使用到这两个执行文件。smbd使用tcp的139和445端

口,主要用户资源共享和连接控制;nmbd使用udp的137和138端口,主要宣告资源。

(2)testparm命令。当配置玩/etc/samba/smb.conf文件后,使用该命令查看配置文件中服务器所设定的参数与smb.conf的设定项目是否正确。

(3)smbpasswd命令。如果samba服务器需要规定使用者的账户与密码,那么需要使用该命令来创建。此命令用来指定samba的用户名和密码。需要指出的

是,必须首先创建本低用户,然后使用smbpasswd将其添加到samba的账号库中,smbpasswd的参数有:

-a新增一个使用者

-d禁止一个使用者

-e恢复使用者

-x从smbpasswd中删除使用者

(4)smbclient命令。当linux主机作为客户端查看其它linux(或windows)主机共享目录时,就需要使用smbclient命令

(5)smbmount命令。windows操作系统可以设定“网络磁盘驱动器”来连接到共享目录,在linux系统上可以通过使用smbmount命令来将远程主机分享

的文件与目录挂载到自己的linux主机上(也可以使用mount)

三:如何访问samba服务器:

在windows上访问samba  server:

1.【网上邻居】搜索计算机

2.网上邻居

3.unc路径    \\对方地址或者名字\共享名字

4.映射网络驱动器

5.net  use      net share 

在linux上访问samba  server

1:smbclient    与samba服务器断开连接后需要重新连接

2:smbmount    直接访问挂载点(分为手动挂载和自动挂载)

浅析samba配置文件:/etc/samba/smb.conf

[root@lyt ~]# mkdir /mnt/cdrom

[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/

[root@lyt ~]# cd /mnt/cdrom/Server/

p_w_picpath

p_w_picpath

p_w_picpath

[root@lyt Server]# yum install samba  -y       #使用yum安装samba服务器

[root@lyt Server]# rpm -ql  samba-common  |less     #查看samba-common的安装路径,此包包含了samba服务器的主配置文档

[root@lyt Server]# service smb start     #启动samba服务器,它的控制脚本是smb

[root@lyt ~]# chkconfig smb on      #设置开机自动启动

[root@lyt Server]# vim /etc/samba/smb.conf      #编辑samba服务的配置文件

p_w_picpath

p_w_picpath 

[root@lyt Server]# service smb restart

[root@lyt Server]# vim /etc/samba/smb.conf

p_w_picpath

[root@lyt Server]# service smb restart

p_w_picpath

[root@lyt Server]# vim /etc/samba/smb.conf

p_w_picpath

p_w_picpath

p_w_picpath

案例:搭建samba服务器,创建共享名public,物理路径为/abc,任何人都有访问的权利;创建共享名smbzs,物理路径为/zhangsan,只有张三有

访问和修改的权限;:创建共享名smbls,物理路径为/lisi,只有李四自己有访问和修改的权限;

1:[root@lyt Server]# vim /etc/samba/smb.conf

p_w_picpath

p_w_picpath

p_w_picpath

[root@lyt Server]# service smb restart      #重启samba服务器

2:[root@lyt Server]# useradd zhangsan       #创建用户zhangsan

[root@lyt Server]# passwd zhangsan

[root@lyt Server]# useradd lisi       #创建用户lisi

[root@lyt Server]# passwd lisi

3:[root@lyt Server]# mkdir /abc /zhangsan /lisi     #创建目录/abc 、/zhangsan 、/lisi

[root@lyt Server]# ll -d /abc/ /zhangsan/ /lisi/      #查看改这些目录的属性

4:[root@lyt Server]# chown lisi.lisi /lisi/      #将目录/lisi的用户和所属组改为lisi,此时用户lisi就对自己所对应的目录/lisi有读写权限了

[root@lyt Server]# chown zhangsan.zhangsan /zhangsan/      #将目录/zhangsan的用户和所属组改为zhangsan,此时用户zhangsan就对自己所对

应的目录/zhangsan有读写权限

5:[root@lyt Server]# cd /abc/ 

[root@lyt abc]# touch f1.abc      #在/abc目录下创建f1.abc文件

[root@lyt abc]# cd /zhangsan/      

[root@lyt zhangsan]# touch f1.zhangsan       #在/zhangsan目录下创建f1.zhangsan文件

[root@lyt zhangsan]# cd /lisi/

[root@lyt lisi]# touch f1.lisi       #在/lisi目录下创建f1.lisi文件

6:[root@lyt ~]# smbpasswd -a zhangsan       #向samba账号库中添加zhangsan账号,-a表示添加

[root@lyt ~]# smbpasswd -a lisi      #向samba账号库中添加lisi账号,-a表示添加

使用windows主机测试:

使用zhangsan用户登录:

p_w_picpath

p_w_picpath

其他用户一样,这里不再重复

使用linux主机进行测试:(在linux中smbclient默认是已经安装的,这里直接使用即可)

[root@localhost ~]# smbclient -L \\192.168.101.66 -U zhangsan      #-L表示列出,-U表示用户

p_w_picpath

[root@localhost ~]# smbclient //192.168.101.66/smbzs -U zhangsan      #使用zhangsan用户登录自己的共享

p_w_picpath

p_w_picpath

p_w_picpath

在linux客户端上进行手动挂载(开机自动挂载):

[root@localhost etc]# mkdir /mnt/smb      #创建挂载点

[root@localhost etc]# vim /etc/fstab

p_w_picpath 

[root@localhost etc]# vim /etc/samba/f1     #编辑f1文件,存放账户密码

p_w_picpath

[root@localhost etc]# mount -a

在linux客户端上进行自动挂载(访问挂载点自动挂载):

[root@localhost etc]# rpm -qa |grep auto      #查看与auto相关的已经安装的软件包

p_w_picpath

[root@localhost etc]# vim /etc/auto.master      #编辑与自动挂载相关的配置文件

p_w_picpath

[root@localhost etc]# cp -p auto.misc auto.samba     #产生auto.samba文件

p_w_picpath 

[root@localhost etc]# service autofs restart     #重启autofs服务器

[root@localhost etc]# mount     #查看挂载

p_w_picpath 

[root@localhost etc]# cd /mnt/smb/

[root@localhost smb]# cd server2    #强制切换到server2目录中,此时server2是临时产生的,但退出60秒后,会自动消失

p_w_picpath

[root@localhost server2]# cd     #退出挂载点

[root@localhost ~]# mount      #一分钟后查看挂载情况:

p_w_picpath