Linux服务笔记之四:Samba服务

刚在虚拟机装完Linux操做系统,就有产生了这样的想法:“linux与windows之间如何互联呢?以及用户如何更方便地彼此之间共享数据和打印机设备?”今天,咱们能够经过Samba服务器就能够地实现这一功能。它可以使Windows用户经过网络邻居等熟悉方式来访问Linux上的共享资源,而linux用户经过SMB客户端程序访问Windows下的资源。

Samba服务前准备
查看RHEL(默认没有安装)是否安装Samba服务以及安装了何种版本,命令以下:

[root@localhost ~]# rpm -qa | grep samba
samba-common-3.0.10-1.4E
samba-3.0.10-1.4E                                        #samba服务端组件
system-config-samba-1.2.21-1                        #samba图形配置工具
samba-client-3.0.10-1.4E                               #samba客户端组件

若是没有,拿出RHEL安装盘,找到相应的组件(上面的rpm组件)进行安装

[root@localhost ~]# rpm -ivh  samba服务RPM组件路径

安装完成后,还没法使Linux服务器与Windows客户端正常互联。要使Samba正常、安全地提供服务,还须要设置/etc/samba/smb.conf这个配置文挡。

在进行配置工做前,须要开启服务的相应端口(netbios,即windows 网上邻居的 通讯协议)。

[root@localhost ~]# cat /etc/services | grep netbios
netbios-ns            137/tcp            # NETBIOS Name Service
netbios-ns            137/udp
netbios-dgm         138/tcp             # NETBIOS Datagram Service
netbios-dgm         138/udp
netbios-ssn         139/tcp              # NETBIOS session service

Samba服务相关文件
1)samba服务密码文件(/etc/samba/smb.conf)
samba服务安装完成后,这个文件默认下是不存在的。咱们能够经过smbpasswd 来建立相应的用户名和密码 smbpasswd -a linux用户名(访问权限设定)

PS:samba服务与linux使用不一样的密码文件。所以,没法用linux服务下的账号来登陆到samba服务。
经过如下命令能够查看到samba密码文件

[root@localhost ~]# cat /etc/samba/smbpasswd
redhat:500:570CE399DA1412ABAAD3B435B51404EE:B9D2D4955B330B
503CC792EB6A55BB1F:[U                    ]:LCT-4911A2AD:
user1:501:570CE399DA1412ABAAD3B435B51404EE:B9D2D4955B330B5
03CC792EB6A55BB1F:[U                      ]:LCT-4911B0D4:

2)/etc/samba/smbusers
该文件是记录用户映射关系的
3)samba服务日志文件
samba服务的日志文件默认安装在/var/log/samba/目录中。所以,能够根据日志文件来查看服务的运行状态以及用户的访问状况

Samba服务主要配置
由于,samba配置选项不少,我选出一些经常使用配置来讲明

[root@localhost ~]# cat /etc/samba/smb.conf

#== Global Settings(全局设置)======
[global]
workgroup = MSHOME                        #群组名称彧者工做组域名
server string = Samba Server              #Samba服务的简要说明
hosts allow = 192.168.0. 192.168.2. 127.    
#访问权限设定(容许192.168.0.0/24,192.168.2.0/24,127.0.0.0/8,中间须要用空格彧者逗号隔开)
printcap name = /etc/printcap                    #打印机的配置文挡
load printers = yes                                   #是否加载打印机设备

;    guest account = pcguest
#在这里能够设置guest账号名,而设置的账号名可以在/etc/passwd文件找获得(在此建用户名),若是未指定,使用“nobody”来处理。默认是不使用的
log file = /var/log/samba/%m.log                #日志存挡文件

security = user
#安全级别有5种.1)share 这种安全级别是最低的,不须要用户名和密码来访问samba服务 2)user(默认) 在访问samba服务,须要账号来验证 3) server 这个也须要账号来登陆,但密码是别外一台服务器 4)domain 5)ads
;     password server = < NT-Server-Name >

interfaces = 192.168.0.253          #有多网卡时,须要设置监听的网卡
;interfaces = eth1(网卡参数彧者IP地址)

WINS Server
;     wins support = yes
;     wins server = w.x.y.z
;     wins proxy = yes

#==== Share Definitions (共享目录)======
     idmap uid = 16777216-33554431
     idmap gid = 16777216-33554431
     template shell = /bin/false
     winbind use default domain = no
[homes]                                                #用户的主目录
     comment = Home Directories                #注释说明
     browseable = no                                #是否容许浏览别人主目录
     writable = yes                                   #是否执行写操做
[share]                                                 #测试目录
     comment = Samba Share
     browseable = yes
     writable = no
     path = /samba/share                         #共享路径
                        
[printers]
     comment = All Printers
     path = /var/spool/samba
     browseable = no
# Set public = yes to allow user 'guest account' to print
     guest ok = no
     writable = no
     printable = yes

当配置完成后,须要从新启用samba服务

[root@localhost ~]# /etc/init.d/smb restart       #从新启动Samba服务
[root@localhost ~]# service smb  start             #启动Samba服务
[root@localhost ~]# /etc/init.d/smb stop          #中止Samba服务

咱们在Windows客户端(192.168.0.100)下测试。linux:IP 192.168.0.1



由于,我配置的时候,开启了验证功能



哈哈,能够在windows下查看linux共享资源



若是,要在Linux下查看windows下共享资源。首先,要安装samba-client客户端组件。查看是否被安装

[root@localhost ~]# rpm -q samba-client        
samba-client-3.0.10-1.4E                                #客户端组件

查看查看windows(192.168.0.100)下共享资源列表

[root@localhost ~]# smbclient -L //192.168.0.100 -U anonymous
WARNING: no network interfaces found
Password:
Domain=[ZHOUZHIWEI] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

                Sharename             Type            Comment
                ---------             ----            -------
                share                     Disk

session request to 192.168.0.100 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[ZHOUZHIWEI] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

                Server                             Comment
                ---------                        -------

                Workgroup                        Master
                ---------                        -------

查看共享文挡,显示以下

今天写的文章,我的感受上有点迟钝(刚考完试,极可能是太累的缘故吧)。也不知道有没有错误?如发现错误的地方,请指正。谢谢!
相关文章
相关标签/搜索