linux 与WINDOWS搭建局域网
一步一学Linux与Windows 共享文件Samba (v02b)
作者:北南南北,正在增加中 需要您的参与;
来自:LinuxSirOrg
简介:本文只是讲一讲我们最常用的Linux与Windows共享文件,主要是为新手指一指路。如何建立最简单的Samba服务器,并讲述遇到问题应该从何处寻找解决方案;正在更新之中,希望您的参加 谢谢;
目录
0、架设Samba 服务器的前提;
01 查看文件内容和编辑文件的工具;
02 关于文件和目录相关;
03 用户和用户组相关;
04 进程管理;
1 Samba 简介
2 Samba 功能和应用范围
3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;
31 Samba 有两个服务器,一个是smbd,另一个是nmbd;
32 查看Samba 服务器的端口及防火墙;
33 查看Samba 服务器的配置文件;
34 Samba 在Linux 中的一些工具(服务器端和客户端);
35 在Linux 中的常用工具,Windows查看Linux共享的方法 ;
351 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;
352 在Windows中访问Linux Samba服务器共享文件的办法;
353 smbfs文件系统的挂载;
4 由最简单的一个例子说起,匿名用户可读可写的实现;
第一步: 更改smbconf
第二步:建立相应目录并授权;
第三步:启动smbd和nmbd服务器;
第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
第五步:访问Samba 服务器的共享;
5、复杂一点的用户共享模型(适合10人左右的小型企业);
51 共享权限设计实现的功能;
52 在服务器上创建相应的目录;
53 添加用户用户组,设置相应目录家目录的权限;
531 添加用户组;
532 添加用户;
533 添加samba用户,并设置密码;
534 配置相关目录的权限和归属;
54 修改Samba配置文件;
55 关于客户端访问;
551 Windows客户端访问;
++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++
0、架设Samba 服务器的前提;
Linux是一个多用户的操作系统,对任何服务器的架设与都用户、用户组及权限相关,这是操作的基础。Samba服务器也不例外,对这些知识的掌握也是极为重要的。在Windows系统上虽然也能架共享文件服务器,但它的权限控制实在令人不敢恭维。如果我们用Windows系统来架网络共享文件系统,就是点鼠标也能把我们点迷糊了。但在Linux中,我们可以轻松的改一改配置文件,不到几分钟就能建好自己的Samba服务器。哪个更容易,只有你知道;
对于Samba服务器的架设,有的弟兄简单的认为,只要把改一下配置文件,创建好相应的目录就行了。其实并不是这样的,还要深入的工作,比如目录的权限和归属,也就是说能让哪个用户和用户组有读写权。只有把配置文件和共享目录的权限结合起来,才能架好Samba服务器;
下面是常用的基础知识,我们在本文中所涉及的内容都可以在下面的列表中找到相应的解释;
01 查看文件内容和编辑文件的工具;
《Linux 文件内容查看工具介绍》
《文件编辑器 vi》
02 关于文件和目录相关;
《Linux 文件类型 及文件的扩展名》
《Linux 文件和目录管理之列出、删除、复制、移动及改名》
《Linux 文件和目录的属性》
《简述Linux文件搜索》
03 用户和用户组相关;
《Linux 用户(user)和用户组(group)管理概述》
《用户(User)和用户组(Group)配置文件详解》
《Linux 用户管理工具介绍》
《Linux 用户(User)查询篇》
04 进程管理;
《Linux 进程管理》
1 Samba 简介
Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;
我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。
Samba 用的netbios协议,如果您用Samba 不成功,
Linux与Windows 、Linux 和 Linux
2 Samba 功能和应用范围
Samba 应该范围主要是Windows和Linux 系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,没有必要用Samba,应该用NFS更好一点;
那Samba 能为我们提供点什么服务呢?主要是共享文件和共享打印机;
3 Samba 两个服务器相关启动程序、客户端及服务器配置文件等;
31 Samba 有两个服务器,一个是smb,另一个是nmb;
smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问
肯定访问不到,纳闷你都可以架设一个web服务器,连这点最基本的网络常识都不知道吗
建议你看一下CCNA之类的书,了解一下网络基础知识。
至于你的情况希望公网访问到内网的服务器,最常用的方法就是通过NAT网络地址转换。
你可以在公网接入处配置一个NAT端口转发,把公网访问80端口的数据转发到你内网
这台web服务器的80端口上。具体技术的实现自己百度以下NAT相关资料吧。
192168110 那种方式是局域网的ip地址。只适用于局域网内
你使用路由的话,应该是路由与外网相连,你的局域网内的红帽主机是没有公网IP的
但是如果你的路由拥有公网IP地址的话,还是能够连接的
一个方式是如果你的路由比较高级,有ssh服务器的话,那么你先ssh登录路由,然后在上面再使用ssh登录你的服务器。
另外还有一种方式是端口映射,把路由上的端口映射到局域网的服务器主机上的服务端口上。我没操作过,如果你需要的话就自己查方法吧。
如果没有公网ip的话,上面两种方式都是不可行的。
另外还有种方式,是通过中介来操作。比如即时聊天工具。 你在局域网内部的服务器上运行一个即时聊天的消息处理程序,获取来自管理员聊天帐号的消息,然后作为指令执行,再把输出结果通过即时聊天软件发送出去。这种方式不需要公网ip,但是借助了即时聊天的工具,而且发送的是明文,有安全风险,如果你的服务器只是用来玩的,倒还可以试试,不然就不推荐使用了。
要实现这种方式,只需要有一个能处理即时聊天服务的程序,据我所知,借助 IRC作为中介的即时聊天平台很简单,编程实现不复杂,另外使用Gtalk,飞信等等的开放协议的即时聊天工具也可以。 中介操作的方式还有邮件方式等,但是都不安全。
文件共享是重要的网络需求,特别在企业环境中这种需求显得非常迫切。我们知道Windows主机间的文件共享非常简单,可以通过网上邻居实现。但是企业环境中主机的操作系统比较复杂,其中不乏Linux、Unix这样的系统。那如何实现Windows与Linux之间的文件共享呢一个有效的解放方案是,在Linux平台上部署SAMBA即可实现此类共享需求。下面笔者搭建环境,实例演示在Linux中部署SAMBA的详细技术细节。
环境描述
Linux系统:Red Hat 90
Windows系统:Windows XP sp2
一、SAMBA服务部署
1、samba安装
(1)验证
samba是Linux系统集成的一个工具,在安装Linux的过程中用户可以选择安装。验证系统是否安装了samba可以通过如下命令进行查看:
[root@localhost root]# rpm -qa |grep samba
如果如下面所示,就说明已经安装了samba:
samba-swat-227a-790
samba-227a-790
redhat-config-samba-104-1
samba-common-227a-790
samba-client-227a-790
从图1可以看到笔者的Linux已经安装了samba。(图1)
(2)安装
如果上述命令没有任何显示,就说明没有安装。要安装samba非常简单。将RedHat 90的第一张安装盘放入光驱,系统会自动挂接。如果没有挂接可输入mount /mnt/cdrom进行挂载,然后按照下面的操作进行安装:
# cd /mnt/cdrom/RedHat/RPMS
# rpm -ivh samba-common-227a-790i386rpm
# rpm -ivh samba-227a-790i386rpm
# rpm -ivh samba-client-227a-790i386rpm
这样我们就安装好了samba,然后输入命令进行查看:
# ls /etc/samba
可以看到有三个文件分别为lmhosts、smbconf、smbusers。
(图2)
(4)下面需要配置smbusers文件,设置用户访问权限。用vi打开smbusers文件,然后将
root = administrator admin
nobody = guest pcguest smbguest
修改为
root = admin
gslw = 11
nobody = guest pcguest smbguest
保存并退出。
(图4)
配置完成后,我们输入命令testparm进行对samba配置文件的测试,如图5所示,测试正常。(图5)
3、创建共享文件夹
作为测试,我们运行命令mkdir /home/gslw创建共享文件夹,然后输入命令ls /home可以看到文件夹创建完成。
4、添加用户
要访问该共享文件夹,还需要添加用户。输入命令smbpasswd -a root,将root用户添加进来,并为其设置访问密码。同样的我们输入命令smbpasswd -a gslw,将gslw用户添加进来并为其设置密码。诸如此类,大家可以根据需要添加相应的用户。(图6)
5、设置权限
设置共享目录的访问权限,比如我们设置为完全控制可输入命令即可chmod 777 /home/gslw。权限设置完毕后需要重新启动服务,输入命令service smb restart即可。(图7)
6、访问测试
(1)linux访问
我们先在linux下访问SAMBA共享文件夹进行测试。输入命令smbclient //192168216133/gslw -U root
,然后输入密码可以看到访问成功。进入smb命令行,我们输入ls命令查看共享目录中的文件,当然也可以通过mkdir命令创建目录。然后用gslw登录samba服务器,可以利用ls查看共享目录中的文件,然后用mkdir创建文件夹,可以看到没有成功,这是因为我们在samba的配置文件设置了gslw用只有读权限,没有赋予其写权限。通过上面的测试,说明我们的samba服务器创建成功,在linux下访问成功。(图8)
(2)Windows XP访问
下面我们测试在XP中是否可以访问samba服务器中的共享文件夹。打开“我的电脑”,在地址栏中输入samba服务器的IP地址。我们输入\\192168216133回车后弹出登陆框,输入登录用户名admin密码test168,可以看到成功登录samba服务器,可以看到我们在samba的命令行下刚才创建的目录。(图9)
总结:Samba是一个网络服务器,用于Linux和Windows共享文件之用。上面演示的利用samba服务实现Linux与Windows直接的文件共享,涉及了samba的设置几个重要方面。其实,在实际应用中我们可以根据自己的需要进一步深入设置,只有把配置文件和共享目录的权限结合起来,才能使Samba服务发挥更大的作用。
首先配置一下网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth0(其中DEVICE=eth0 是设置那块网卡的、BOOTPROTO=dhcp的话就是自动获得ip,=static的话是静态ip,MACCADDR=00:0C:11:22:33:12 mac地址,如果BOOTPROTO设置dhcp的话 下面就不用配了,如果是static就要手动添加ip地址IPADDR=你要设置的ip NETMAST=子网掩码 GATEWAY=网关) 如果要连外网 还要设置一下dns ,vi /etc/resolvconf 添加nameserver= 你的DNS
应该可以帮到你 不行在找我
把所有电脑连起来,分配好IP,保证能相互Ping通。
用其中的一台做FTP服务器。比如win用ser-U,搭一个FTP的站就可以。最好装一个win2003的系统。
这样就可以用任何的机子直接连接FTP上传下载文件了。
匿名用户一般是映射到系统的ftp用户,用下面的命令查看ftp用户的家目录
cat /etc/passwd | grep ftp假设是在/var/ftp,需要赋予这个目录的写权限匿名用户才能写,最好是把拥有者直接赋予给ftp
chown ftp:ftp /var/ftp && chmod u+wx /var/ftp另外就是vsftpdconf的设置了,按照楼上fyzq2008说的设置就对了
0条评论