windows下,想必大家都用过共享功能吧,的确很方便,直接把文件放在共享目录下即可。
那Linux下是如何实现这种共享功能呢?
其实共享也是一种通信的方式,若windows和linux之间通信,网上有很多通信软年,比如安装版SSH,不仅可以方便传送文件,同样还可以新建linux中终端,可以远程操作linux,并且这个samba服务器,windows则直接访问其ip地址即可。
samba这种实现通信的过程:linux安装samba服务器,windows直接访问期ip地址即可。【若需身份验证则验证,若无须则直接登录】
这篇博客主要介绍centos5.5下安装samba服务器过程。
我在linux演示时,发现网上资料都是先卸载,因为系统默认安装了,但是我安装的centos5.5,则发现真正的一个裸机。【嘻嘻】
那我就按照我自己的系统,进行一步步安装。
第一:安装samba服务器,需要相应的软件如下:
samba-3.0.33-3.28.el5.i386.rpm
samba-client-3.0.33-3.28.el5.i386.rpm
samba-common-3.0.33-3.28.el5.i386.rpm
注:若是版本不一致,也没有问题,比如你系统中是2.7,只要是这三个软件即可。
这三个软件,都在光盘中。我习惯的方式是copy,然后通过ssh传送到linux系统中,当然你可以使用挂载方式。
其中光盘centos目录默认提供了好多rpm软件包,比如上篇博客中提到的中文字体的软件包,直接从其目录下copy即可。
为了方便,可以点击
samba服务器软件下载。
注:在安装第一个软件时,一直安装失败,提示依赖关系,可以直接
rpm -ivhsamba-3.0.33-3.28.el5.i386.rpm-f --nodeps
第二:修改配置文件smb.conf
文件的目录:etc/samba/smb.conf
注:提前备份一份
然后把smb.conf内容全删除,改成如下:
[global]
workgroup = LinuxSir
netbios name = LinuxSir
server string = Linux Samba Server TestServer
security = user
[linuxsir]
path =/test/testSamba/linuxsir
writeable = yes
browseable = yes
guest ok = no
注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no
guest ok 匿名用户以guest身份是登录;
第三:新建共享目录并且授权
在第二步中,path是设置共享的目录,因此需要认为手动新建
root@localhost ~]# mkdir -p/test/testSamba/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir
第四步:启动samba服务器
Samba 有两个服务器,一个是smb,另一个是nmb smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问 而nmb
是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;
启动服务器的步骤:
直接输入两个命令即可。
[root@bogon ~]# smbd
[root@bogon ~]# nmbd
查看服务器是否已经运行:
[root@bogon ~]# pgrep nmbd
5097
[root@bogon ~]# pgrep smbd
5094
5095
关闭服务器:
[root@bogon linuxsir]# pkill nmbd
[root@bogon linuxsir]# pkill smbd
OK,把服务器启动即可。windows即可访问了。
windows在运行窗口中输入:
其中:直接手动敲入ip或主机名即可。linux自动把共享目录显示。
注:若链接不上,在服务启动的前提下,检查samba服务器中的端口是否测通,或者因为防火墙而阻塞。
检查samba服务器的端口:
[root@bogon linuxsir]# netstat -tlnp | grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 13318/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 13318/smbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 13318/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 13318/smbd
使用上篇博客中提到的方法telnet,测试这两个端口是否测通。
若不通,则把防火墙关闭或更改配置文件。【
具体在上篇博客中】
并且因为smb.conf配置文件中writeable是可写,因此windows有可写的权限,权限的配置在此文件中配置即可
然后测试使用user方式,连接时,需要用户名和密码
创建用户和密码:
[root@bogon samba]# useradd samba
[root@bogon samba]# passwd samba
给用户设置samba密码:
[root@bogon samba]# smbpasswd samba
启动samba服务器,测试
service smb start,启动
service smb stop,停止
service smb restart,重启
windows链接时,有点慢:
然后输入linux中的设置的用户名和密码即可访问。