linux-Samba服务器配置
linux Samba服务器详解以及配置
winbind:为 Windows AD 服务
加入 Windows 的 AD
1.安装 Samba、Samba-client、Samba-conmmon、Samba-winbind 软件包
2.使用 authconfig-tui 工具两次勾选 winbind 后,填写 Domain、Domain Controllers、ADS Realm 即可添加到 Windows 的域服务器
@ # setsebool -P samba_export_all_rw on || 若要共享系统文件则必须使用该命令开启 SELinux 的访问控制
@ =============== Global Settings ================ || 双横线以下为全局配置
Samba:跨 Linux、Unix 与 Windows 平台进行文件传输
在 Linux/Unix 上使用软件模拟 NetBIOS 与 CIFS/SMB 的功能实现与 Windows 的交互,即:
当 Linux/Unix 主机上使用 Samba 的软件将某个目录共享出来,即可在同一网段内的 Windows 的主机上通过 UNC 路径直接对 Linux/Unix 上的该文件进行操作,也可以将 Windows 上共享出的目录通过 CIFS 协议挂载至 Linux/Unix 下直接进行操作
@ # maximum size of 50KB per log file, then rotate:
@ max log size = 50 || 日志大于50 KB 轮询一次(可根据时间或大小设置轮询)
@ 。。。。。。。。。。。。。
@ 。。。。。。。。。。。。
Linux下配置Samba服务器流程
Linux下配置Samba服务器流程一、简介 (1)二、系统环境准备 (2)1、安装系统 (2)2、在防火墙下开启端口 (2)3、关闭SELINUX (3)三、安装Samba服务 (4)1、安装Samba服务工具 (4)2、查看安装状况 (4)3、安装包说明 (4)4、启动Samba服务器 (5)5、查看samba的服务启动情况 (5)6、设置开机自启动 (5)四、配置Samba服务 (6)1、Samba的主配置文件 (6)1)全局参数 (6)2)共享参数 (10)2、案例分析 (12)1)案例一 (12)2)案例二 (15)3)案例三 (18)五、将共享目录映射成Windows的驱动器 (26)1.映射驱动 (26)2.输入共享地址及路径 (26)3.映射完毕 (27)Tips: (27)六、Linux客户端访问操作 (28)1.查看Samba服务器的共享资料 (28)2.登陆Samba服务器 (28)七、Samba Web管理工具SWAT (30)1.配置swat (30)2.启动swat (31)3.打开swat (31)4.通过swat配置samba (32)八、参考资料 (32)一、简介Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB 通信协议应用到了Linux系统上,就形成了现在的Samba软件。
后来微软又把SMB改名为CIFS (Common Internet File System),即公共Internet文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而Samba较多的用在了Linux与windows之间的数据共享上面。
Linux Samba服务器配置与管理
摘要Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务。
Linux用户通过配置使用Samba服务器可以实现与Windows用户的资源共享。
守护进程smbd和nmbd是Samba的核心,在全部时间内运行。
关键字:Linux,通信,共享1 引言某企业局域网中存在大量的Linux主机和Windows主机,Linux主机之间可以使用NFS服务器(192.168.1.2)进行资源的共享。
现在公司要进行一个项目开发,需要Linux主机和Windows主机的用户一起完成,因此需要架设一台文件服务器来实现不同操作系统类型的终端之间的资源共享。
局域网的IP地址为192.168.1.2~192.168.1.150,新架设的文件服务器地址是192.168.1.3。
该公司局域网如下:图1.1 公司局域网拓扑2 分析解决问题完成本项目需要解决的问题:1、选择什么样的服务器可以实现Linux与Windows主机之间的资源共享?2、在Linux系统中如何运行Samba服务器?3、怎样实现Samba服务器的配置?4、怎样使用Windows客户端、Linux客户端与Samba服务器的共享资源?2.1 SMB协议& Samba2.1.1 SMB协议SMB(Server Message Block)协议是用来在微软的Windows操作系统之间共享文件和打印机的一种协议。
它是Microsoft和Intel在1987年制定的协议,主要是作为Microsoft网络的通信协议,而Samba则是将SMB协议搬到Unix上来使用。
SMB是在会话层和表示层以及小部分的应用层的协议,SMB使用了NetBIOS的应用层程序接口API。
它是一个开放性协议,允许协议扩展,大约有65个最上层的作业,每个作业都超过120个函数。
2.1.2 Samba工作原理Samba是用来实现SMB协议的一种软件,由澳大利亚的Andew Tridgell开发,是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。
LinuxSamba服务器超详细安装配置(附问题解决)
LinuxSamba服务器超详细安装配置(附问题解决)⽬录Samba服务器介绍Samba服务器组件Samba服务器相关的配置⽂件安装Samba第⼀种⽅式:yum安装第⼆种⽅式:安装包安装配置Samba修改配置⽂件添加⽤户并设置密码重启Samba服务器登录Samba问题汇总及补充⽹络选择防⽕墙问题权限问题⽆法访问⾃动连接在嵌⼊式系统开发应⽤平台中,tftp、nfs和samba服务器是最常⽤的⽂件传输⼯具,tftp和nfs是在嵌⼊式Linux开发环境中经常使⽤的传输⼯具,samba则是Linux和Windows之间的⽂件传输⼯具。
samba是模仿Windows⽹上邻居的SMB的通讯协议,将Linux操作系统“假装成”Windows操作系统,通过⽹上邻居的⽅式来进⾏⽂件传输的。
虚拟机版本:VMware10Linux操作系统版本:Red Hat Enterprise Linux 5Samba服务器介绍Samba是在Linux系统上实现SMB(Session MessageBlock)协议的⼀个免费软件,以实现⽂件共享和打印机服务共享。
Samba服务器组件samba有两个主要的进程smbd和nmbd。
smbd进程提供了⽂件和打印服务,⽽nmbd则提供了NetBIOS名称服务和浏览⽀持,帮助SMB客户定位服务器,处理所有基于UDP的协议。
Samba服务器相关的配置⽂件/etc/samba/smb.conf这是samba的主要配置⽂件,基本上仅有这个⽂件,⽽且这个配置⽂件本⾝的说明⾮常详细。
主要的设置包括服务器全局设置,如⼯作组、NetBIOS名称和密码等级,以及共享⽬录的相关设置,如实际⽬录、共享资源名称和权限等两⼤部分。
/etc/samba/lmhosts早期的 NetBIOS name 需额外设定,因此需要这个 lmhosts 的 NetBIOS name 对应的 IP 檔。
事实上它有点像是 /etc/hosts 的功能!只不过这个 lmhosts 对应的主机名是 NetBIOS name 喔!不要跟 /etc/hosts 搞混了!⽬前 Samba 预设会去使⽤你的本机名称 (hostname) 作为你的 NetBIOS name,因此这个档案不设定也⽆所谓。
Linux服务器配置---Samba服务器配置(企业案例入门)
Samba企业实战与应用1 企业环境及需求samba服务器目录:企业数据目录:/companydata公共目录:/companydata/share销售部目录:/companydata/sales技术部:/companydata/tech企业员工情况:总经理:gm销售部:销售部经理redking、员工sky、员工jane技术部:技术部经理michael、员工bill、员工joy搭建samba文件服务器,建立公共共享目录,允许所有人访问,权限为只读,为销售部和技术部分别建立单独的目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录。
这是个典型的企业文件服务器案例。
2 需求分析对于建立公共目录public字段就可以实现匿名访问,员工只能访问本部门的共享目录,禁止访问非本部门的共享目录,我们可以通过设置目录共享字段“browseable = no”及字段“valid users”来实现其隐藏功能和相应的访问权限。
这样设置不能很好得解决同一目录多种需求的权限设置,所以我们需要建立独立配置文件,为每个部门建立一个组后并为每个组建立配置文件来实现隔离用户权限会比较灵活3 解决方案1)建立各部门专用共享目录使用mkdir建立需求的共享目录以便分门别类的存储相应资料。
同时设置/companydata共享目录的用户权限2)添加samba服务器描述及设置smbpasswd文件默认/etc/samba/目录下没有smbpasswd文件,我们要先关闭samba的tdbsam验证。
解决方法:在smb.conf文件中注释掉passdb backend = tdbsam一行,为了指定samba用户的验证我们加上这一条smb passwd file = /etc/samba/smbpasswd,然后保存退出。
3)添加用户和组先建立销售部组sales,技术部组tech,然后使用useradd命令添加总经理帐号gm及各个员工的帐号并加入相应的用户组。
第11章linux 下配置samba服务器参数详
linux 下配置samba服务器参数详解为了能够让windows下的用户通过以太网访问Linux下的共享文件,需要开启Samba服务器,Samba服务器详细配置步骤如下:1.打开samba的配置文件vim /etc/samba/smb.conf2.其中存在如下几个域[global](全局参数的设置,它对samba的功能具有很大的影响,主要用来设置整个系统规则。
workgroup= 这是你在windows中的域。
server string= 这是在windows中看到你的samba的解释。
NETBIOS name =默认的是LINUX机器名dos charset=cp936unix charset=cp936 0这两处设置就可以正确显示中文。
hosts allow 允许登录的linux-samba的主机名单,用IP地址给出,多个IP地址用空格分开,不在名单中的主机将不能得到samba提供的服务,起到网络安全的作用。
printcap name 指定printcap文件地址,通常为/etc/printcap,包含了linux打印机的配置信息。
load printers 允许使用共享打印机时,默认值为yes。
printing 如果使用的打印机是非标准的,那么应该指出打印机系统类型。
log file = /usr/local/samba/var/log.%mmax log size = 0上面这两处配置则是Samba日志的相关定义。
其记录文件的位置是放在/var/log/samba/%m.log,安装目录不一样,日志可不一样,后面的一条是定义日志记录文件的大小,单位是KB,如果是0的话就表示不限大小。
guest acount 来宾帐户,表示用哪一个Linux用户作为所要的客户连接,定义Samba缺省的用户账号,这个账号必须在/etc/passwd中。
security 指定安全模式。
大多数用户使用user级的安全模式,samba用本地linux口令文件验证。
《linux网络服务》 samba服务器配置
Samba 配置
[homes] 段主要选项设置: comment = Home Directories 描述 browseable = no 无权限共享目录隐藏 writable = yes ; no只读 yes可写
Samba 配置
Samba应用示例一: 允许用户通过Windows客户端访问自己的宿主目录。 1、安装Samba,不需对配置文件做修改,即可实现此功能 如果安装启用了SELinux,需要先执行:
说明:smbclient命令可以列出指定服务器上
的共享资源的情况。上述命令没有指明用户身 份,则采用匿名访问。
• 也可以指定访问身份,命令如下所示: [root@redhat1 ~]# smbclient -L localhost -U user1 • smbclient命令还可以访问Windows机器上的 共享资源列表,命令如下:
Samba 配置
[globa1] 段主要选项设置:
workgroup = 指定工作组或域 server string = 描述 security = 指定安全模式 hosts allow = 限定主机访问 log file = 指定日志文件存放位置 max log size = 指定日志文件大小
(1)workgroup = MYGROUP 功能:设置该Samba服务器所在的工作组为 MYGROUP,可以在Windows的网上邻居 中看到该工作组的名称。 (2)server string = Samba Server 功能:设置Samba服务器的描述字符串,可 以显示在Windows的网上邻居中。Samba服务器端查看访源自的客户端信息: # smbstatus
# ls /var/log/samba
(2)Linux客户机访问Samba服务器
linux下怎么配置smba服务器
linux下怎么配置smba服务器Linux下如何配置Samba服务器Samba服务器是一种用于构建文件共享和打印服务的软件,它允许Linux系统与Windows系统之间进行文件和资源的共享。
本文将详细介绍如何在Linux系统中配置Samba服务器。
1. 安装Samba服务器软件在终端中输入以下命令来安装Samba服务器软件:```sudo apt-get install samba```2. 配置Samba服务器2.1 创建共享文件夹首先,我们需要创建一个共享文件夹,它将包含允许其他计算机访问和共享的文件。
在终端中输入以下命令创建一个共享文件夹:```sudo mkdir /samba/share```然后,将共享文件夹的权限设置为可读写:sudo chmod 777 /samba/share```2.2 编辑Samba配置文件接下来,我们需要编辑Samba服务器的配置文件来定义共享。
在终端中输入以下命令来编辑Samba配置文件:```sudo nano /etc/samba/smb.conf```在配置文件的最后一行添加以下内容:```[share]comment = Shared Folderpath = /samba/sharebrowseable = yesguest ok = yesread only = nocreate mask = 0777directory mask = 0777解释一下上述内容:- `[share]`:共享文件夹的名称,您可以根据需要更改它。
- `comment`:对共享文件夹的简要描述。
- `path`:共享文件夹的路径。
- `browseable`:是否允许其他计算机在资源管理器中浏览共享文件夹。
- `guest ok`:是否允许匿名用户访问共享文件夹。
- `read only`:是否只读。
- `create mask`:新建文件的权限掩码。
- `directory mask`:新建目录的权限掩码。
linux samba服务配置
Samba是一种自由软件包,用来让Unix系统的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File Sy stem)网络协定做连结。
和windows上的网上邻居原理是一样的。
通过SM B协议可以实现资源共享及打印机共享。
Samba是Windows与Unix系统O S(Operating System的缩写,操作系统:windows、linux、Unix、Mac 等)之间搭建起的一座桥梁,可以实现资源共享,可以像FTP这样使用。
SAMBA的工作原理:步骤1:协议协商步骤2:建立连接步骤3:资源共享步骤4:断开连接Samba服务主要安装包为前三个安装包:samba-2.2.7a-7.9.0.i386.rpm //Samba的服务端软件(第一张镜像盘)samba-client-2.2.7a-7.9.0.i386.rpm //Samba客户端软件(第一张镜像盘)samba-common-2.2.7a-7.9.0.i386.rpm //包括Samba服务器和客户端都需要的文件(第一张镜像盘)samba-swat-2.2.7a-7.9.0 //Samba的WEB配置工具(第一张镜像盘)redhat-config-samba-1.0.4-1.noarch.rpm //Samba的GUI配置工具(第一张镜像盘)samba-swat-2.2.7a-7.9.0.i386.rpm //Samba的Web配置工具(在第三张镜像盘)samba的主配置文件是/etc/samba/smb.conf[root@localhost root]# rpm -qa|grep samba//显示是否安装的samba服务如果没有安装,“主菜单”--“系统设置”--“添加/删除应用程序”--“打开软件包”--“windows 文件服务器”--“更新”,或安装linux第三块镜像盘中的rpmdb辅助安装包,然后切换到第一张linux镜像盘,用mount /dev/cdrom /mnt/cd rom命令将第一张镜像盘挂载,安装samba主程序包,samba-client客户端软件包,还有samba的工具包samba-common.用,#rpm –ivh –aid sam ba*.rpm。
Linux服务器配置---Samba服务器配置
Linux服务器配置---Samba服务器配置Linux 服务器配置Samba 服务器配置在当今的网络环境中,Linux 服务器扮演着至关重要的角色。
而Samba 服务器作为在 Linux 系统中实现与 Windows 系统文件共享和打印共享的重要工具,其配置对于实现跨平台的资源共享具有重要意义。
接下来,让我们一起深入了解一下 Samba 服务器的配置过程。
首先,我们需要确保 Linux 服务器上已经安装了 Samba 软件包。
在大多数常见的 Linux 发行版中,可以通过包管理工具来完成安装。
比如在 CentOS 系统中,可以使用`yum install samba` 命令进行安装;在Ubuntu 系统中,则可以使用`aptget install samba` 命令。
安装完成后,接下来就是关键的配置环节。
Samba 的主要配置文件是`/etc/samba/smbconf` 。
我们需要使用文本编辑器打开这个文件进行配置。
在配置文件中,有几个关键的部分需要我们重点关注。
`global` 部分是全局设置,包括服务器的工作参数、安全选项等。
比如,我们可以设置服务器的工作组,使其与 Windows 网络中的工作组相匹配,这样可以方便 Windows 客户端找到我们的 Samba 服务器。
假设我们要将工作组设置为`WORKGROUP` ,可以这样配置:```workgroup = WORKGROUP```还可以设置服务器的描述信息,以便客户端能够更清楚地了解服务器的用途:```server string = My Samba Server```安全方面,我们可以选择不同的认证方式。
常见的有`user` 、`share` 等。
如果选择`user` 认证方式,需要指定密码数据库文件的位置:```security = userpassdb backend = tdbsam```接下来是共享目录的配置。
假设我们要共享一个名为`shared` 的目录,位于`/data/shared` 路径下,并且只允许特定用户访问,我们可以这样配置:```sharedcomment = Shared Directorypath =/data/sharedvalid users = user1 user2read only = nocreate mask = 0777directory mask = 0777```在上述配置中,`comment` 用于描述共享目录的用途;`path` 指定了实际的共享目录路径;`valid users` 限制了能够访问该共享目录的用户;`read only = no` 表示允许读写操作;`create mask` 和`directory mask` 用于设置创建文件和目录的权限。
Linux简介5 配置与管理samba服务器
[cdrom]
name=cdrom
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
14
2、利用Centos7的光盘映像文件
(1)将光盘映像文件上传到Linux服务器的/root目录下。
(2)在Linux服务器的/mnt目录下建立iso子目录,并将Linux光盘映射文
8
(2)建立连接。当SMB类型确认后,客户端会发送session setup指令数据包, 提交账号和密码,请求与Samba服务器建立连接,如果客户端通过身份验证, Samba服务器会对session setup报文做出回应,并为用户分配唯一的UID,在客 户端与其通信时使用。如下图所示。
9
(3)访问共享资源。客户端访问Samba共享资源时,发送tree connect指令数 据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每 个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源。如下图所示。
20
1.Samba配置简介 文件的开头部分为samba简介,主要介绍smb.conf文件的作用及相关信息,
在配置简介部分的行首出现两个符号,即“#”和“;”,其含义如下所示: “#” 以“#”开头的为注释,为用户提供相关的配置解释信息,方便用户参考,不用修改它。 “;” 以“;”开头的为samba配置的格式范例,默认是不生效的,可以通过去是前面的“;”并加以
gpgcheck=0
enabled=1
15
5.2.2 安装samba服务 在安装samba服务之前,使用rpm -qa|grep samba命令检测系统
是否安装了samba相关软件包。 # rpm -qa |grep samba 如果系统没有安装samba相关软件包,可以利用上述配置的yum源,
Linux Samba服务器配置及IP配置
Samba服务器配置及IP配置Linux系统默认已经安装了Samba,但是没有安装Samba服务:1,先查看安装情况rpm -qa|grep samba根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包。
我的安装情况是:使用命令:mount /dev/cdrom1 /mnt/cdrom1通过mount把cdrom1挂载到系统临时目录/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh samba.*.rpm包安装。
切换到放置rpm文件的目录[root@smb_server root]#rpm -ivh samba-common-3.6.9-151.el6.x86_64这是Samba 必备的程序,必须安装[root@smb_server root]# rpm -ivh samba-3.6.9-151.el6.x86_64 安装Samba 服务器程序,可以使我Windows 主机访问Samba 服务器共享的资源。
如果需要使Linux 主机访问Windows 主机上的共享资源,则还应该安装Samba 客户端程序。
[root@smb_server root]#rpm -ivh samba-client-3.6.9-151.el6.x86_642,安装samba的rpm包完成后samba-common-3.6.9-151.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparmsamba-client-3.6.9-151.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集samba-swat-3.6.9-151.el6.x86_64 //基于https协议的samba服务器web配置界面samba-3.6.9-151.el6.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba 的启动/关闭文件。
配置linux的samba服务器
rpm -qp ***.rpm 获取当前目录下的rpm包相关信息
rpm -qa | less 列出所有已安装的软件包
rpm -qf /etc/sysctl.conf 查看某个文件属于哪个软件包
rpm -qi package_name 列出已安装的这个包的标准详细信息
rpm –querytags | less 可以列出queryformat可以使用的所有变量从而组合成更强大的查询
5.检查已安装软件包
rpm -Va | grep bin
检查失败的字符:
S:文件大小不符,M:模式不符,5:MD5校验和不符,U:用户所有权不符,G:用户组所有权不符,T:mTime不符
46行log file
语法 log file = <日志文件>;
预设 log file = /var/log/samba/%m.log
说明 设定 samba server 日志文件的储存位置和文件名(%m代表客户端主机名)
49行max log size
语法 max log size = ;
smb.conf手册
服务名:smb
配置目录:/etc/sabma/
主配置文件:/etc/sabma/smb.conf
#====================== Global Settings =====================
17行workgroup
语法 workgtoup = <工作组群>;
#comment = centos all file是注释
# path = / 分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对,我设置了共享/所有文件
Linux系统samba服务器配置命令
Linux 是一个优秀的操作系统,尤其是它的网络功能,可以与各种操作系统轻松连接,实现多种网络服务。
由于Linux系统的高稳定性和可靠性,以及低廉的价格,使它受到越来越多用户的青睐。
在一些中小型网络,或者企业的内部网中,利用Linux建立文件服务器是一个很好的解决方案。
针对企业内部网中的绝大部分客户机采用Windows的情况,我们可以通过使用Samba来实现文件服务器功能。
1. 服务查询默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分,为了让大家对整个过程有一个完整的了解,在此先将这部分卸载掉。
可以在“/”下输入命令rpm –qa samba*,或者rpm –qa |grep samba,默认情况下可以查到两个已经存在的包:samba-client-3.0.33-3.7.el5samba-common-3.0.33-3.7.el5将rpm –e两个包卸载掉。
对于samba-common-3.0.33-3.7.el5,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系,具体完整命令为rpm –e –f –nodeps samba-common-3.0.33-3.7.el5,这样可以将此包顺利卸载。
2. 安装Sambaa) 挂载系统安装盘使用命令mount /dev/cdrom /mnt/cdrom完成系统安装盘的挂载,完成之后进入/mnt/cdrom/Server,使用命令find samba*查询和samba服务相关的rpm包,可以查到如下4条记录:[root@localhost /]# rpm -qa |grep sambasamba-client-3.0.33-3.7.el5samba-3.0.33-3.7.el5samba-common-3.0.33-3.7.el5samba-swat-3.0.33-3.7.el5samba-3.0.33-3.7.el5.i386.rpm:为Samba服务的主程序包。
linux Samba服务器配置与管理
示例
在Linux中的user1用户和Windows中 的mlx和jyg两个用户之间建立映射。
Samba服务的日志文件
Samba服务的日志默认存放在 /var/log/samba中,Samba服务为 所有连接到Samba服务器的计算机建立 单独的日志文件,同时也将NMB服务和 SMB服务的运行日志分别写入 nmbd.log和smbd.log日志文件中。管 理员可以根据这些日志文件查看用户的访 问情况和服务的运行状态。
Samba服务所需要的软件包:
samba-3.0.10-1.4E.i386.rp (Samba服务端软件)
samba-client-3.0.10-1.4E.i386.rpm (Samba客户端软件)
samba-common-3.0.101.4E.i386.rpm (Samba服务器和客户端均需要的文件)
机
Samba简介
Samba是用来实现SMB协议的一种软件,由澳 大利亚的Andew Tridgell开发,是一套让 UNIX系统能够应用Microsoft网络通讯协议的 软件。
Samba包含两个核心守护进程:nmbd和 smbd。 nmbd监听137和138UDP端口, smbd监听139TCP端口。
domain:Samba服务器加入到Windows域后, Samba服务的用户验证信息交由域控制器负责,则 使用该安全级别。同时也需要设置身份验证服务器。
全局配置:
password server = <NT-Server-Name>:设置提供身份验证的服务 器。
encryptpasswords =yes:设置身份验证中传输的密码是否加密。 smb passwd file = /etc/samba/smbpasswd:设置提供用户身份验
linux-samba配置
搭建Linux—samba服务器环境:一台安装了LINUX操作系统的主机,此处安装的是RHEL5.4,IP地址为192.168.35.188/24要求:在RHEL5.4平台下配置samba服务,实现windows和linux间的网络共享访问。
对于jishu目录是存放相关技术资料的,技术部有可读写的权限,其它组用户只有可读权限。
对于caiwu目录是存放公司财务资料的,财务部有可读写的权限,其它组用户没有读写权限。
对于renshi目录是存放人事部人事资料的,人事部有可读写的权限,其它组用户只有可读权限。
对于yewu目录是存放相关业务资料的,业务部有可读写的权限,其它组用户只有可读权限。
对于public目录是存放公共资料和工具软件的,所有组及用户都可读写。
步骤:1.准备samba相关软件包所需samba软件包如下:samba-3.0.33-3.14.el5.i386.rpm——此为samba服务端samba服务器的主要软件包samba-client-2.2.7a-7.9.0.i386.rpm——此为samba的客户端软件包samba-common-2.2.7a-7.9.0.i386.rpm——此为samba支持及协议包samba软件包可以从系统自带光盘中找并安装,也可以从网上下载。
2.安装并启用samba服务一般上安装系统后,就已自动将客户端和支持包安装好了,所以我们只需安装服务端。
cd /tmp/ —切换到samba包所在位置。
rpm –ivh samba-3.0.33-3.14.el5.i386.rpm ——安装samba包。
service smb restart ——启动samba服务。
如图:查看安装的所有samba包,用命令:rpm –qa |grep samba3.配置samba共享修改samba配置文件,在修改配置文件之前先将初始配置文件备份,以便后用。
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak然后用vim进行编辑配置文件vim /etc/samba/smb.conf ——修改samba配置文件在vim中输入英文状态下的【:】(冒号),然后在后面输入set nu,在配置文件中会显示行号。
第13课 Linux的Samba服务器配置
讲授内容教学设计∕备注第13次课第9章 Linux的Samba服务器配置本节目标:1.了解Samba的工作原理2.理解Samba的配置文件3.掌握Samba服务基本的配置指令本节知识点:1.Samba概述4.Samba的配置示例本节重点:1.Samba的配置文件2.Samba服务基本的配置指令本节难点:1.Samba的配置文件2.Samba服务基本的配置指令授课内容:1.Samba概述Samba是一款目前非常流行的、跨平台的共享文件和打印服务的软件。
(1)Samba服务的功能在Windows和Linux系统之间共享文件和打印服务。
(2)Samba的应用环境教学设计∕备注讲授内容(3)Samba的运行在RHEL 4中可以通过执行如下命令行来启动Samba服务器:#service smb start可以用ps命令来查看Samba服务器的两个进程:#ps –aux | grep smbd#ps –aux | grep nmbd2.Samba的配置文件Samba配置文件的结构(1)Samba服务的配置文件是/etc/samba/smb.conf(2)其结构分为两部分:一是全局设置部分,二是共享定义部分。
3.Samba服务基本的配置指令(1)全局设置部分的配置指令workgroup = MYGROUPserver string = Samba Serverprintcap name = /etc/printcapload printers = yescups options = raw讲授内容教学设计∕备注log file = /var/log/samba/%m.log功能:设置日志文件大小为50KB,若设置为0,则不对文件大小做限制。
security = user说明:RHEL 4中采用的是Samba3.0,该版本支持5种安全等级,分别是share、user、server、domain和ads。
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192dns proxy = no(2)共享定义部分的配置指令用户主目录共享[homes]#方括号中为共享名,homes很特殊,它可以代表每个用户的主目录comment = Home Directories#comment设置注释browseable = no#设置是否开放每个用户主目录的浏览权限,“no”表示不开放,即每个用户只能访问自己的主目录,无权浏览其他用户的主目录writable = yes所有用户都可以访问的共享[public]#设置共享名为publicpath = /home/samba#该共享所对应的实际路径public = yes#设置对所有用户开放read only = yes#默认情况下,对访问该目录的用户设置为只读权限write list = @staff讲授内容教学设计∕备注#设置只有staff组中的用户对该共享才有写权限,“@”表示组4.Samba的配置示例(1)添加Samba用户●#useradd user1●#passwd user1●#smbpasswd -a user1(2)访问Samba服务器及Windows上的共享资源每次修改完smb.conf配置文件后,都应该执行testparm命令来测试语法是否正确,然后,再启动Samba服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
今天我们要架设的samba服务器,功能主要就是类unix机器与windows机器的文件共享,也可以是共享打印机,samba软件整合了SMB协议及Netbios协议,使其运行在TCP/IP上SMB协议:Server Message Block(服务信息块),可看作是局域网上的共享文夹打印机的一种协议。
SAMBA服务有两个进程smbd:SMB服务器nmbd:netbios名称服务器玩过windows的应该都知道netbios吧,这个我就不多说了,但是一般linux上面的这个功能都没用,因为netbios不稳定,还不如直接用DNS下面介绍下SAMBA服务器的特点1、在网络上共享目录,就好像一台文件服务器一样2、在网络上共享打印机3、决定共享目录的访问权限,可以让一个人、某些人、组和所有人访问4、决定打印机的访问权限,可以让一个人、某些人、组和所有人使用可以看出,安装和配置好了Samba服务器后,Linux就可以使用Windows网络中的文件和打印服务器了。
smb用的脚本文件/etc/rc.d/init.d/smb所以我们启动samba服务器的时候使用service smb restartnmbd 使用的端口是137和138smbd使用的端口是139和445,所以一般禁止samba服务我们控制139和445端口139端口也是属于netbios ,但是最好禁止的时候把139端口也禁用了所需的RPM包:samba图形化软件:samba-swatsamba是可以通过图形界面配置的我们今天只讲修改配置文件配置但是提示大家注意一点如果使用图形界面配置,从新启动服务器后,配置文件内被注释的行就会被删除,图形界面配置的软件是这样设计的配置文件是/etc/samba/smb.confsamba服务的主配置文件/etc/samba/smb.conf主要由两部分组成Global Settings 全局参数设置该设置都是与Samba 服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的Share Definitions 共享目录该设置针对的是共享目录个别的设置,只对当前的共享资源起作用samba服务器与用户的家目录相关,所以设计到selinux,这个大家要注意下面大家先安装samba服务器大家打开配置文件吧vim /etc/samba/smb.conf配置文件有288行,我把重要的给大家说说设置Samba服务器所属的群组名称或Windows的域名workgroup = MYGROUPserver string是服务器的描述设置可访问Samba 服务器的主机、子网或域hosts allow =默认是注释了的,意思是允许所有访问,请大家仔细看这个选项,他的表达方式比较特殊,只需要写出网络位然后以点结束,主机位省略127.0.0.0 只写 127.192.168.12.0 写成 192.168.12.切记~~~还有全局的hosts allow 可以在局部使用,但是hosts deny 参数只能在全局使用设置是否允许打印配置文件中的所有打印机开机时自动加载。
load printers = yes设置Samba 服务启动时,将自动加载的打印机配置文件printcap name = /etc/printcap设置guest 账号名guest account = pcguest指定Samba 服务器使用的安全等级security = user我们今天只介绍share级别和user级别其他的三个安全级别有兴趣的可以自己去研究下share就是不用密码访问,user 级别就是使用用户密码验证使用加密口令encrypt password = yes/no设置Linux 用户到Windows 的用户映射。
username map=/etc/samba/smbusers全局常用的设置基本就这些,应该可以满足你企业的通常使用可以把一个linux的sambaID映射成一个虚拟机的用户名,在windows登陆samba服务器使用虚拟机的用户名,这样就提高了服务器的安全性这个参数默认是没有的,需要自己添加,但是smbusers文件是存在的下面介绍下共享目录的一些设置,其实这个文件和windows的.ini配置文件写法很象每一个共享目录都由[目录名]开始,这个目录名字是client看到的名字comment是共享目录的描述path就是真正的共享目录位置了public是否可以匿名访问writable可以访问的用户是否有写入权限,要与文件权限配合使用write list允许写入权限的用户列表如果printables = yes 那么这个目录就被认为是一个打印机,所以一般我们设置成 printable s = no ,这样能理解吗?还有一些常用的,但是配置文件没有写入的语句我给大家说说valid users=允许访问的用户列表,前提是public设置成no刚才的write list 要生效的话,writeable 也设置成no注意valid users = ,users有个s 不要忘记了,少一个字符这句就没有意义了invalid users =不允许访问的用户,就算你上面允许他了,但是加入这句,这个用户也会被拒绝。
一般用在允许所有,而禁止某几个用户的时候使用create mode = 640很有用的参数,用户创建的文件默认权限directory mode = 750用户常见的目录的默认权限但是这两个参数只在client使用的是图形界面有效果,如果client使用的命令登陆,那么这两句就没有效果了,所以测试的时候注意了,用mount 挂载的测试不出效果最后就是samba 的ID设置创建samba用户,主要两步1、useradd redhat2、smbpasswd -a redhat1、是在系统建立一个redhat用户,一般我们不设置密码,把shell改成/sbin/nologin2、是把刚才创建的用户变成samba用户-a 是新建的意思,如果修改密码就不用加-a记住只有安全级别是user 这里的用户才会生效下面具体配置samba服务器我们第一个要是实现的功能是共享/public目录让所有人访问,所有人可以写入文件,但是不可以删除或修改其他用户的文件要求看懂了吗?这就是一个公司的交换文件服务器1、新建public目录让所有用户有写入权限2、让用户不能删除其他用户的文件,所以我们要使用一个冒险位3、设置selinux复制29行,然后运行setsebool -P samba_enable_home_dirs on然后复制39行后面部分,把path修改成我们要改变目录,用来修改上下文chcon -t samba_share_t /public4、修改配置文件修改安全级别为share修改共享目录描述OK后,重新启动服务器selinux要开启哈,使用setenforce 命令设置,也可以使用 setup命令5、测试smbclient -L 192.168.0.188密码直接回车这样就能看到我们服务器的相关信息smbclient命令还可以这样用:smbclient //192.168.0.188/public这样链接上去就像一个ftp服务器,输入问号,可以查看能使用的命令,和FTP的操作差不多下面我们来挂载mkdir /mnt/smbmount -t cifs //192.168.0.188/public /mnt/smb/记住-t cifs 这是samba的文件系统格式这样挂载要跟具体的目录哈,表达方式和windows下很相似,不带参数也可以哈,-t auto 也可以,这个是自动识别的,但是新手,建议多多了解net use r:\\192.168.0.188#######################Michael分割线#######################还有不清楚的可以参考[RHEL5企业级Linux服务攻略]--第2季 Samba服务全攻略,下次RHCE 课程讲解user级别哈~~~上季我们介绍了samba服务器的安装,常用配置文件,还有匿名登陆的samba服务器今天我们主要学习基于用户名的访问控制其实samba的访问控制参数都不是很多,只要是你灵活运用,把samba自带的访问控制,防火墙,文件权限等等结合使用,就能搭建功能强大的samba服务器上季已经说了share级别的安全,今天我们就讲user级别了,把我们下面的任务规划一下1.一个公司要求一个公共的交换文件服务器,都可以访问并写入,但是不可以删除和修改其他用户的文件2、技术部需要一个文件服务器,用于存放常用的软件工具,所有人都可以访问,但是只有技术部的人可以写入主要就是上面两个功能来开展,我们来分析下一个samba服务器,要实现上面两个功能用我们以前学过的知识,你们觉得可以有哪些方案?用samba服务器实现上面的功能,有两种规划方案使用域和user级别都可以,但是测试域比较麻烦,还要活动目录,所以我们就使用user级别有人可能会问为什么不可以使用share级别,如果全局使用share,局部需要用户登陆的话,登陆框是灰色的,不能输入用户名,这个是不是samba服务器设置的一个bug,我也说不清楚,反正我们就尽量不这样设计吧如果使用user模式,应该需要两个目录,一个是交换目录,一个是技术部的目录,交换目录都可以写入,所以权限要777,但是都可以写入的话,就可以删除别人的文件,所以我们要加个冒险位,限制只有root和文件所有者才能删除,第一个题目完成了第二个题目就更简单了,所有人可以访问,但是只有技术部的可以写,我们只需要在局部设置wr ite list = @jishubu 就可以了,如果想要更安全的话,还可以设置目录权限是775,让目录属于技术部组下面我们开始测试吧,建立两个目录,一个是exchange,一个是jishubu,都建立在/下吧,然后改变他们的权限然后添加用户test1 和添加jishubu组,把test1加入到技术部组,最后把/jishubu的所属组改成技术部我们还要建立一个公共的用户,提供所有用户登陆samba服务器使用useradd smbtest到这里,我们的工作就算完成了,下面我们就开始配置我们的服务器请大家打开samba服务器的主配置文件vim /etc/samba/smb.conf第一步打开selinux,如果你没有打开的话复制29行的语句,然后在终端里面执行我们架设服务器的环境是,selinux强制system-config-selinux修改bool值的RHEL4的selinux只保护了40多个进程,RHEL5的selinux保护达到了200个进程吧,具体数值记不得了,selinux都是安装了的setenforce 1,然后getenforce 查看如果是enforcing 处于强制状态就算打开了selinux有三种状态ENFORCING,就是处于保护状态,selinux会禁止危险的动作并记录日志permissive 是只记录日志disabled 关闭用setup设置吧好了,我们继续,然后设置目录的上下文复制39行的内容,修改要共享目录的上下文,只复制冒号后面的部分chcon -t samba_share_t /exchange/chcon -t samba_share_t /jishubu/改变上下文都使用使用的chcon -t设置selinux都是setsebool -Pselinux的相关知识,大家看看吧RHCE考试,要求一般selinux是处于强制状态的workgroup 设置工作组server string 服务器描述username map 用户名映射,默认没有,等会我们会讲interfaces 如果服务器有多块网卡,可以设置你想开放的网卡,一般不管,默认都开放hosts allow 设置可以访问服务器的网段,注释表示不限制使用user安全模式security = user其他的全局配置都不管了,直接跳到最后,开始定义共享目录exchange的定义[exchange] 共享目录名字comment 目录描述path 共享目录的路径public 所有用户可以访问writeable 所有用户可以写入printable 不是打印机write list 在这个位置是没有意义的public和valid users 不能同时使用,这样public没效果如果writables 和write list同时使用,应该是以writable 起作用,但是最好,避免歧义,我们删除write list字段哈~这样第一个目录就OK了下面写第二个目录的定义在samba服务器里表示一个组可以使用@组名也可以使用 +组名一个简单samba服务器配置就算完成了,保存退出配置文件下面我们建立samba用户建立samba用户的前提是,/etc/passwd文件里要有这个用户名,我们才可以建立成samba用户我们刚才建立了smbtest和test1两个用户现在我们把他们建立成samba用户建立用户的时候要使用 -a 参数,如果改samba用户的密码,就不用加-a参数了下面我们重新启动服务器,开始测试开始测试我们先使用smbtest用户三个目录都可以看见,smbtest是用户的家目录,这个是自己私有的空间大家测试下可以进入jishubu和exchange,然后分别往这两个目录写入文件测试成功,下面换test1用户,看能不能在技术部写入文件删除刚才的用户登陆缓存然后使用test1登陆jishubu目录可以写入然后我们去删除smbtest用户的文件试试测试成功用户写入的文件权限是744################Michael分割线###################我们再讲两个小的应用1、控制用户写入的文件权限为750,也就只有用户自己可以RWX,用户的所有组可以读2、使用虚拟用户名,提高samba服务器的安全性分析第一个问题,大家觉得怎么实现?第一个问题使用directory mask = 750create mask = 750set GID组合就可以实现第二个问题就是刚才你们看见的username map = /etc/samba/smbuser 参数我们来实现提示一下:directory mask 和directory mode 功能都一样,当然 create 也是directory mask 是控制用户创建的目录权限create mask 是控制用户创建的文件权限这个参数只在用户是图形界面有效刚才是1777 现在是3777 添加一个set gid重启下服务好了,我们测试下发现了吗,这个文件的权限和刚才的不一样了,完全是按照我们要求来的这样就只有自己和所有组可以读取了,其他用户没有任何权限建立目录也一样我们测试完成第二个功能加入这样一行参数username map =,然后保存退出vim /etc/samba/smbusers左边是真正的用户名字,右边是虚拟的名字,你想怎么写,就怎么写,最好是系统里面没有的用户名字好了,测试密码是对应ID的密码如有侵权请联系告知删除,感谢你们的配合!。