知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

文件服务器SAMBA

发布时间:2014-09-05 17:03:52作者:知识屋

Windows网上邻居文件共享协议:
SMB/CIFS
SMB:服务信息块协议 Server Message Block
CIFS:通用Internet 文件系统 Common Internet FileSystem     
NETBIOS:
Windows主机名称解析
广播形式的名称解析   应用WINS加快名称解析
Linux和unix文件共享用:NFS
Samba :能在linux上模拟实现windows的SMB/CIFS ,NETBIOS协议,只要让linux、unix支持这三种协议,就可以在Linux、unix和windows之间文件共享
SAMBA:在linux上用软件的方式模拟实现提供SMB/CIFS,NETBIOS协议的,完全可以把linux冒充SMB/CIFS 或NETBIOS的客户端或服务器端。所以启动samba就可以实现在linux和windows的相互访问共享文件。还可以将linux做成windows 的域控。
在windows运行下用 netstat –an 查看netbios监听端口。
SAMBA进程:
 nmbd :提供NETBIOS文件解析;监听upd(137,138)tcp(139)
smbd: FILE sharing  文件共享 ;tcp(445)
默认不启动进程:
Winbindd 作为windows域的客户端使用的,绑定到windows的域环境里边,很少用。
samba配置文件
/etc/samba/smb.conf /etc/samba/*(其他文件)
启动samba服务需要脚本
/etc/init/smb.start
安装SAMBA
Yum install samba (注:yum源中必须要有samba安装包)
所有配置文件在/etc/samba下
Smb.conf 文件
#注释:纯粹注释
;注释:去掉;表示可以启用的选项
查看smb.conf配置选项
grep -v "^[[:space:]]*#" smb.conf | grep -v "^$" | grep -v "^;"
[global]全局配置段
Workgroup : 工作组
Server string : 注释信息
Security :  安全级别;
share 最低级别 ,允许匿名用户直接访问共享目录
user   每一个用户访问必须提供 账号和密码。
账号和密码是samba服务器本身定义成samba用户的账号和密码。
domain/server 用户的账号和密码通过第三方服务器集中账号验证
ads   域控制器,一般是主域控制器
passdb backend  使用那种方式放置密码
load printers 启动时是否加载打印机;
[global]   还可以定义访问控制列表
[homes] 配置每个用户通过samba访问家目录的
comment 说明信息
browseable 是否可浏览
Writable    (共享权限)是否可写入
[printer] 独立共享段
Comment 定义打印机
Path 打印池
 
[c_s] 自定义共享
[]括起来的是共享名
自定义共享
比如我们共享/share
打开Vim smb.conf
[tools] ( 共享名可以和共享目录名不一样)
comment=my Tools
path=/share   定义系统上共享的真正目录
browseable=yes
guest ok=yes 是否可以被来宾账号访问
writable=yes
write list=用户名 可写列表(在多户是指定只有某个用户有写权限)
write list=@或+组名(@或+ 表示组) 定义一个用户组有写权限
保存退出
testparm 测试samba主配置文件。
注:可以给samba服务设置两个不同网段的ip地址。
开启服务
Service smb start
开机自动启动
chkconfig smb on
查看端口
netsrtat –tnlp
samba的账号必须是系统用户,但密码不是同一个密码
将用户加入到samba
smbpasswd
-a 加入到samba
-s 从samba中删除用户
-d 临时禁用用户访问samba
-e 启用此用户
加某用户到samba
Smbpasswd –a 用户名
将linux 工作组改为和windows 相同的名字。
重启服务
Service smb resrart
在客户端访问samba服务器
在sabam服务器端改文件系统权限
setfacl –m u:用户:rwx /共享目录
     smbcilent :samba的专用客户端工具。用于访问查看通过samba协议共享的资源
smbcilent –L HOST (主机ip)
查看对方主机共享资源
smbcilent –L HOST (主机ip)–U username(用户名)   以某个用户查看某个主机的共享文件
在客户端访问主机共享资源
smbcilent //服务器ip/共享名 –U 用户名
定义服务共享资源只能被特定的客户端访问:
在Vim smb.conf找到访问控制列表hosts allow定义你打算允许开放的网络地址 。
启用时去掉;
如:hosts allow = 172. 192.168.12. 192.168.13.
    hosts allow = 172. 172.16.
保存退出
重启服务
另外,在客户端我们还可以把samba共享的目录直接挂载到本地使用, 不过挂载时要指定文件格式cifs。
mount –t cifs //IP/共享名 /挂载点 –o username=用户名
用户密码
查看挂载目录
samba还有基于图形界面软件samba-swat来配置samba的接口。samba-awat是基于web页面的, 自己是个web服务器,默认使用901端口。
安装samba-swat
yum install samba-swat
samba-awat是非独立守护进程,依赖于超级守护进程。
xinetd 超级守护进程
超级守护进程管理的非独立守护进程的配置文件
 /etc/xinetd.d
编辑awat
打开Vim swat
service swat
{
       port            = 901   端口
       socket_type     = strenm   表示tcp901端口
       wait            = no
      only_from       = 172.16.0.0./24 定义swat访问控制列表
         user            = root
         aerver          = /usr/sbin/swat
         log_on_failure += USERID
         disable          = no   不禁用swat
}
保存退出
所有的非独立守护进程都要靠超级守护进程代为管理。
启动swat
service xinetd start
查看901 端口
netstat –tnlp
然后就可以在浏览器上登录
 
 
 
 
本文出自 “星空夜雨” 博客

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