当前位置 主页 > 服务器问题 > Linux/apache问题 >

Linux上搭建Samba服务和访问

栏目:Linux/apache问题 时间:2018-12-07 10:55

SAMBA服务的产生
  在早期的网络世界中,档案数据在不同主机之间的传输大多是使用FTP服务,但是FTP服务传输档案有一些小小的问题,那就是我们无法直接修改主机上面的档案数据,也就是说我们如果想要修改某个档案的数据时,就必须将该档案的服务器下载后才能修改,这样就很麻烦了。其实解决这个问题也很简单,NFS服务就很好的解决档案数据不能直接修改的问题,因为NFS服务是直接将共享目录挂载到客户端的机器上,那么共享目录就好像成了自己的目录一样,共享数据的使用自然就很方便,但是,NFS也有一些小小的问题,它仅能使Unix Like的机器相互分享。那么我要是需要Windows与Unix-Like这两个不同的平台相互分享呢?那该怎么办?也就是说,FTP服务实现了跨平台分享,却无法修改共享数据;NFS解决了共享数据的修改问题,却没办法实现跨平台的共享。所以,SAMBA服务也就随着需要产生了。 它综合了FTP和NFS的有点,既实现了跨平台的传输,还满足了修改数据的功能。
SAMBA服务的配置文件
  samba的设定流程
  1、服务器整体设定方面:在smb.conf当中设定好工作组、NetBIOS主机名、密码使用状态(无密码分享或 本机密码)等等;
  2、规划准备分享的目录参数:在smb.conf内设定好预计要分享的目录或装置以及可供使用的账号数据;
  3、建立所需要的文件系统:根据步骤2的设定,在linux文件系统当中建立好分享出去的档案或装置,以及相关的权限参数
  4、建立可用samba的账号:根据步骤2的设定,建立所需的linux实体账号,再一pdbedit建立使用的samba的密码
  5、启动服务:启动samba的smbd,nmbd服务,开始运转。
  samba服务的配置文件
  由上述的设定流程,可以看出samba服务的配置文件为服务搭建起到了导向的作用,那么我就先来了解以下samba的基础配置。
  1、smb.conf继承了.ini文件的格式,用[ ]分成了不同的部分
  2、全局设置:[global] 服务器通用或全局设置的部分
  3、特定共享设置:[homes] 用户的家目录共享;[printers] 定义打印机资源和服务;[sharename] 自定义的共享目录配置。
  4、宏定义:
  符号 释义 符号 释义
  %m 客户端主机的NetBIOS名 %M 客户端主机的FQDN
  %H 当前用户家目录路径 %U 当前用户的用户名
  %g 当前用户所属组 %h samba服务器的主机名
  %L samba服务器的NetBIOS名 %I 客户端主机的IP
  %T 当前的日期和时间 %S 可登录的用户名
samba服务器全局配置
  1、workgroup 指定工作组名称
  2、server string 主机注释信息
  3、netbios name 指定NetBIOS名
  4、interfaces 指定服务侦听接口和ip
  5、hosts allow 可用“,”,空格,或tab分隔,默认允许所有主机访问,也可在每个共享独立配置。
  6、hosts deny 拒绝指定主机访问
  7、config file = /etc/samba/conf.d/%U 用户独立的配置文件
  8、Log level = 2 日志级别,默认为0,不记录日志
  9、max log size = 50 日志文件达到50k,将轮循rotate,单位KB
  10、passdb backend = tdbsam 密码数据库格式
“samba服务共享目录配置”
  1、每个共享目录应该有独立的[ ]部分
  2、[共享名称] 远程网络看到的共享名称
  3、comment 注释信息
  4、path 所共享的目录路径
  5、public 能否被guest访问的共享,默认为no,和guest ok类似
  6、browsable 是否允许所有用户浏览此共享,默认为yes,no为隐藏
  7、writeable = yes 可以被所有用户读写,默认为no
  8、read only = no 和 writeable = yes 等价,如与以上设置发生冲突,放在后面的设置生效,默认只读
  9、write list 三种形式:用户,@组名(如writeable=no,列表中用户或组可读写,不在列表中用户只读)
  10、valid users 特定用户才能访问该共享,如为空,将允许所有用户访问,用户名之间用空格分隔
