centos安装samba
Samba是一组软件包,使Linux支持SMB协议,是一套让Linux系统能够应用Microsoft 网络通讯协议的软件。它使执行Linux系统的机器能与执行Windows系统的计算机进行文 件与打印机共享. 2 Samb a 的主要功能 (1)提供Windows操作系统风格的文件和打印机共享 Windows 98、Windows XP、Windows 2000等以据此共享Linux等其他操作系统的资源,外表看起来和共享Windows资源没有 区别,并支持Windows客户使用网上邻居浏览网络。 (2)Samba提供的一个类似FTP客户程序的客Samba客户程序smbclient命令,用以访 问Windows共享或Linux提供的Samba共享。其命令格式为: smbclient //hostname/sharename -U username 一个samba服务器实际上包含了两个服 务器程序:smbd和nmbd。Smbd是samba的核心。它负责建立对话进程、验证用户身份、提供 对文件系统和打印机的访问机制。Nmbd实现了“Network Brower”(网络浏览服务器) 的功能。它的作用是对外发布samba服务器可以提供的服务。Samba还包含了一些实用工 具。Smbclient是一个SMB客户工具,有shell-based用户界面并同FTP有些类似。应用它 可以复制其它的SMB服务器资源.Testparm命令用来快速检查smb.conf文件的语法错误。 ### CentOS 安装 Samba 的详细指南 #### 一、Samba 概述及功能介绍 **Samba** 是一种非常重要的开源软件包,它能够让 Linux 和其他类 Unix 操作系统支持 SMB (Server Message Block) 协议。通过这种方式,执行 Linux 系统的机器可以与运行 Windows 操作系统的计算机实现文件和打印机共享。Samba 的核心价值在于它能够提供跨平台的网络文件共享服务。 1. **Windows 风格的文件和打印机共享:** - **Samba 的主要功能之一** 就是可以让 Windows 操作系统(如 Windows 98、Windows XP、Windows 2000 等)能够访问 Linux 或其他操作系统提供的资源,这使得 Windows 用户在使用这些资源时感觉就像是在共享本地 Windows 资源一样。 - **网络浏览器功能**:Samba 还支持 Windows 客户端使用“网上邻居”来浏览这些共享资源。 2. **Samba 客户端工具 smbclient:** - **访问共享资源**:Samba 提供了一个类似于 FTP 客户端的工具叫做 `smbclient`,这个命令可以用来访问 Windows 共享或 Linux 提供的 Samba 共享。例如,可以通过命令 `smbclient //hostname/sharename -U username` 来访问特定主机上的共享目录。 - **命令格式**:`smbclient` 命令的基本格式为 `smbclient //hostname/sharename -U username`,其中 `hostname` 是远程主机名或 IP 地址,`sharename` 是共享目录名称,而 `username` 是登录用户名。 3. **Samba 服务器程序 smbd 和 nmbd:** - **smbd**:这是 Samba 的核心组件,负责处理客户端请求、验证用户身份以及提供对文件系统和打印机的访问机制。 - **nmbd**:该程序实现了“网络浏览器”(Network Browser)的功能,即对外发布 Samba 服务器可提供的服务信息。 4. **Samba 实用工具**: - **smbclient**:用于访问 SMB 服务器资源,类似于 FTP 客户端。 - **testparm**:用于检查 `smb.conf` 文件的语法错误,确保配置正确无误。 #### 二、CentOS 系统上安装 Samba 的步骤 1. **检查是否已安装 Samba:** - 在 CentOS 上,可以使用以下命令来检查是否已经安装了 Samba: ```bash rpm -qa | grep samba ``` 2. **安装 Samba:** - 如果未安装 Samba,可以按照以下步骤进行安装: 1. **挂载光盘映像**:如果使用的是 CentOS 的安装光盘或者 ISO 映像,首先需要将其挂载到 `/mnt/cdrom` 目录下。 ```bash mount /mnt/cdrom ``` 2. **切换到 RPM 包所在目录**:然后进入光盘中的 `RedHat/RPMS` 目录,该目录通常包含了所有 RPM 包。 ```bash cd /mnt/cdrom/RedHat/RPMS ``` 3. **安装必要的 RPM 包**:接下来安装 `samba-common`, `samba` 和 `samba-client` 这三个 RPM 包。 ```bash rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm rpm -ivh samba-2.2.7a-7.9.0.i386.rpm rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm ``` 4. **安装图形配置工具**:还可以安装 `redhat-config-samba` 工具来方便地配置 Samba。 ```bash rpm -ivh redhat-config-samba-1.0.4-1.noarch.rpm ``` 5. **卸载光盘映像**:安装完成后,记得卸载光盘映像。 ```bash eject ``` 3. **启动 Samba 服务:** - 使用以下命令来启动 Samba 服务: ```bash service smb start ``` - 若要停止服务,可以执行: ```bash service smb stop ``` - 为了在系统启动时自动启动 Samba 服务,可以设置开机自启: ```bash chkconfig --level 345 smb on ``` 4. **使用 smbclient 访问共享:** - 使用 `smbclient` 命令访问 Samba 服务器的共享资源时,需要指定服务器的 IP 地址、共享目录名称以及用户名。 ```bash smbclient //<server_ip_address>/<share_name> -U <username> ``` 5. **配置 Samba 服务**: - Samba 的主配置文件位于 `/etc/samba/smb.conf`。在这个文件中,可以通过定义不同的共享目录及其权限来进行配置。例如,创建一个名为 `abc` 的共享目录,并指定其路径为 `/home/abc`,允许特定用户 `zhangsan` 和 `lisi` 访问。 ```ini [abc] path = /home/abc valid users = zhangsan lisi comment = zhangli writable list = lisi ``` 6. **添加用户和密码:** - 为了安全起见,还需要为用户添加密码,这样用户才能正常访问共享资源。 ```bash useradd <username> smbpasswd -a <username> ``` #### 三、总结 通过上述步骤,可以在 CentOS 系统上成功安装并配置 Samba 服务,从而实现跨平台的文件和打印机共享。Samba 的强大之处在于它不仅能够连接 Linux 和 Windows 平台,而且还支持多种其他操作系统之间的资源共享。这对于构建混合环境下的网络服务具有重要意义。