Samba文件共享

Samba 文件服务器

- samba是一种在linux环境中运行的免费软件
- 创建基于Windows共享
- 通过插件也可以让linux用户共享
- server Message Block
- 可以为局域网中的不同计算机提供文件及打印服务等资源的共享

SMB

- 信息服务快
- 在局域网中共享文件 和打印机的一种通信协议
- C/S
- NetBios over Tcp/IP

Samba简介

- GPL
- SMB/CIFS
- samba  samba-client  samba-common


- 守护进程
	- smbd
		- 提供文件共享或打印机共享
		- 提供用户权限的认证功能以及锁功能
			- vim file     vim file
		- TCP 139 445
		- netstat -nutlp
	- nmbd
		- 提供NetBios名称解析服务
		- common Internet File System(CIFS)
		- udp 137

- 防火墙/selinux默认策略会影响samba访问,可以暂时关闭

快速配置samba共享

- 服务端
	- 1.临时关闭selinux
		- setenforce 0
	- 2。安装samba软件
		- yum install -y samba samba-client   samba-*

	- 3.创建共享目录
		- mkdir /common
		- echo "hello world" > /commmon/smb.txt
	- 4.修改配置文件
		- vim /etc/samba/smb.conf
			[common]     #共享名称
    		comment = Commonshare    #共享描述
	        path = /common			#共享路径
	        browseable = yes		#所有人是否可见
	        guest ok = no		#拒绝匿名用户访问
	        writable = yes		#数据可写入
	- 5. 修改selinux上下文权限
		- chcon -t samba_share_t /common
	
	- 6.创建samba共享访问账户
		- useradd -s /sbin/nologin  harry
		- smbpasswd -a harry
			- samba-client
			-   -a 添加smb账户并设置密码
			-   -x	删除smb用户
			-   -d	禁用smb用户
			-   -e	启用smb用户
	- 7.重启服务,防火墙允许服务通过
		- systemctl restart smb nmb
		- systemctl enable smb nmb
		- firewall-cmd --permanent --add-service=samba
		- firewall-cmd --reload



- 客户端操作
	- windows
		- win + r   ————> \\192.168.0.10\

	- linux
		- yum install samba-client -y
		- smbclient -U harry //192.168.0.10/common
		- mkdir /common
		- mount -t cifs //192.168.0.10/common /common/ -o username=harry,password=redhat
		- df -hT
		- vim /etc/fstab
			- //192.168.0.10/common   /common cifs    defaults,useranme=harry,password=redhat 0 0
		- mount -a
		- df -hT

配置文件讲解

- /etc/samba/smb.conf
- 配置文件中以#开头或;符号开头的为注释行
- 分为global全局配置与其他段配置
- 全局配置与共享段配置冲突,共享段配置有效

samba应用案例

- 商务部,设计部,开发部,运维部
- 商务部:负责与客户沟通,为客户提供一定建设性方案
- 设计部:学习计划,制定一定的相关文档
- 开发部:根据商务部与设计部的工作进行干活
- 运维部

- 需求:文件共享
	- 各个部门之间进行文件共享
	- 每个部门拥有独自的共享

- 创建共享目录
	- /new/sales
	- /new/design
	- /new/develop
	- /new/ops
	- /new/share  为整个公司的文件共享

	- mkdir -p /new/{sales,design,develop,ops,share/{sales,design,develop,ops}}
	- tree /new

- 增加共享用户
	    [root@server ~]# cat adduser.sh 
		#!/bin/bash
		#Add user for share
		USERS=(sales desgin develop ops)
		for user in ${USERS[@]}
		do
		    groupadd $user
		    for num in $(seq 1 2)
			do
			    useradd -M -s /sbin/nologin -g ${user} ${user}${num}
			done
		done
		[root@server ~]# 

		添加完成用户后请将用户增加到smb共享中


- 修改配置文件
	workgroup = STAFF
	[sales]
	        comment = sales share
	        path = /new/sales
	        browseable = yes
	        guest ok = no
	        writable = no
	        write list = @sales
	[develop]
	        comment = develop share
	        path = /new/develop
	        browseable = yes
	        guest ok = no
	        writable = no
	        write list = @develop
	[design]
	        comment = design share
	        path = /new/design
	        browseable = yes
	        guest ok = no
	        writable = no
	        write list = @desgin
	[ops]
	        comment = ops share
	        path = /new/ops
	        browseable = yes
	        guest ok = no
	        writable = no
	        write list = @ops
	[share]
	        comment = common share
	        path = /new/share
	        browseable = yes
	        guest ok = no
	        writable = yes



- 修改权限
	  chcon -t samba_share_t /new/{design,sales,share,develop,ops}
	  chmod 1770 /new/{design,sales,develop,ops}
	  chmod 1777 /new/share/
	  chown :sales /new/sales/
	  chown :develop /new/develop/
	  chown :ops /new/ops/
	  chown :desgin /new/design/
	  systemctl restart smb nmb
	  systemctl enable smb nmb
	  firewall-cmd --permanent --add-service=samba
	  firewall-cmd --reload 
一. Samba 简介 Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于LinuxLinux之间的共享文件;不过对于LinuxLinux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的; 大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器; 我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。 二. Samba的几个套件,安装及简单配置 sambasamba-client, samba-common 一句 sudo apt-get install samba samba-client 就能全部装上 启动samba也很简单: sudo /etc/init.d/samba start 设置samba的密码, 可以先添加samba用户, 必须是系统用户。 smbpasswd -a yourname 三. 互访 1)windows访问ubuntu windows访问ubuntu很简单, 先在ubuntu上设置共享目录即可, 鼠标右键点目录,选择sharing options, 够选share this folder,需要的话也可以够选下面的allow write 这时在windows的网络邻居中的网络中查找就能找到共享目录了,通过//host也行 2)ubuntu访问windows 第一种:在ubuntu的网络中直接浏览访问 位置->网络,点击界面中windows网络->workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb的用户名和密码输入就可以进行访问。 第二种:用ubuntu 系统自带的连接到服务器功能访问 位置->连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷,里面就是windows计算机的共享目录了。 同样在访问的时候要输入smb的用户名和密码。 第三种:用mount’挂载windows的共享目录到本地磁盘 首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 以windows的ip为192.168.0.1,共享文件夹为share为例 命令如下: mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind 有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 mount -o smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind 注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 第四种:使用smbclient 命令 一般来讲先列出所有共享目录,命令如下: smbclient –L //192.168.0.1/ -U yourname 输入smb的密码后,将看到共享目录列表。 假设进入共享目录share,命令如下: smbclient //192.168.0.1/share -U yourname 之后将看到一个smb:> 已经进入了smb模式,有些像ftp,敲help可以查看相关命令,get,put可以下载和上传文件。 五. 小结 以上几步,对于简单使用ubuntu和windows的文件共享于互访已经足够,更详细的资料可以参考:http://linux.vbird.org/linux_server/0370samba.php#server_pkg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值