《初级linux运维工程师-憨憨宇学习笔记》

 

 

 

憨憨宇学习笔记之

 

服务器篇

 

 

*运维工程师服务器之  samba服务器*

 

第一章      介绍

1.1        samba概述

        一种工具套件为了实现SMB或者NETBIOS/LanManager协议,用作实现磁盘,文档和打印机等的共享,通过samba这种服务使linux系统pc机成为一台SMB服务器,使windows用户能够使用linux共享的东西,相反linux用户也可以通过SMB客户端使用windows共享的东西;

【在SMB服务器上可以执行下面的动作:】

1、是用户进行身份验证的登录为不同身份的人提供不同的个别数据;

2、分享档案与打印服务及一些设备;

3、主机名的解析;

 

1.2        SMB协议

       SMB(server message block)服务信息块协议,该协议使用在tcp/ip之上或者其他的网络协议(IPXNetBEUI),该协议是intelmicrsoft一起开发的主要是通过该协议,客户端的用户可以在各种网络环境下读写服务器上的文件及对服务器提出服务请求也可以访问远程服务器端的文件及设备(打印机和扫描仪之类的),作用在会话层和表示层使用了局域网内常使用的NetBIOS的应用程序编程接口API

 

1.3   samba服务工作原理

        当客户端访问服务器的时候,信息通过SMB协议进行传输;

1.3.1首先是协议协商,客户端发出请求数据包,服务器根据客户端的情况选择最优的SMB类型做出回应;

Client------negprot请求

Server------negprot响应

1.3.2  客户端收到类型响应之后,客户端会发送提交帐号和密码,请求给服务器端建立连接,如果通过验证服务器段会对客户端做出一个报文回应,并为用户分配一个唯一的uid在通信时使用;

Client----session setup X请求

Server----session setup X响应

 

1.3.3  客户端访问共享资源时,通知服务器要访问共享资源的名字,服务器根据配置文件中设置的权限查看该客户是否可以使用,如果允许的话,服务器为客户端与共享资源连接分配tid,客户就能正常的访问想要访问的共享资源;

Client------tree connect x请求

Server-----tree connect X 响应

 

1.3.4  使用完之后,客户端向服务器端发送tree disconnect报文关闭共享,与服务器断开连接;

Client----tree disconnect请求

Server---tree disconnect 响应

 

第二章      安装

 

本人的环境是redhat enterprise 5.4企业版的

2.1  首先检测是否安装了该服务samba,使用root身份登录到linux系统中执行下面的指令:

rpm -q |grep samba

如果检测没有的话,就挂载系统盘

安装sambarpm包:samba-3.0.23c-2.i386.rpm 使用下面的指令:

2.1.1 rpm -ivh /mnt/cdrom/Server/samba-3.0.23c-2.i386.rpm

2.1.2 yum install -y samba-3.0.23c-2.i386.rpm(建议首先搭建好yum软件平台)

 

2.2  samba服务主要的配置文件:

     主配置文件:    /etc/samba/smb.conf

     密码文件:      /etc/samba/smbpasswd

     用户信息文件:  /etc/samba/smbusers

     日志文件:      /var/log/samba

 

*主配置文件 /etc/samba/smb.conf由两大部分组成:*

       1)、Global Settings全局设置,针对所有的共享资源;

       2)、Share Definitions 针对共享目录个别设置,只对当前共享资源起作用;

全局参数的设置:

             1workgroup=MYGROUP   smb服务器所属的群组名称或window的域名;

             2server string=samba server  samba服务器的简要说明;

             3hosts allow = 127. 192.168.12. 192.168.13. 可访问samba服务器的主机,子网或域;

             4printcap name=/etc/printcap smb服务启动时,自动加载打印机配置文件;

             5load printers=yes 是否允许打印配置文件中所有打印机开机时自动加载;

             6guest account=pcguest 设置guest帐号名

             7security=user  smb服务器使用的安全等级

     

 samba服务器一共有四种不同的安全等级,在这些等级中,除了share等级外,其它 三种等级都要求用户访问时输入正确的帐号以及密码,才能登陆并实用 samba服务器所共享的资源。

1share:若采用此等级,用户不需要输入帐号和密码即可登陆samba服务器。

2user:这时samba服务器默认的安全等级,检查帐号及密码的工作由提供服务的 samba服务器负责。

3server:在此等级之下,检查帐号及密码的工作可指定另一台

