Linux网络服务之Samba文件共享

Linux网络服务之Samba文件共享

            Samba 是Linux,unix与Windows之间进行交互操作的软件组件,Samba是基于GPL协议的自由开源软件。自从1992年以来,Samba开始SMB/CIFS协议为Windos,os/2,linux以及其他支持该协议的操作系统提供安全,稳定,快速的文件与打印服务,在使用winbind将Linux/UNIX无缝整合到活动目录环境时,Samba也是一个重要组件。

 

所需软件: Samba(服务器软件包) Samba-client(客户端软件包)和Samba-common(Samba公共文件软件包)。启动Samba由smbd和nmbd两个守护进程组成,两个进程的启动脚本是独立的。

sambd服务进程是为客户端提供文件共享与打印机服务,另外该进程还负责用户权限验证及锁功能,Samba默认监听的端口是TCP协议的139与445,Samba通过smb服务启动smbd进程,使用netstat -nutlp查看进程端口信息

nmbd 进程提供NetBIOS名称服务,以满足基于common internet file system (cifs)协议的共享访问环境。Samba通过nmb服务启动nmbd进程,该进程默认使用的是udp 137端口。

 

iptables与selinux默认策略会阻止远程用户对Samba的访问。

 

配置Samba服务器

  yum  -y  install samba

servicd smbstart

chkconfig smb on 

创建共享目录,设置目录权限

mkdir   /common

chmod  777  /common

修改配置文件

如果希望Samba服务可以共享指定目录给客户端,就需要在其配置文件中写入目录共享的代码段,Samba默认配置是/etc/samba/smb.conf。默认情况下,Samba已经配置为允许用户通过远程共享访问账户自己的家目录。

例:共享/common目录

[common]                           #共享名称为common

comment=common share     #共享注释

path=/common                  #指定共享路径

browseable=yes                 #所有人可见

guest  ok=no                    #拒绝匿名访问

writable=yes                     #支持写入数据

配置/etc/samba/smb.conf

通过对smb配置文件进行修改,可以将samba配置为一台匿名文件服务器,基于账户的文件服务器或打印服务器,默认情况下samba会开机本地账户家目录共享与打印机共享,配置文件中以#或;开头的行为为注释行,配置文件分为若干段,除了global(全局配置段)之外其余所有端均用来描述共享资源,全局段中的配置代表全局有效,是全局的默认设置。如果全局段中的设置项与共享段中的设置项有冲突,则共享设置段中的设置为实际有效值。

创建访问帐号

客户端访问Sanba共享是所使用的账户名称就是服务器端操作系统中的真实存在的系统账户名称,但是不同于微软的共享设置,访问Samba共享的密码必需是独立密码,而不可以使用系统密码,这样即使有人获得了Samba账户和密码,也不能使用这些信息登录服务器本地的操作系统。所以成功访问Samba服务器还需要使用smbpasswd将系统账户添加到Samba,并设置相应的密码,centos6中系统自带的Samba软件包安装后,默认会将账户与密码文件存放在/var/lib/samba/private目录下。

useradd -s /sbin/nologin smbuser

smbpasswd -a smbuser  

smbpasswd  -a  添加账户并设置密码

                  -x  删除smb账户

                 -d   禁用smb账户

                -e   启用SMB账户

 访问Samba共享

  Windows客户端访问:开始-运行-  \\192.168.19.129 --输入账户密码

  Linux客户端访问: smbclient -L //192.168.19.129   查看Samba主机共享信息(查看不需要密码直接回车即可)

                           smbclient -U smbuser //192.168.19.129/common  (访问共享目录)

                           登录后  ls命令可以查看目录内容,help命令可以查看帮助,quit命令可以退出

需要在客户端上安装  samba-client软件包

也可以将Samba共享目录挂载到本地文件系统   mount -t cifs  //192.168.19.129/common  /     username= lee, password=123

实现开机自动挂载    echo "//192.168.19.129/common   /common     cifs   defaults, username=smbuser,password=123  0 0     /etc/fstab"  

也可以使用图形界面(通过nautilus-connect-server)                                                     

 

 

 

 

          

 

 

 

 

 

 

 

 

 

 

 

     

posted @ 2014-03-14 20:13  DylanLee  阅读(399)  评论(0)    收藏  举报