Linux文件共享服务器Samba的概念和配置详解
2017-03-01 10:43
1046 查看
在Linux(Unix)主机之间可以使用NFS服务实现文件共享。而且是现实来也十分方便,在Windows主机之间使用Windows文件共享同样可以实现包括网络文件在内的系统资源的共享。如果想在linux和Windows主机之间进行文件的共享,使用samba服务器是比较理想的解决方案。
在构建linux主机和Windows主机的混合应用系统中,linux主机用过使用samba服务器和客户机与Windows主机实现共享文件互相访问。主要有以下三种应用方式:
linux主机运行samba服务器,Windows主机作为客户端。
linux主机运行samba服务器,在linux主机中使用samba客户端程序对samba服务器进行测试,并访问服务器中的共享资源。
Windows主机提供文件共享服务。linux主机中使用samba客户端程序访问Windows共享文件。
通过以上三种文件共享的使用方式可以看出,linux主机与Windows主机之间进行文件共享的互访主要涉及到samba服务器、samba客户端、和Windows服务器3个角色,其中Windows服务器既可以提供文件共享服务也可以作为客户机访问其他服务器中的共享文件,Windows与linux主机之间共享文件互访关系图:
samba服务器在linux系统上实现了SMB/CIFS协议,即可以在linux系统中为Windows主机提供网络文件共享服务。samba服务器中包括两个服务程序:
smbd服务程序为客户机提供了服务器中共享资源(目录和文件等)的访问。
nmbd服务程序提供了netbios主机名称解析,为Windows网络中或者工作组内的主机进行主机名称的解析。
samba服务器需要smbd和nmbd两个服务程序同时运行。
所需软件包:
关于smbpasswd命令选项:
没有添加任何选项时候将改变用户密码。
samba服务器主配文件是smb.conf,位于
更详细的smb.conf配置文件的中文解释请参考《Linux
Samba服务主配文件smb.conf中文详解》
iptables防火墙设置:
samba服务器的客户端软件包samba-client中包括了samba客户端管理命令,通过这些命令可以查看和访问samba服务器或Windows服务器中的文件共享,软件包中的很多命令中,我们只需要使用几条就可以应用samba客户端了。
下面介绍几条samba客户端常用命令:
使用
在Windows上访问samba服务器很简单,按
这样做的目的主要是为了跨平台开发搭建开发环境。现在我的开发环境为 Windows 7 + CentOS 5.8 (VMWare),将 samba 共享的 Linux 目录,映射成 Windows 的一个驱动器盘符:
linux与Windows之间文件共享方式
在构建linux主机和Windows主机的混合应用系统中,linux主机用过使用samba服务器和客户机与Windows主机实现共享文件互相访问。主要有以下三种应用方式:linux主机运行samba服务器,Windows主机作为客户端。
linux主机运行samba服务器,在linux主机中使用samba客户端程序对samba服务器进行测试,并访问服务器中的共享资源。
Windows主机提供文件共享服务。linux主机中使用samba客户端程序访问Windows共享文件。
通过以上三种文件共享的使用方式可以看出,linux主机与Windows主机之间进行文件共享的互访主要涉及到samba服务器、samba客户端、和Windows服务器3个角色,其中Windows服务器既可以提供文件共享服务也可以作为客户机访问其他服务器中的共享文件,Windows与linux主机之间共享文件互访关系图:
samba服务器的基本原理
samba服务器在linux系统上实现了SMB/CIFS协议,即可以在linux系统中为Windows主机提供网络文件共享服务。samba服务器中包括两个服务程序:smbd服务程序为客户机提供了服务器中共享资源(目录和文件等)的访问。
nmbd服务程序提供了netbios主机名称解析,为Windows网络中或者工作组内的主机进行主机名称的解析。
samba服务器需要smbd和nmbd两个服务程序同时运行。
samba服务器的安装
所需软件包:samba-common软件包:提供了samba服务器和客户机都必须使用的公共文件。
samba-client软件包:提供了samba客户机所有的文件。
samba软件包:提供了samba服务器所有的文件。
安装Samba
yum -y install samba samba-client samba-common
建立samba用户
useradd wwwroot smbpasswd -a wwwroot New SMB password: 输入密码 Retype new SMB password: 再次输入
关于smbpasswd命令选项:
-h显示smbpasswd的命令格式帮助
-a添加指定的用户帐号
-d禁用指定的用户帐号
-e启用指定的用户帐号
-x删除指定的用户帐号
没有添加任何选项时候将改变用户密码。
建立共享目录
samba服务器主配文件是smb.conf,位于/etc/sabma/smb.conf。下面是建立一个共享目录wwwroot的示例配置:
grep -v "^[#|;]" /etc/samba/smb.conf | tr -s 'n' [global] workgroup = MYGROUP server string = Samba Server Version %v # logs split per machine # max 50KB per log file, then rotate security = user passdb backend = tdbsam # the login script name depends on the machine name # the login script name depends on the unix user used # disables profiles support by specifing an empty path load printers = yes cups options = raw #obtain list of printers automatically on SystemV [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes [wwwroot] comment = Web Directories path = /data/wsdata/wwwroot public = yes writable = yes browseable = yes
更详细的smb.conf配置文件的中文解释请参考《Linux
Samba服务主配文件smb.conf中文详解》
启动samba服务器
service smb start
start启动
status状态
stop停止
restart重启
smbstatus命令
smbstatus命令用于显示主机中samba服务器的链接状态,包括链接服务器的客户端IP地址、主机名、登录用户名、锁定的文件等,通过smbstatus命令可以了解samba服务器的运行状态。
smbstatus Samba version 3.0.33-3.39.el5_8 PID Username Group Machine ------------------------------------------------------------------- 305 wwwroot wwwroot 2011-20121102ul (192.168.1.21) Service pid machine Connected at ------------------------------------------------------- IPC$ 305 2011-20121102ul Tue Jan 8 10:18:07 2013 wwwroot 305 2011-20121102ul Tue Jan 8 10:19:13 2013 Locked files: Pid Uid DenyMode Access R/W Oplock SharePath Name Time -------------------------------------------------------------------------------------------------- 305 504 DENY_NONE 0x100001 RDONLY NONE /data/wsdata/wwwroot . Tue Jan 8 10:20:07 2013
iptables防火墙设置:
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
samba客户端使用
samba服务器的客户端软件包samba-client中包括了samba客户端管理命令,通过这些命令可以查看和访问samba服务器或Windows服务器中的文件共享,软件包中的很多命令中,我们只需要使用几条就可以应用samba客户端了。
Linux命令行客户端
下面介绍几条samba客户端常用命令:smbclient命令是以命令行方式访问samba服务器,类似于
telnet、
ftp命令,使用
-L选项可以列出指定服务器中共享资源。
smbclient -L 192.168.1.110 -U wwwroot Password: 输入密码 Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba Server Version 3.0.33-3.39.el5_8) wwwroot Disk Web Directories Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8] Server Comment --------- ------- Workgroup Master --------- ------- BONARF XP-O0 MSHOME CHINACHINA MYGROUP LOCALHOST WORKGROUP XP-201110131805
使用
smbclient命令登录samba服务器:
smbclient //192.168.1.110/wwwroot -U wwwroot Password: 输入密码 Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8] smb: > smb: > smb: > #可以使用help命令查看客户端支持的命令: smb: >help ? altname archive blocksize cancel case_sensitive cd chmod chown close del dir du exit get getfacl hardlink help history lcd link lock lowercase ls mask md mget mkdir more mput newer open posix posix_open posix_mkdir posix_rmdir posix_unlink print prompt put pwd q queue quit rd recurse reget rename reput rm rmdir showacls setmode stat symlink tar tarmode translate unlock volume vuid wdel logon listconnect showconnect !
Windows客户端
在Windows上访问samba服务器很简单,按Windows徽标键+R打开“运行”窗口:
映射Windows网络驱动器
这样做的目的主要是为了跨平台开发搭建开发环境。现在我的开发环境为 Windows 7 + CentOS 5.8 (VMWare),将 samba 共享的 Linux 目录,映射成 Windows 的一个驱动器盘符:相关文章推荐
- Linux配置手册(三)构建samba文件共享服务器
- linux 配置 Samba 服务器实现文件共享
- Linux配置手册(三)构建samba文件共享服务器
- 【Linux】 Samba 服务器安装配置实现与Windows系统的文件共享服务
- linux(ftp服务器) vsftpd 配置文件详解
- Ubuntu 下配置Samba 实现Linux和windows之间文件共享
- linux下构建Samba文件共享服务器
- Linux下简单配置SAMBA服务,实现与Windows系统文件共享.
- ubuntu 9.04 下samba配置实现linux与XP文件共享
- Linux系统管理实践(5):Samba文件共享配置
- linux下smb文件共享服务器详解
- Linux下配置Samba实现文件共享
- CentOS配置SAMBA实现windows共享linux文件
- Linux与Windows 共享文件Samba 服务的安装于配置
- linux ubuntu 虚拟机中配置samba的实现文件共享的方法
- linux与window文件目录共享——samba配置及在windows映射
- [原]linux与window文件目录共享——samba配置及在windows映射
- Fedora 9中如何配置Samba来实现WINDOWS与LINUX之间的文件共享!
- Linux存储实验五:Samba服务共享文件权限配置
- NO1:安装VMLinux虚拟机,安装配置Samba实现Linux与Windows文件共享