标签:
Samba,共享
目的:
Linux主机和windows主机互访(在linux机器上建立samba服务器实现和windows的共享)
环境:
本人所使用的系统是centos的,以前我经常使用RHEL(redhat)这两个都一样,windows主机可以使windowsxp或server版本的都可以。保持两台机器可以相互访问。
步骤:
1、 首先检查网络的连通性(可以使用ping命令)
2、 在linux上安装samba的软件

利用linux的samba服务实现和windows共享文件_共享

其中必须安装的是samba-3.0和samba-common这两个软件。
3、 创建用于共享时使用的账号
使用useradd命令创建本地账户;再使用smbpasswd命令修改创建的账户密码。
   创建或查看用于共享的目录,*特别注意权限。*
[root@localhost~]#groupadd www
[root@localhost~]#useradd -g www www
[root@localhost~]#mkdir  /aa
[root@localhost~]#chmod 777 /aa
[root@localhost~]#mkdir  /aa/wwwdir
[root@localhost~]#chown -R www:www /data0/htdocs/
[root@localhost~]#chmod 777 /aa/wwwdir

 
[root@localhost~]#mbpasswd.sh> /etc/samba/smbpasswd 在/etc/samba目录下原本是没有smbpasswd文件的,使用该命令可以生成这个smbpasswd文件
4、 配置samba服务 在配置服务文件前一定要做个备份。我直接重新建立了一个配置文件
配置文件如下

利用linux的samba服务实现和windows共享文件_共享_02

注释:[global] 全局定义
      Server string 描述(可省略)
      Security 定义安全级别
      Encrypt password和smbpasswd file 指明加密的密码文件。
      [share] 定义共享的名字,在访问的时候用到的名字
      Cmment 描述
      Workgroup和netbios name定义访问该目录的用户名字。
      Browseables和writeable 定义用户访问该目录的权限
5、好后重启smb服务,并加到开机启动项中

利用linux的samba服务实现和windows共享文件_samba_03

5、 这个时候可以查看一下状态

利用linux的samba服务实现和windows共享文件_samba_04

本机可以看到了,基本上没什么问题了。但是最大的问题也是最容易忽视的问题出现了
 @看防火墙是否被拒绝
[root@localhost~]# iptables –nL
 @看selinux是否比较严格
[root@localhost~]# getenfore 查看状态
 @看samba服务器本身的服务限制

利用linux的samba服务实现和windows共享文件_共享_05

   以上三点非常重要!!!!
6、 修改以上三个安全级别的参数 这里我只修改一个
[root@localhost~]# setsebool sambe_enable_home_dirs on

利用linux的samba服务实现和windows共享文件_共享_06

以上都做完后开始验证或使用
使用或验证:
方法一:打开【我的电脑】在地址栏输入(如下)或在【开始】【运行】输入
\\192.168.59.130\share   \\ip或服务器名字\共享目录的名字, 这里不是共享的路径名字

利用linux的samba服务实现和windows共享文件_samba_07

利用linux的samba服务实现和windows共享文件_samba_08

可以在cmd命令提示符下查看或结束这个链接的状态。如下

利用linux的samba服务实现和windows共享文件_共享_09

方法二:使用网络驱动器 右击【我的电脑】

利用linux的samba服务实现和windows共享文件_samba_10

输入盘符和地址名

利用linux的samba服务实现和windows共享文件_samba_11

\\192.168.59.130\share    *这里输入共享名不是共享的路径名*
 

利用linux的samba服务实现和windows共享文件_共享_12

利用linux的samba服务实现和windows共享文件_samba_13

 
经验的收获:
以上的服务器的搭建很简单,但是我们有好多东西需要养成习惯和经常用到的。比如
1、 配置某个服务的配置文件前,一定要备份后。然后在进行配置,以免忘记本来面目
2、 这个服务涉及到了权限问题。文件夹或目录的权限(特别是网络服务,比如ftp,http等)有好多因素决定,要综合考虑用户的权限。既要考虑到smb服务本身的权限又要考虑到目录本身的权限,两者并集才是最终用户可以使用的权限。
3、 对于某个服务一定要检查是否加载到开机启动中。如果机器重启sshd服务没有被加载你就只好到机房去解决了
4、 对于安全而言,大家都说linux没认去攻击所以说比较安全。但是最安全的还是体现在他的本身机制方面。可以看到以上例子。除了smb服务可以拒绝某个主机、某个用户、某个目录之外。Selinux和iptables都受到一定的干扰。
5、 再者就是修改ip问题,虽然这里没提到不过我还是要提一下。修改ip很简单,但是我们不了解他的原理即使改过后也于事无补。比如要做到永久修改(直接改配置文件)而且使用ping命令可以通。主机名和ip地址需一一对应(严格意思上)ping主机名会得到ip地址。
6、 ………………