Samba


一:什么是Samba
  Samba是linux、UNIX与Windows之间进行交互操作的软件组件,它是基于GPL协议的自由开源软件,通过SMB/CIFS协议为支持该协议的操作系统提供安全、稳定、快速的文件与打印服务;

二:安装与配置
1.所需安装包
samba(服务器软件包)
samba-client(客户端软件包)
samba-common(公共软件包)
cifs-utils

2.主要程序
smbd:提供对文件及打印资源的共享访问
   监听端口 TCP 139  TCP 445
nmbd:提供基于NetBIOS协议的主机名解析
      监听端口 UDP 137  UDP 138

3.系统服务脚本
/etc/init.d/smb

4.主配置文件
/etc/samba/smb.conf
[global]   //定义全局策略
    workgroup = MYGROUP  /工作组名称
    server string = samba server version /服务器描述
    security = user   / 重要!!!默认使用的安全级别(share:匿名共享  user:用户认证)
    passdb backend = tdbsam  /账户与密码存储方式

[homes]      //共享名称
    browseadble = no  //共享目录是否可以被浏览
    writable = yes  //共享目录是否可以进行写操作

[printers]   //打印机共享 
        comment = All Printers  //共享描述信息
        path = /var/spool/samba  //打印机共享池
        browseable = no    //是否所有人可见
        guest ok = no     // 是否允许匿名访问
        writable = no    //
        printable = yes   //


[baitao]   //自定义共享名 
comment = this my love  //描述
path = /usr/src  //共享目录
public = yes   //是否所有人可用,等效于getst ok
writable = yes  //是否可写,与read only = yes作用相反


5.配置文件检查工具
testparm




三、验证
1.查询
smbclient -L 服务器IP
2.连接
smbclient //服务器地址/共享名
smbclient -U 用户 //服务器地址/共享名
3.挂载
mount [-t cifs] //服务器IP/共享名 挂载点
mount -o username=用户,password=密码 //服务器IP/共享名 挂载点

.
四.安全
1.验证登录
共享账号
新建共享账号时,必须先有同名的系统账号
共享账号的密码是独立的
访问共享时以共享账号/密码登陆、权限取决于对应的系统账号
默认使用TDB数据格式
存放位置:/etc/samba/passdb.tdb

valid users = 用户,用户  //共享账号列表
write list = 用户,用户  //哪些用户有写的权限
directory mask = 0755  //上传文档的默认权限
create mask = 0644

pdbedit [选项]... [共享账号名]
-a:将指定的系统用户添加为共享账号
-L:查看共享账号信息
-x:删除指定的共享账号
若要重高密码,可执行smbpasswd 用户名

2.账号别名映射
在全局中添加以下语句
username map = /etc/samba/smbusers
vim /etc/samba/smbusers
liufu = baitao


3访问地址限制
多用在[global]全局配置
hosts allow = 客户机IP
hosts deny = 客户机IP
注:以空格分隔多个地址
如,允许网段192.168.4.0/24 、10.0.0.0/8访问
hosts allow = 192.168.4. 10.


五.注意事项
1.使用匿名登录时,不要输入密码,直接回车确认
windows
\\服务器IP\共享名

你可能感兴趣的:(samba)