十二、samba服务器配置和管理

12.1、Samba简介

Linux和Windows是两种无论在风格还是在技术上都完全不同的操作系统,它们是两个对立的阵形。各自都拥有自己的用户群和市场。但是,要实现这两种系统之间的资源共享,则需要使用Samba。Samba采用的是C/S工作模式,通过它可以将一台Linux系统主机配置为Samba服务器,而其他安装和使用了SMB协议的计算机可以通过Samba服务与Linux实现文件和打印机的共享。

Samba服务的安装可以通过yum命令安装,也可以通过源代码安装,为了能够获取最新版的Samba软件,可以从其官网https://www.samba.org/上下载该软件的源代码安装包。

[[email protected] home]# wget https://download.samba.org/pub/samba/stable/samba-4.6.5.tar.gz 
[[email protected] home]# tar xf samba-4.6.5.tar.gz
[[email protected] home]# cd samba-4.6.5
[[email protected] samba-4.6.5]# ./configure
[[email protected] samba-4.6.5]# make && make install
[[email protected] samba-4.6.5]# cp /home/samba-4.6.5/packaging/LSB/smb.conf  /usr/local/samba/etc/        #复制配置文件
[[email protected] samba-4.6.5]# echo ‘/usr/local/samba/lib‘ >> /etc/ld.so.conf  
[[email protected] samba-4.6.5]# ldconfig                      #添加库文件到系统
[[email protected] samba-4.6.5]# grep ‘netbios‘ /etc/services  #确保文件中有这些内容
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
netbios-ssn     139/udp

启动和关闭Samba

Samba服务器包括smbd和nmbd两个进程,它们分别是Samba的SMB(Service Message Block)服务的守护进程和NetBIOS服务守护进程。要使Samba服务器正常运行,必须要同时启动这两个进程,其作用分别为:


smbd:Samba的SMB服务守护进程,使用SMB协议与客户进行连接,完成用户认证、权限管理和文件共享任务。

nmbd:NetBIOS名字服务的守护进程,可以帮助客户端定位服务器和域,相当于Windows NT中的WINS服务器。

[[email protected] sbin]# /usr/local/samba/sbin/nmbd -D   #启动Samba
[[email protected] sbin]# /usr/local/samba/sbin/smbd -D
[[email protected] samba]# ps -ef | grep nmbd             #查看进程是否启动
root     35891     1  0 18:02 ?        00:00:00 /usr/local/samba/sbin/nmbd -D
root     35899  1305  0 18:02 pts/0    00:00:00 grep nmbd
[[email protected] samba]# ps -ef | grep smbd
root     35893     1  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35894 35893  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35895 35893  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35897 35893  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35901  1305  0 18:02 pts/0    00:00:00 grep smbd

12.2、Samba服务器基本配置

Samba的配置更改主要通过修改其主配置文件smb.conf来完成,该配置文件由全局设置和共享定义两部分组成。文件更改后不会立刻生效,用户需要重启Samba服务器或执行相应的命令重载配置文件使之生效

  • smb.conf配置文件

smb.conf是Samba的主配置文件,包括全局设置和共享定义。其中全局设置定义影响整个Samba系统运行的全局选项,用于设置整个系统的规则;共享定义则是对系统中的共享资源进行定义,该部分可以由多个段组成,常见的包括:用户主目录段,共享目录段和打印段,每个段中可以再定义详细的共享选项。

全局设置选项

选项名称 说明
netbios name 设置NetBIOS名称,默认为服务器主机名
workgroup 设置Samba服务器所属的工作组名称
server string 设置samba服务器的说明信息

interfaces

bind interfaces only


如果服务器有多个IP地址,可以使用interfaces选项把IP地址列出来。如果bind interfaces only设置为yes,则表示

Samba将绑定interfaces选项所设置的IP地址


hosts allow

hosts deny


hosts allow指定允许访问该Samba服务器的客户端列表

hosts deny指定拒绝访问客户端列表