WindowsNT/2000/XP(通常为网域控制器)或samba服务器负责。

4domain:在此等级之下,需要指定一台WindowsNT/2000/XP服务器,以严正用户 所输入的帐号以及密码。

              8interface=网卡ip地址或网络接口   有多个网卡的smb服务器需要设置监听网卡;

              9wins support=yes 设置smb服务器同时充当wins服务器;

              10wins server=u.v.x.y  wins服务器的地址

2.3    用户映射

    用户映射通常是在WindowsLinux主机之间进行。两个

系统拥有不同的用户账号,用户映射的目的就是将不同的用

户映射成为一个用户。做了映射后的Windows账号,在使用

Samba服务器上的共享资源时,可以直接使用Windows

号进行访问。编辑文件/etc/samba/smbusers,将需要映射的用户

添加到文件中。参数格式为:单独的Linux账号= 要映射的Windows帐号列表;

 

 

 

第三章      配置

 

3.1 共享目录配置:

 

3.1.1  用户个人主目录相关配置:

[root@hanyu-18:44:39 ~]# vim /etc/samba/smb.conf

248 [homes]

249         comment = Home Directories

250         browseable = no

251         writable = yes

 

3.1.2  设置共享目录

[root@hanyu-18:47:20 ~]# mkdir /home/hanyu/share【创建共享目录】

[root@hanyu-18:49:00 ~]# groupadd share      【创建用户和该用户的组】

[root@hanyu-18:49:33 ~]# useradd -G share hanyu0

[root@hanyu-18:54:27 ~]# chown root:share /home/hanyu/share/

[root@hanyu-18:54:49 ~]# chmod -c g+wxr /home/hanyu/share/

mode of `/home/hanyu/share/' changed to 0775 (rwxrwxr-x)

[root@hanyu-18:55:55 ~]# vim /etc/samba/smb.conf

289 [publichanyu]

290  comment = this is hanyu's directory

291  path = /tmp/user1

292  public = yes

293 [user2smb]

294  comment = this is user2's directory

295  path = /tmp/user2

296  valid users = user2

297 [user3smb]

298  comment = this is user3's directory

299  path = /tmp/user3

300  vaild users = user3

 

设置user等级的身份验证登录到共享中:

 

101         security = user

102         passdb backend = tdbsam

[root@hanyu-16:29:00 tmp]# smbpasswd -a user2

New SMB password:

Retype new SMB password:

Added user user2.

[root@hanyu-16:29:30 tmp]# smbpasswd -a user3

New SMB password:

Retype new SMB password:

Failed to modify password entry for user user3

[root@hanyu-16:29:36 tmp]# service smb restart

Shutting down SMB services:   [  OK  ]

Shutting down NMB services:   [  OK  ]

Starting SMB services:        [  OK  ]

Starting NMB services:        [  OK  ]

 

3.1.3   samba服务的打印共享

[root@hanyu-19:43:39 ~]# vim /etc/samba/smb.conf

255 [printers]

256         comment = All Printers

257         path = /var/spool/samba

258         browseable = no

259         guest ok = no

260         writable = no

261         printable = yes

 

3.2   开启samba服务

[root@hanyu-19:50:36 ~]# /etc/rc.d/init.d/smb start

Starting  SMB  services:         [  OK  ]

Starting  NMB  services:         [  OK  ]

开机自启:

[root@hanyu-19:58:27 ~]# ntsysv

勾选smb服务前面的*就行了;

 

 

 

第四章      测试

 

4.1   客户机是linux系统测试   【共享文件的等级为:share

[root@hanyu1-23:32:21 ~]# smbclient -L //192.168.1.34

Password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

 

     Sharename       Type      Comment

     ---------       ----      -------

     publichanyu     Disk      this is hanyu's directory

     user2smb        Disk      this is user2's directory

     user3smb        Disk      this is user3's directory

     IPC$            IPC       IPC Service (Samba Server Version 3.0.33-3.14.el5)

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

 

     Server               Comment

     ---------            -------

     HANYU                Samba Server Version 3.0.33-3.14.el5

 

     Workgroup            Master

     ---------            -------

     MYGROUP              HANYU

 

使用windows 7旗舰版验证的如下:

 

 

初级运维工程师学习笔记服务器篇之SMB服务器_samba

 

 

wins    ip地址跟计算机名称的映射