天天看点

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\共享名

继续阅读