SAMBA服务的搭建
  基础的SAMBA服务搭建
  要求: 在现有的Linux上搭建一个samba服务,共享/app下的smbtest目录。
  在搭建服务之前,我们需要预先安装我们需要的软件
  1、samba:这个软件主要提供了SMB服务器所需的各项服务程序(smbd及nmbd)以及其他与SAMBA相关的logrotate配置文件及开机默认选项档案等
  2、samba-common:这个软件提供的则是服务器与客户端都会使用到的数据,包括SAMBA的主要配置文件(smb.conf)、语法检验指令(testparm)等等;
  安装完所需的软件之后,我们便可以正式开始搭建SAMBA服务了
  (1)在samba服务器上安装samba包
  yum - y install samba
  (2)创建samba用户和组
  groupadd -r team
  useradd -s /sbin/mologin -G team lsy
  smbpasswd -a lsy
  useradd -s /sbin/nologin qjc
  smbpasswd -a qjc
  (3)创建samba共享目录,并设置SElinux
  mkdir ./app/smbtest
  chgrp team /app/smbtest
  setfacl -m g:team:rwx /app/smbtest/
  setfacl -m u:qjc:rwx /app/smbtest/
  chcon -Rt samba_share_t  /app/smbtest
  (4)samba服务器配置
  vim /etc/samba/smb.conf
  启动samba服务
windows客户端访问
  我在上面的配置文件中简单的设置了,使得team组的用户对共享目录有写权限,而其他用户则只可以浏览共享目录,不能修改共享数据,具体访问如下图:
  客户端登陆
  以team组成员lsy身份进入共享目录, 则可以在目录中创建,编辑文件
  再以qjc的身份进入共享目录,因为没有写权限,所以只能访问,创建文件会被拒绝
  尝试创建新文件时
  同时我们再服务器端共享目录下,可以查看到lsy用户创建的文件
  SAMBA服务实现多用户挂载(仅CentOS7支持)
  我们仍利用上面已经创建好的共享目录lishuyang来进行操作(ps:: 在生产环境中,创建共享目录,建议使用LVM)。
  服务端:
  在服务端, 我们还需要创建一个普通samba用户smbbase, 作为我们在客户端登陆的拥有较小权限的用户(实现多用户的挂载目的就在于对共享目录获取更大的权限),用户smbbase只有浏览共享目录的权限
  useradd -s /sbin/nologin smbbase
  smbpasswd -a smbbase
  客户端
  安装客户端需要的软件 cifs-utils(系统一般默认安装)
  编辑文件,将权限较低的smbbase用户的账户信息写入
  创建挂载目录并将共享目录挂载到本地挂载目录上
  进入/app/mnt目录下,可以发现已经进入到了共享目录下,尝试用smbbase用户修改文件(smbbase没有写权限,所以一定被拒绝写入)
  切换到用户lsy,执行如下操作
  cifscreds add 192.168.100.127
  ps:有几个只需要注意的问题:
  1,防火墙要关闭, # service iptables stop
  2,注意共享目录的权限设置
  3,要设置成不需要用户名密码直接访问,需要修改配置文件,将security设置成security = share。
缩小 缩小 缩小 缩小
IIS7整站下载工具 IIS7批量查询排名 IIS7远程桌面连接工具 iis7-iis网站批量管理 iis7批量替换工具 IIS7服务器专用下载工具 IIS7日志分析工具 IIS7批量PING,服务器批量添加网卡IP小工具 IIS7远程同步备份工具
IIS7网站监控 站群批量SEO查询 批量获取排名域名 批量关键词排名查询 模拟各种蜘蛛 批量友情链接监测 批量检测死链 搜索引擎大全 批量查询外链
批量查询网站标题 批量查询KeyWords 批量查询描述 批量查询网站IP 批量百度收录查询 批量查询百度日收录 批量查询百度周收录 批量查询百度月收录 批量查询360总收录 批量查询360日收录 批量查询网站年龄 批量查询360PC权重 批量查询爱站移动权重 批量查询站长移动权重 批量查询360移动权重 批量查询神马权重 批量查询谷歌PR 批量查询搜狗PR 批量查询百度反链 批量查询爱站首页反链 批量查询爱站内页反链 批量查询百度快照 批量查询搜狗快照 批量icp备案查询 批量网站ip地址查询 批量查询导出链接 批量查询百度V认证 批量查询百度安全 批量查询站长PC权重 批量查询爱站PC权重 批量查询搜狗总收录 站长资源大全 IIS7-cms大全 IIS7站群大全 IIS7虚拟空间大全 IIS7服务器大全 IIS7-VPS大全