linux学习笔记之samba       

    samba服务器用于提供网络内的windows操作系统和linux之间的文件共享服务的,同时也提供打印机共享服务是。它通过NETBIOS和SMA这两个协议在TCP/IP通信协议上运行。
   实验环境:windows xp+VMware 6.0
+red hat 企业版 5.5

                     win xp ip address:192.168.1.5

                     red hat  ip address:192.168.1.2 

1,搭建实验环境

       在虚拟机设置网络为桥接并上安装red hat 5.5(安装步骤略)。安装完成后设置主机名为samba和其他服务器分开。具体设置文件:/etc/hosts、/etc/sysconfig/network。经其中的主机名该为samba.liran.com.重启生效。

     进入终端后,运行ifconfig查看ip是否启用.启用的话,运行PING 192.168.1.5查看linux系统是否能够与windows进行通信。没有启用的话,ifconfig eth0 192.168.1.2 netmask 255.255.255.0配置网卡ip(重启后失效)。要像永久有效的话,将网卡信息写入到/etc/sysconfig/network-script/ifcfg-eth0文件中,在文件中添加BOOTROTO:static      IPADDR:192.168.1.2   NETMASK:255.255.255.0  ONBOOT: yes保存退出(重启生效)或者ifconfig eth0 down;ifconfig eth0 up。

2,linux中windows共享目录的访问。

     在终端中运行rpm -qa|grep samba查看系统的安装包。可以到到安装了samba-client和samba-common2个RPM包。现在我们可以进行测试:在windows中建立一个共享目录:share再在其中建立一个文件。现在我们在linux主机中使用:smaclient -L 192.168.1.5查看共享目录可以看到列表中出现了share目录。在运行:smbclient  //192.168.1.5/share -U username=administrator进入到共享目录,现在在命令中输入help查看帮助命令。现在就可以在linux上访问windows上的共享目录了。或者在linux中将windows中的共享目录挂载到linux上。smbmount  //192.168.1.5/share /mnt -o username=administrator,现在就可以在/mnt目录下访问共享目录。很方便吧。

3,samba服务器的架设

      我们将安装盘挂载到/mnt/cdrom下:mount  /dev/cdrom  /mnt/cdrom下,进入到/mnt/cdrom/Server中,运行ls - a|grep samba查看samba的安装包。rpm -ivh samba-3.0.33-3.28.el5.i386.rpm提示安装成功后。在/目录下新建要共享的目录share。配置smb.conf文件(该文件在/etc/samba/)。将文件中的global settings中的WORKGROUP = windows主机所在的工作组;将security=user改为security=share(允许匿名访问);在最后设置共享目录[share]在其中添加comments = share(描述) path=/share(绝对路径) public=yes(是否公开) guest ok=(允许匿名访问) writable =yes(可写)。保存退出。现在检查配置文件是否有误:testparm /ect/samba/smb.conf 确认无误后开启samba服务:service  smb  start。现在开始测试samba服务器。在windows中开始--运行中输入\\192.168.1.2就可以看到linux中的共享目录了。配置成功!呵呵

4,个人搭建服务器中碰到的问题总结

A,rpm安装的时候需要验证。第一次用--nodeps参数安装成功。第二次提示缺少perl convert asn1包,所以又在光盘中找到perl convert asn1包给装上了。在安装samba包成功

B,注意linux的安装中的selinux默认安装时强制的。可能对samba的访问造成影响。在/etc/sysconfig/下,将selinux中的SELINUX=PERMISSIVE改为SELINUX=disabled;

C,安装测试后发现在共享目录下没有写入的权限。可是我的配置文件中明明写了writable=yes开启了写入权限了。然后我返回linux中的根目录下查看ls-l share查看share文件的访问权限,发现我新建的share目录所属人和group为root,只用root有写权限,其他人只有读权限。所以用:chmod 777 share将share目录权限改为读写执行,这下OK了。问题解决。