samba服务设置与访问共享文件夹

  • A+
所属分类:linux技术
摘要

1、cmd->net use 查看网络连接状况,找到关于共享文件夹的连接(远程名为 访问共享文件夹的地址)
2、删除:net use ip共享名 /del


samba服务设置与访问共享文件夹

  • linux设置文件夹共享
  • windows连接共享文件夹(运行->//IP/route)
  • linux连接共享文件夹

1、基本服务安装与配置

  • linux环境下文件夹的共享是可以由samba提供这项服务,所以首先需要安装samba
yum install samba samba-client 
  • 安装完成后,samba服务并未运行,要么手动启动服务,要么重启计算机。
  • 查找Samba服务名称并启动服务
rpm -ql samba | grep serivce systemctl start smb.service systemctl start nmb.service 
  • 启动samba服务后确定端口
nestat -atunp | grep '[sn]mb' 
  • 确定samba运行时需要的端口为139/445(tcp)、137/138(udp),将这些端口全部放开
firewall-cmd --zone=public --add-port=139/tcp --permanent firewall-cmd --zone=public --add-port=445/tcp --permanent firewall-cmd --zone=public --add-port=137/udp --permanent firewall-cmd --zone=public --add-port=138/udp --permanent firewall-cmd --reload 

2、配置共享文件夹

  • 编辑samba的配置文件/etc/samba/smb.conf,设置/root/java为共享文件夹,如下:
[global] #全局samba服务器全局设置,对整个服务器有效     workgroup = WORKGROUP	#设置samba server需要加入的工作组或者域,当设置为WORKGROUP时,可以在网上共享邻居看到。     security = user			#安全验证方式,share|user|server|domain,默认为user(需要提供用户名和密码,并由samba服务验证)      passdb backend = tdbsam	#用户后台,smbpasswd|tdbsam|ldapsam,tdbsam:使用一个数据库文件来建立用户数据库(passdb.tdb),默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。也可以使用pdbedit命令来建立Samba账户。      printing = cups			#打印机类型     printcap name = cups	#指定打印机配置文件     load printers = yes		#是否在开启 samba server 时即共享打印机。     cups options = raw		  #########################共享文件夹的定义##################################################### [homes]	#共享名称(特殊的,用户家目录。默认设置)     comment = Home Directories     valid users = %S, %D%w%S  #%S:当前服务名(如果存在), %D:当前用户所属域或工作组名称,     browseable = No     read only = No     inherit acls = Yes  [printers] #共享名称 (默认设置)     comment = All Printers     path = /var/tmp     printable = Yes     create mask = 0600     browseable = No  [print$] #共享名称,打印机驱动(默认设置)     comment = Printer Drivers     path = /var/lib/samba/drivers     write list = @printadmin root     force group = @printadmin     create mask = 0664     directory mask = 0775  #自定义共享文件夹 [java]	#共享名称,即客户端访问Samba服务器时浏览到的目录名,该名称不要求与本地目录名相同,但在当前Samba服务器必须唯一。如Windows访问共享文件夹时:\ip共享名称     comment = share all		#提示信息,任意     path = /root/java		#需要被共享的目录     browseable = yes		#是yes/否no,在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取     writeable = yes			#允许写入 
  • 配置文件修改完成后,重启samba服务后生效。
systemctl restart smb.service 
  • 添加samba用户,才能在user的安全模式下访问,注意:samba不使用系统的用户和密码
smbpasswd -a root //映射系统用户到samba,并为该用户在samba服务中设置密码。 

3、客户端访问共享文件夹

  • linux访问共享文件夹,以挂载到本地的方式访问
#挂载 mount -t cifs -o username="root",password="sambapasswd" //ip/共享名称 挂载目录 #卸载 umount 挂载目录 
  • 直接访问共享目录
#前提:安装samba-client smbclient -L //ip -U 用户名 #查看该用户在目的地址上可访问的共享文件夹 smbclient //ip/共享名称 -U 用户名 
  • windows访问

4、客户端访问错误处理

  • windows访问报错“不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接 ”

1、cmd->net use 查看网络连接状况,找到关于共享文件夹的连接(远程名为 访问共享文件夹的地址)
2、删除:net use ip共享名 /del

  • windows访问报错:没有访问权限

vim /etc/sysconfig/selinux
->SELINUX=disabled