标签:
Samba,共享
目的:
Linux主机和windows主机互访(在linux机器上建立samba服务器实现和windows的共享)
环境:
本人所使用的系统是centos的,以前我经常使用RHEL(redhat)这两个都一样,windows主机可以使windowsxp或server版本的都可以。保持两台机器可以相互访问。
步骤:
1、 首先检查网络的连通性(可以使用ping命令)
2、 在linux上安装samba的软件
其中必须安装的是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服务 在配置服务文件前一定要做个备份。我直接重新建立了一个配置文件
配置文件如下
注释:[global] 全局定义
Server string 描述(可省略)
Security 定义安全级别
Encrypt password和smbpasswd file 指明加密的密码文件。
[share] 定义共享的名字,在访问的时候用到的名字
Cmment 描述
Workgroup和netbios name定义访问该目录的用户名字。
Browseables和writeable 定义用户访问该目录的权限
5、好后重启smb服务,并加到开机启动项中
5、 这个时候可以查看一下状态
本机可以看到了,基本上没什么问题了。但是最大的问题也是最容易忽视的问题出现了
@看防火墙是否被拒绝
[root@localhost~]# iptables –nL
@看selinux是否比较严格
[root@localhost~]# getenfore 查看状态
@看samba服务器本身的服务限制
以上三点非常重要!!!!
6、 修改以上三个安全级别的参数 这里我只修改一个
[root@localhost~]# setsebool sambe_enable_home_dirs on
以上都做完后开始验证或使用
使用或验证:
方法一:打开【我的电脑】在地址栏输入(如下)或在【开始】【运行】输入
可以在cmd命令提示符下查看或结束这个链接的状态。如下
方法二:使用网络驱动器 右击【我的电脑】
输入盘符和地址名
经验的收获:
以上的服务器的搭建很简单,但是我们有好多东西需要养成习惯和经常用到的。比如
1、 配置某个服务的配置文件前,一定要备份后。然后在进行配置,以免忘记本来面目
2、 这个服务涉及到了权限问题。文件夹或目录的权限(特别是网络服务,比如ftp,http等)有好多因素决定,要综合考虑用户的权限。既要考虑到smb服务本身的权限又要考虑到目录本身的权限,两者并集才是最终用户可以使用的权限。
3、 对于某个服务一定要检查是否加载到开机启动中。如果机器重启sshd服务没有被加载你就只好到机房去解决了
4、 对于安全而言,大家都说linux没认去攻击所以说比较安全。但是最安全的还是体现在他的本身机制方面。可以看到以上例子。除了smb服务可以拒绝某个主机、某个用户、某个目录之外。Selinux和iptables都受到一定的干扰。
5、 再者就是修改ip问题,虽然这里没提到不过我还是要提一下。修改ip很简单,但是我们不了解他的原理即使改过后也于事无补。比如要做到永久修改(直接改配置文件)而且使用ping命令可以通。主机名和ip地址需一一对应(严格意思上)ping主机名会得到ip地址。
6、 ………………