网络共享服务(三)之SAMBA

samba: 早期名为smb, 全称为Service Message Block,后改名为samba,监听在 137/udp, 138/udp, 139/tcp, 445/tcp,可以跨平台实现数据共享,还能挂载远程目录到本地目录

  CIFS: Common Internet File System,Windows各主机之间共享文件系统的协议,类似于linux上的nfs

  NetBIOS: Windows基于主机名实现互相通信的机制;只截取15个字符的主机名

samba在linux上实现三种服务: 默认启用前两个服务

  nmbd: 实现netbios协议

  smbd: 实现cifs协议

  winbindd: 实现让samba工作后能够将linux加入到ad域(活动目录中)

一、CentOS6位客户端,Windows为服务器端

1.服务器端操作

 创建共享目录
    新建文件夹test
    点选工具 --> 文件夹选项 --> 查看 --> 取消使用简单文件共享 --> 应用 --> 确定
   右键test文件夹 --> 共享和安全 --> 选中共享此文件夹(可以修改共享文件名,比如这里设为tools,下面会用到) --> 权限 --> 添加 --> 选中test用户 --> 确定 --> text的权限可以勾上读取和更改 --> 确定
      windows添加用户:右键我的电脑 --> 管理 --> 本地用户和组 --> 用户 --> 右键空白区域新增用户(比如test用户)

2. 客户端操作

安装samba客户端 

yum list samba-client*    //查看samba相关安装包,默认已安装客户端samba-client

3. 客户端访问服务器端数据

 3.1. 交互式数据访问:

客户端以test用户连接服务器

samblient -L HOST -U USERNAME
  # smbclient -L 192.168.1.301 -U test  //192.168.1.301为windows服务器ip, test为登录用户名

获取到共享信息后,连接共享文件夹

 smbclient //SERVER/shared_name -U USERNAME  //UNC路径: \\SERVER\shared_name
  # smbclient //192.168.1.301/tools -U test

连上后打开一个类似于ftp的客户端工具

smb:\> 

 测试上传数据到服务器

smb:\> lcd /etc
smb:\> put fstab

  3.2. 基于挂载的方式访问

挂载到/mnt目录下 

mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
  # mount -t cifs //192.168.1.301/tools /mnt -o username=test

访问数据

 ls -l /mnt  //windows上的文件默认都有执行权限 

二、以CentOS6为服务器端,windows作为客户端

1.服务器端操作:

安装samba

  # yum -y install samba
samba相关文件组成:
  服务脚本:
   /etc/rc.d/init.d/nmb   /etc/rc.d/init.d/smb
  主配置文件:
    /etc/samba/smb.conf
  samba用户:  
    账号:都是系统用户,/etc/passwd
    密码:samba服务自有密码文件
    将系统用户添加为samba用户的命令:
       smbpasswd:
          -a Sys_User:添加系统用户为samba用户
          -d: 禁用指定用户账号
          -e: 启用指定用户账号
          -x: 删除指定用户账号

修改工作组

# cd /etc/samba
# vim smb.conf
  修改workgroup = WORKGROUP  //windows工作组默认为workgroup,CentOS工作组默认为mygrop

添加系统账号

# useradd smbuser1  //添加系统账号
# smbpasswd -a smbuser1  //将smbuser1密码添加到smbuser1账号中

测试

客户端windows系统连接服务器:
\\192.168.1.104\ 输入用户名和密码 登录到用户的家目录

三、多个用户账号登录同一个共享目录

1.服务器端操作:

编辑samba配置文件: /etc/samba/smb.conf

# vim /etc/samba/smb.conf 

 最后一行添加自定义共享:

 [shared_name]
  path = /path/to/share_directory  //共享文件路径
  comment = Comment String      //注释信息
  guest_ok = {yes|no}  //是否允许来宾账号访问
  public = {yes|no}  //是否允许公开
  writable = {yes|no}  //是否可写
  read only = {yes|no}  //是否只读
  write list = +GROUP NAME  //哪些组中用户可写

 比如: 

[shared]
        comment = My Shared Testing.
        path = /shared/samba
        guest_ok = yes
        writable = yes

创建共享目录:

# mkdir /shared/samba
# ls -ld /shared/samba  //smbuser1没有写权限
# setfacl -m u:smbuser1:rwx /shared/samba  //设置smbuser1用户能读能写能执行

测试语法:

# testparm

 重启服务:

# service nmb restart;service smb restart;

2. 客户端操作

安装samba客户端:

# yum -y install samba-client

连接服务器:

# smbclient //192.168.1.104/shared -U smbuser1

 3. 测试

客户端连接完服务器后,打开一个类似ftp的客户端:

smb:\> lcd /etc
smb:\> put fstab  //成功上传

 四、samba图形化工具: samba-swat

安装samba-swat

# yum install samba-swat -y

工具介绍:

这个工具是基于web服务提供图形界面,它自己提供了web服务器,以超级守护进程xinetd代为管理,在/etc/xinetd.d目录下有个文件swat

 打开swat文件

# vim swat
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
#              to configure your Samba server. To use SWAT, \
#              connect to port 901 with your favorite web browser.
service swat
{
        port            = 901  
        socket_type     = stream
        wait            = no
        only_from       = 127.0.0.1  //这里改为192.168.1.0/24
        user            = root
        server          = /usr/sbin/swat
        log_on_failure  += USERID
        disable         = yes  //改为 no
}

 重启xinetd服务

# service xinetd restart 

 测试:

  浏览器输入: 192.168.1.104:901

猜你喜欢

转载自www.cnblogs.com/ckh2014/p/10806027.html
今日推荐