windows和linux之间samba网络共享配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟机中的Linux与Windows文件共享互通--samba软件的配置
虚拟机中的Linux与Windows文件共享互通--samba软件的配置
2008-06-04 15:24
刚开始使用linux,很多功能不习惯,做仿真的时候还是喜欢先在windows下写好代码或者编辑好数据再放到FTP里面,再从linux下去下载,后来用得多了就觉得麻烦了,干脆搞个互通方便多了,花了我2个多小时才搞好,不知道这样算不算龊?
好了,先把我的经验介绍给大家..
介绍一下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
首先验证您的机器中是否已经安装samba
rpm -qa|grep samba,如果出现
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
那么恭喜你,你已经安装好了samba,如果没有以上那些东东,请安装,安装方法很简单,redhat
linux 9.0第一张光盘里就有//cdrom/RedHat/RPMS/
以下是我的详细安装过程
把第一张光盘放进光驱,他会自动挂接的,省得自己动手mount了
#cd /mnt/cdrom/RedHat/RPMS(主意大小写字母,否则会出错的啊)
#rpm -ivh samba-common-2.2.7a-7.9.0 (这个要先安装,安装的时候不一定要把后面的samba-common-2.2.7a-7.9.0全部写完,比如写到samba-c的时候,多按几次Tab键,很省事的哦)
#rpm -ivh samba-2.2.7a-7.9.0
#rpm -ivh samba-client-2.2.7a-7.9.0(客户端)
安装了以上的东西之后,基本上就可以了,但为了配置的方便以及利用REDHAT LINUX9.0新特性,我建议在安装以下两个东东redhat-config-samba-1.0.4-1,samba-swat-2.2.7a-7.9.0光盘里都有,其中redhat-config-samba-1.0.4-1在第一张光盘里,samba-swat-2.2.7a-7.9.0在第二张光盘里,安装方法和上面的一样了.
通过上面的简单介绍,我想你已经安装好了,试验一下
#rpm -qa|grep samba(这是什么含义应该知道吧,如果不知道,建议先学学LINUX的基本命令)
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-
swat-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
OK,安装成功!(建议,以上东西最好自己安装一次,系统上如果装的有,还是先卸载,这样,才能加深印象,如果卸载以后,安装出问题,可能是你没有完全卸载,解决方法要不继续查找卸载,要不强制安装)
配置samba
先去系统设置-》服务器设置-》服务——》把samba启动,并且把防火墙iptables关掉,
然后
第一步: 更改smb.conf
我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;
[root@localhost ~]# cd /etc/samba
[root@localhost samba]# mv smb.conf smb.confBAK
然后我们来重新创建一个smb.conf文件;
[root@localhost samba]#touch smb.conf
然后我们把下面这段写入smb.conf中;
[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share
[linuxsir]
path = /opt/linuxsir
writeable = yes
browseable = yes
guest ok = yes
注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LinuxSir
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;
guest ok 匿名用户以guest身份是登录;
第二步:建立相应目录并授权;
[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir
注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;
第三步:启动smbd和nmbd服务器;
[root@localhost ~]# smbd
[root@localhost ~]# nmbd
第四步:查看smbd进程,确认Samba 服务器是否运行起来了;
[root@localhost ~]# pgrep smbd
13564
13568
第五步:访问Samba 服务器的共享;
在Linux 中您可以用下面的命令来访问;
[root@localhost ~]# smbclient -L //LinuxSir05
Password: 注:直接按回车
在Windows中,您可以用下面的办法来访问;
//LinuxSir05/
在windows里面 错误!超链接引用无效。 的形式就可以访问了。
只要在原来的smb.conf的末尾
添加下面的几行就可以添加一个不用密码的共享目录了。
[linuxsir]
path = /opt/linuxsir
writeable = yes
browseable = yes
guest ok = yes
create mask =1600
directory mask= 1600
如果只能看见不能建立文件夹,就 chmod 777 /opt/linuxsir
7.4.2 创建与配置smbpasswd密码文件
在本章前面介绍到,在采用user工作模式的Samba服务器上发布共享资源后,客户端访问Samba服务器时需要提交用户名和密码进行身份验证。但是Samba服务器不是直接采用当前Linux系统中的用户账户数据库,而是有专门的账户系统,那就是账户文件/etc/Samba/smbusers和密码文件/etc/Samba/smbpasswd。但这两个文件在安装Samba服务器时不是默认创建的,需要根据自己的需要来手动创建。
那么如何建立Samba账户系统呢?方法有两种:一是直接从Samba服务器当前的Linux系统用户账户系统映射,二是使用smbpasswd命令手动创建。前者会把Linux系统中的用户账户系统(从/etc/passwd文件中)全部复制一份到对应的Samba服务器用户和密码文件中。后者比较灵活,可以只创建需要用于Samba服务器访问的用户,但所创建的用户必须是在Linux系统用户账户系统中存在的。
先介绍手动创建方式。在Samba服务器终端提示符下使用smbpasswd命令(详细选项通过--help选项可以查看)按以下格式创建Samba服务器用户:
1. smbpasswd -a 用户名
如要创建一个在Linux系统中已有的账户winda(如果所创建的用户名在当前Linux系统中不存在,则创建不会成功),则在终端提示符下输入以下命令:
1. smbpasswd -a winda
按提示两次输入账户密码(也必须与Linux系统中对应账户的密码完全一样)后即完成新的Samba账户的创建。整个过程如图7-16所示。用同样的方法创建其他所需的用户账户。在创建好第一个Samba服务器用户账户后即会自动生成/etc/Samba/smbusers和/etc/Samba/smbpasswd这两个文件,如图7-17所示。
图7-16 使用smbpasswd命令创建Samba服务
用户账户的过程示例
图7-17 创建好第一个Samba服务器账户后自动创建的两个文件
以上创建方法在仅需要创建比较少的用户时比较有效,如果用户比较多,这种方式显然不好用,工作量太大。这时可以通过使用/usr/bin/mksmbpasswd.sh脚本程序把/etc/passwd中的用户账户全部导入到etc/Samba/smbpasswd文件中,具体命令如下:
1. cat /etc/passwd | mksmbpasswd.sh>/etc/Samba/smbpasswd
再打开smbpasswd文件,可以看到,此时的用户账户密码是加密的(密码全部以X显示),如图7-18所示。这时,因为密码是加密的,不能直接在Samba服务器登录中使用,还需要使用smbpasswd命令为用户设置非加密密码,设置格式如下:
1. smbpasswd -s 用户账户
然后在下面两次输入密码即可。所
以总体来说,也比较麻烦,还得为用户一一设置密码。还是直接使用smbpasswd命令来创建用户吧。
(点击查看大图)图7-18 导入的smbpasswd密码文件