printcap 设置[printers]段中所使用的打印机配置文件
load printers 启用该选项后将自动共享printcap name所指定的配置文件中的所有打印机
printing 设置打印机的类型
guest account 指定samba中使用的guest帐号,默认nobody
wins server 指定wins服务器的ipdizhi或主机名
wins support 设置samba服务器是否作为wins服务器
wins proxy 设置是否启用WINS代理功能
dns proxy 设置是否启用DNS代理功能
username map 指定用户映射文件的位置

共享选项

共享目录,在该段中指定了一个通过samba进行共享的目录,定义共享目录的各种设置。要通过Samba共享服务器上的目录/home/samba,共享名为share,用户对该目录只能读不能写入。

[share]                        #共享目录的共享名
   comment = For testing only  #共享目录的说明信息
   path = /home/samba          #指定共享目录
   read only = yes             #该共享目录是只读

用户主目录,使用[home]来标示,定义用户对其主目录的访问设置。

[home]
   comment = Home Directories      #注释信息
   browseable = no                 #不可浏览
   writable = yes                  #可写
   valid users = mary fred         #有效用户列表
   create mode =0664               #权限模式
   directory mode = 0775           #目录模式

打印机,共享打印机是Samba服务器的常见应用,使用Samba共享打印机可以有效的节约硬件资源。

printcap name = /etc/printcap   #指定系统中打印机配置文件位置
load printers = yes             #指定自动共享/etc/printcap文件中设置打印机
printing = cups                 #指定达应急类型
[printers]
   comment = All Printers       #注释信息
   path = /var/spool/samba      #指定打印机池
   browseable = no              #不可浏览
   public = yes                 #指定允许guest帐号使用打印机
   printable = yes              #允许使用该打印机打印
  • Samba用户管理

Samba的用户是与操作系统用户联系在一起,在创建Samba用户前,必须先添加一个与之同名的操作系统用户,但是两者的口令可以不相同。Samba用户通过smbpasswd命令进行管理,其命令格式为:

smbpasswd [options]  [username]

常用选项:


-h:显示命令帮助信息

-a:添加用户

-d:禁用某个用户

-e:启用某个用户

-n:设置用户密码为空

-x:删除某个用户

用户映射,为防止Samba用户通过Samba帐号来猜测操作系统用户的信息以及提供灵活的用户管理方法,所以就出现Samba用户映射,映射的账户不需要创建。实现用户映射的方法:

1、编辑smb.conf在[global]部分添加用户映射文件

username map = /etc/samba/smbusers

2、手工创建用户映射文件/etc/samba/smbusers,该文件格式为:

#Samba用户账号 = 需要映射的账号列表
root = administrator admin
nobody = guest
share = jim jack

3、重启samba服务器

12.3、日志设置

Samba的日志默认存放在‘<Samba 安装目录>/var/‘目录下,其中smbd进程日志为log.smbd,nmbd进程日志为log.nmbd。用户也可以设置Samba所提供的日志选项。在smb.conf配置文件中可以设置日志的存放位置与格式:

log file = /var/log/samba/log.%m

其中,%m是Samba配置文件保留变量,表示客户端的NetBIOS,常见保留变量有:

变量 说明

%a

客户端架构
%d 当前服务器进程的进程号
%D 用户的WinNT域
%G 登录用户的主用户组
%H 用户的主目录
%h Samba服务器的主机名
%I 客户端的IP地址
%j 打印任务的任务号
%L Samba服务器的NetBIOS名称
%M 客户端的主机名称
%m 客户端的NetBIOS名称
%p 打印的文件名称
%S 当前共享的名称
%T 当前的日期和时间
%v Samba版本号
%$name 环境变量name的变量
时间: 2024-08-01 08:19:48

十二、samba服务器配置和管理的相关文章

c++第十二章 -(动态管理内存、动态数组和函数返回动态内存)

1.静态内存,编译时申请,存储在栈,如基本数据类型. 2.动态内存由一些没有名字,只有地址的内存块构成.那些内存块是在程序运行期间动态分配的.它们来自一个标准c++库替你管理的“大池子”(内存池),从内存池申请一些内存需要用new语句,他将根据你提供的数据类型分配一块大小适当的内存.你不必担心内存块的尺寸问题. 3.注意在用完内存块之后,应该用delete语句把它返还内存池.另外作为一种附加的保险措施,在释放内存之后还要把关联的指针置NULL,对空指针进行“解引用”会报错. class Comp

