《初级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之上或者其他的网络协议(IPX和NetBEUI),该协议是intel和micrsoft一起开发的主要是通过该协议,客户端的用户可以在各种网络环境下读写服务器上的文件及对服务器提出服务请求也可以访问远程服务器端的文件及设备(打印机和扫描仪之类的),作用在会话层和表示层使用了局域网内常使用的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
如果检测没有的话,就挂载系统盘
安装samba的rpm包: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 针对共享目录个别设置,只对当前共享资源起作用;
全局参数的设置:
【1】workgroup=MYGROUP smb服务器所属的群组名称或window的域名;
【2】server string=samba server samba服务器的简要说明;
【3】hosts allow = 127. 192.168.12. 192.168.13. 可访问samba服务器的主机,子网或域;
【4】printcap name=/etc/printcap 当smb服务启动时,自动加载打印机配置文件;
【5】load printers=yes 是否允许打印配置文件中所有打印机开机时自动加载;
【6】guest account=pcguest 设置guest帐号名
【7】security=user smb服务器使用的安全等级
samba服务器一共有四种不同的安全等级,在这些等级中,除了share等级外,其它 三种等级都要求用户访问时输入正确的帐号以及密码,才能登陆并实用 samba服务器所共享的资源。
1:share:若采用此等级,用户不需要输入帐号和密码即可登陆samba服务器。
2:user:这时samba服务器默认的安全等级,检查帐号及密码的工作由提供服务的 samba服务器负责。
3:server:在此等级之下,检查帐号及密码的工作可指定另一台
WindowsNT/2000/XP(通常为网域控制器)或samba服务器负责。
4:domain:在此等级之下,需要指定一台WindowsNT/2000/XP服务器,以严正用户 所输入的帐号以及密码。
【8】interface=网卡ip地址或网络接口 有多个网卡的smb服务器需要设置监听网卡;
【9】wins support=yes 设置smb服务器同时充当wins服务器;
【10】wins server=u.v.x.y wins服务器的地址
2.3 用户映射
用户映射通常是在Windows和Linux主机之间进行。两个
系统拥有不同的用户账号,用户映射的目的就是将不同的用
户映射成为一个用户。做了映射后的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旗舰版验证的如下:
wins ip地址跟计算机名称的映射