首页>>文章资讯>>主机推荐

LinuxSamba服务器与Samba系统的文件共享能干什么

2024-03-23 05:16:07 148

Samba服务

Samba服务是基于类UNIX系统的SMB/CIFS协议工具,可以支持Linux与系统之间文件共享。

samba能干什么?什么场合用到它?

samba 是基于SMB协议( Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于\型的协议,端可以通过SMB访问到(服务器)上的共享资源。当是 ,是服务器时,通过Samba就可以实现访问Linux的资源,实现两个系统间的数据交互。

Linux对于开发来说是一个非常好的系统,但是人机友好不如,我就通常在上用编辑代码,然后在Linux端编译运行,而且经常需要把音视频从Linux和端互相拷贝,这时候Samba就显得很方便了。

Samba基础

Samba是一组软件包,也是一套让UNIX系统能够应用网络通信协议的软件。它使运行UNIX系统的计算机能与运行系统的计算机分享驱动器与打印机。Samba属于GNU (简称GRL)的软件。Samba的核心是SMB。

Samba是由smbd和nmbd两个守护进程组成的。它们使用的全部配置信息都保存在smb.conf中,smb.conf向这两个守护进程说明输出内容,共享资源等信息。smbd进程的作用是Samba的SMB服务器,它使用SMB与客户连接,完成事实上的用户认证、权限管理和文件共享认证,该软件包的资源与Linux进行协商;nmbd提供名字服务的守护进程,可以帮助客户定位服务器和域,如同 NT上的WINS服务器。Samba软件包还包括命令行工具。

SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口 NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和端口。

Samba的主要功能如下:

(1)提供操作系统风格的文件和打印机共享,操作系统通过它使用共享UNIX等其他操作系统的资源,外表看起来和共享的操作系统资源没有区别。 (2)提供SMB客户功能,利用Samba提供的程序可以从UNIX下以类似于FTP的方式访问的资源。 (3)备份PC上的资源,利用一个名为的shell脚本,可以使用tar格式备份和恢复一台远程上的共享文件。 (4)提供一个命令行工具,在其上可以有限制的支持操作系统的某些管理功能。

服务端程序:

客户端程序

其他工具:, , , .sysv,

网络主机名称,最长为16个字符。是主机加入工作组使用的网络名。

安装

yum install samba.x86_64

最简配置

1.编辑配置文件:#/etc/samba/smb.conf

[global]workgroup = WORKGROUPserver string = "MySamba"netbios name = "MySamba Server ip"security = share
[public1]path = /home/mysamba #不要将mysamba目录设置到/home下某个子用户目录中,否则无法访问public = yeswritable = yes

2.设置共享目录的权限

chmod 777 /home/mysamba -R

3.重启samba服务,让修改后的配置文件生效

/etc/init.d/smb restart  # start stop restart

其它启动方式

/usr/sbin/smbd -D/usr/sbin/nmbd -D

smbd [-D|--] [-F|--] [-S|--log-] [-i|--] [-V] [-b|--build-]

[-d ] [-l|--log- ] [-p

] [-P

[-s ] [--no--group]

nmbd [-D|--] [-F|--] [-S|--log-] [-i|--] [-V] [-d ]

[-H|--hosts ] [-l ] [-p|--port

] [-s ]

[--no--group]

4.访问

系统直接在文件浏览器中输入:\\192.168.1.88 就能看到名为的共享目录。

linux系统在文件浏览器中输入: smb://192.168.1.88

配置文件详解/etc/samba/smb.conf

查看帮助:man smb.conf 或 文件内部注释

[global]    #全局参数,整个系统的规则与公共变量netbios name = pc-name     #Windows网上邻居中显示的机器名workgroup = 所属NT域名或工作组名称server string =  主机描述信息hosts allow = 192.168.1.  192.169.3.     #允许哪些机器可以访问samba服务器guest account = nobody   invalid users = root  valid users = aaa bbb     security = user     #定义访问权限,从低到高依次为:share, user(连接需要账号) ,server.encrypt passwords = true   #是否需要加密密码,Windows默认加密,Linux默认非加密,user安全级别为加密,share级别可不加密。smb passwd file = /etc/samba/smbpasswdinterfaces = 192.168.1.50/24   #配置smb服务所使用的网卡IP和子网掩码,如有多个网卡需要全部列出name resolve order =  host dns bcast  #从机器netbios名称到IP地址的解析顺序,默认顺序为host lmhosts wins bcast。如果局域网有dns,                                      #可以设置为hsot dns bcastwins support = no   public = yes   #在网上邻居中是否可见browseable = yes   #在网上邻居中是否可见printing = bsd     #指定Linux使用哪个打印机守护进程(bsd, sysv, hpux, aix, qnx ,plp),同时向samba说明命令lpr和lpq的省确值printcap name = /etc/printcap    #打印机配置文件位置load printers = no  #是否加载printcap定义的所有打印机供浏览log file = /var/log/samba/log.%m     #定义日志文件max log size = 1000   #日志文件最大值(KB)username map =/etc/samba/smbuser   #客户机和服务器之间进行用户映射的信息,将window和linux用户映射为同一个账号。
#编码的配置display charet = UTF-8unix charset = UTF-8dos charset = cp936
#其他guset account = guestnamenull password = yes

[ShareName] #共享资源配置,控制每个用户目录的共享权限。节点名字就是其他机器可以看到的“目录”名,可以自己定义comment = 共享资源的描述path = /home/sambapublic = yesbrowseable = yes #是否在网上邻居中出现writable = no create mask = 0700 #写文件时的属性directory mask = 0700 #创建目录时的属性printable = no

hosts allow = 10.1.1.3 10.1.2.security = uservalid users = aaa bbb

/etc/

samba账号配置,因为包含密码信息,所以拥有者需要为root,并且权限为600。

其中的账号必须是系统中已经存在的账号,但是samba登录密码和本机登录密码可以不一样。samba密码只能用于samba访问。

#username = samba_passwd

账号管理可以直接配置该文件,也可用命令配置。

smbpasswd -a username     #添加账号,username必须是系统中存在的账号(如果没有需要用useradd命令新建用户)smbpasswd -x username     #删除账号

/etc/samba/

客户机和服务器用户映射

#linuxUser = user listroot = admin administrator  #将Windows管理员账号映射为root用户

smbfs

可以通过mount和smbfs挂载远程的共享文件夹。(安装smbfs: yum smbfs)

mount -t smbfs -o  username=administrator,password=123456 //10.1.1.88/public1  /mnt/tmp smbmount //10.1.2.88/public1 /mnt/tmp -o username=administrator 

smb客户端工具,命令行访问samba。

smbclient -L 10.1.1.88    #列出某个机器的共享文件夹(可跳过密码)smbclient -c "ls"  //IP/share  -U username     #列出某个共享文件夹的内容smbclient -c "ls"  //IP/share  -U username%passwd   #同上,不需要输入密码smbclient //IP/share  -U username[%passwd]     #登录samba服务器的共享目录,登陆后进入smb:\>环境,                  #可用ls, cd ,put ,get, help等命令。q或Ctrl+d退出。

图形配置工具