第十二章、软件包管理

第十二章.软件包管理 本章内容 ?软件运行环境 ?软件包基础 ?rpm包管理 ?yum管理 ?定制yum仓库 ?编译安装 软件运行和编译 ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux: WINE Windows: Cywin API:Application Programming Interfa

第二十二章 动态分区管理(LPAR)

一.逻辑分区 Lpar即系统级的逻辑分区,它把一台计算机上的硬件资源划分成多个不同的逻辑服务器,每个逻辑服务器上单独运行一个私有的操作系统,这样就可以实现在一台服务器上多个操作系统的运行. 根据在逻辑分区中调配资源是否需要重启这个分区中的操作系统,可以把逻辑分区分成两种:静态Lpar和动态Lpar.静态Lpar是指系统资源(CPU.内存和I/O等)在不同的分区之间移动的时候需要重新启动所有影响到的Lpar,而动态Lpar则可以使用户在不同的分区之间灵活移动资源时不会影响到分区的正常运行,既不需要

把握linux内核设计(十二):内存管理之slab分配器

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 上一节最后说到对于小内存区的请求,如果采用伙伴系统来进行分配,则会在页内产生很多空闲空间无法使用,因此产生slab分配器来处理对小内存区(几十或几百字节)的请求.Linux中引入Slab的主要目的是为了减少对伙伴算法的调用次数. 内核经常反复使用某一内存区.例如,只要内核创建一个新的进程,就要为该进程相关的数据结构(task_struct.打开文件对象等)分配内存区.当进程结

十、FTP服务器配置和管理

10.1.FTP服务简介 FTP是Internet上使用非常广泛的一种通信协议,用于在不同的主机之间进行文件传输.Linux系统下常用的FTP服务器软件包括有wu-ftpd:vsftpd(Very Secure ftp Daemon):proftpd:pureftpd等.客户端软件有 CLI:ftp:lftp:(wget ,lftpget)下载工具,非交互式 GUI: gftpd :FlashFXP:Cuteftp:Filezilla FTP采用C/S的工作模式,通过TCP协议建立客户端和服务器

第十二章 linux磁盘管理-lvm(2)

yum install lvm2-2.02.72-8.el6_0.4.x86_64 1.将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷,主要是添加LVM属性信息并划分PE存储单元. pvcreate /dev/sdb1 /dev/sdb2 pvs pvdisplay 2.创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组.可以看出默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小 vgcreate vgdata /dev/sdb1 /de

十二、MySQL用户管理

MySQL是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定允许的权限.MySQL用户可以分为普通用户和root用户.root用户是超级管理员,拥有所有权限,普通用户只拥有被授予的各种权限. 12.1.权限表 MySQL服务器通过权限来控制用户对数据库的访问,权限表存放在MySQL数据库中,由MySQL_install_db脚本初始化.存储账户权限信息表主要有:user,db,host,table_priv.columns_priv.procs_priv. user表 user表

Linux系列教程(十二)——Linux软件包管理之yum在线管理

上一篇博客我们介绍了rpm包管理之rpm命令管理,我们发现在使用rpm命令手动安装rpm包的时候,会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rpm包是可能又必须先安装它所依赖的.在实际操作中,我们肯定是不会使用rpm命令手动安装软件包的,更简单的方法就是这篇博客我们将介绍RPM包管理——yum在线管理. 1.yum在线管理 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUS

《HBase权威指南》读书笔记12:第十二章 集群管理

运维任务 减少节点 先停止一个region服务器 $ ./bin/hbase-daemon.sh stop regionserver region服务器会先关闭所有region,然后把自己停止. 等待zk超时后就会过期. master会将这台机器上的region移动到别的机器上 注意:节点关闭之前要先禁用负载均衡 hbase(main):0.01:0>balance_switch false graceful_stop 但是region下线会带来一定的服务不可用时间,时间取决于zk的超时.这种方