linux与windows共享资源【smb】由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“linux下smb服务器架设”。
学习总结
分类:linux
Smb Smb是实现linux和windows互访的一座桥梁,所以就先让我们来了解一下什么是smb,它的主要功能,通过smb实现共享的方法及配置。在最后我们还介绍了怎样使用mount命令来挂载windows共享目录。一. 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服务器的启动及服务器配置文件
2.1Samba 有两个服务器,一个是smb,另一个是nmb;
smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;
而nmb 是解析用的,它把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来。如果不打开nmb服务器的话,只能通过IP来访问,也就是说在windows的IE浏览器中输入linux计算机的ip才能访问,例如:192.168.0.1test,而输入linux的计算机名却不能进行访问,比如:wangyhtest。
作者:杨新建
日期:2009-8 学习总结
分类:linux 所以在安装完samba服务器后必须启动smb的服务。下面是启动、查看、关闭smb服务器的命令 1.一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba,一般可以通过如下的方式来启动Samba服务器;
[root@localhost ~]# /etc/init.d/smb start 2.对所有linux系统来说,通用的方法就是直接运行smb 和nmb;进入终端在root权限下把samba所在的目录敲到命令行里即可,但是您要知道smb和nmb所在的目录;如果是自己编译的Samba,其存放的目录您应该知道;
例如:samba所在的目录为 /usr/sbin/smbd(nmbd),启动smb输入如下: [root◎wangyh:/home/wangyh]#/usr/sbin/smbd [root◎wangyh:/home/wangyh]#/usr/sbin/nmbd 3.启动完后还要检查一下samba服务器是否运行起来,查看命令如下: [root◎wangyh:/home/wangyh]#/pgrep smbd [root◎wangyh:/home/wangyh]#/pgrep nmbd 4.关闭smb服务器,命令如下: [root◎wangyh:/home/wangyh]#/pkill smbd [root◎wangyh:/home/wangyh]#/pkill nmbd 2.2 smb的配置文件及服务器端和客户端的工具
1.如果我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是 smb.conf;也有用户配置文件 smbpawd、smbusers和lmhosts等;还有一个文件是secrets.tdb,这个文件是Samba 服务器启动时自动生成的; 2. 在smb服务器中几个主要常用的服务器端工具为smbd、nmbd、smbpawd;客户端为smbmount(在ubuntu l 6.06的内核中没有smbmount,所以它不支持这个命令,但可以用mount 加参数的形势来实现挂载),smbclient等。
作者:杨新建
日期:2009-8 学习总结
分类:linux 2.3 实现 ubuntu linux 6.06 与windows系统的互访
1####Windows 2000/xp/2003访问ubuntu linux 系统(已测试)
第一步:安装samba,smbclient,smbfs 命令: [root◎wangyh:/home/wangyh]# apt-get install samba [root◎wangyh:/home/wangyh]# apt-get install smbclient [root◎wangyh:/home/wangyh]# apt-get install smbfs 第二步:更改smb.conf 文件
对于新手来说在改之前最好将smb.conf文件进行备份。修改smb.conf文件用vi 或gedit命令都可以,如下所示: [root@wangyh:/home/wangyh]# vi /etc/samba/smb.conf [root@wangyh:/home/wangyh]# gedit /etc/samba/smb.conf 在[global]这段中修改的内容如下: 在[global]下面加入 两行 doc charset=UTF-8 unix charset=UTF-8
//
//在Windows中显示的工作组; //在Windows中显示出来的计算机名; workgroup = sharewgq netbios name = shared
server string = Linux Samba Server TestServer //在Windows中显示的名称 security = share //验证方式:开放权限,验证用户名和密码为: = user
在下面添加一行 netbios name=wangyh(这里填本机的计算机名)
找到pawd program行将其改为 pawd program=/etc/samba/smbpawd 找到 security行将其改为 security=user 找到[homes]段修改内容如下
作者:杨新建
日期:2009-8 学习总结
分类:linux browseable=yes writable=yes 如果我们想在文件中创建共享文件夹,我们只需要在后面写入段
#### [media]
//共享文件名称 //共享文件夹路径
//是否浏览,在工作组下能否能看到共享文件夹 //在网上邻居中显示)//目录操作权限 是否可写 path=/home/apache/media browseable=yes public=yes writable=yes
##### 当然在ubuntu linux系统中点击系统->系统管理->共享文件夹,在这里选择共享的文件夹也是可以,设置完后,系统自动将你所设置的共享信息写入smb.conf文件中。注解:
workgroup 就是Windows中显示的工作组;
netbios name 就是在Windows中显示出来的计算机名;
security 这是验证和登录方式,这里我们用了user ;验证方式有好多种,这是其中常用的一种;一种是share的验证方式,这种方式就是不用设置用户和密码了,但这种方式的安全级别很低,一般我们不采用这种方式;还有一种是server,server模式要求用户的认证由Samba服务器或NT服务器来完成。
Browseable为是否可以浏览,browseable=yes,为可浏览,我们在工作组下就能看到共享文件夹。如果您browseable=no,那末文件夹在工作组中就不显示。
writeable 为是否可写,这里我设置为可写;
第三步:添加smb用户,并设置linux用户密码[若校验方式为share,则不需此步骤] 这里要注意的是在添加smb用户之前,必须将其添加成ubuntu linux 用户,命令如下:
日期:2009-8 作者:杨新建 学习总结
分类:linux 添加成linux用户
adduser –a heqing(heqing为用户名)enter new UNIX paword:***** retype new UNIX paword:***** 剩下的项按提示输入即可
添加成smb用户,并设置smb密码
smbpawd -a heqing(已存在的linux用户)NEW SMB pawd:****** Retype NEW SMB pawd:****** 添加成功
最后要说明的是heqing用户的linux用户密码可以与smb密码不相同
第四步:设置windows客户端 基本完成上面的配置后windows就可以访问ubuntu linux系统中的共享文件夹了,如果windows 在网上邻居或通过IE看不到的话,要查看两点
在windows终端ping ubuntu linux系统的主机ip,如果可以ping通,看下一条。 查看windows防火墙中是否禁止其他计算机访问本机或是否允许ping入。
如果可以,再看下一条。
查看windows 用户设置中的guest用户是否禁用,如果禁用,将其解除即可。通过以上设置在windows计算机的网上邻居或IE都可以看到ubuntu linux系统的共享文件,并可以对其修改,粘贴新文件,复制原有文件等。
2#####Ubuntu linux 系统访问windows xp/2003/2000系统 在我的测试过程中,实现ubuntu linux系统访问windows系统的方式有3种,我将这几种方式说明如下:
作者:杨新建
日期:2009-8 学习总结
分类:linux 第一种:用smb访问 如 果在ubuntu linux系统终端ping windows主机的ip地址可以ping通,且windows计算机中有共享的文件夹,则打开位置下的网络服务器,点击界面中windows网络->workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb的用户名和密码输入就可以进行访问。
第二种:用ubuntu 系统自带的连接到服务器功能访问 在位置中启动连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷。我们可以像访问ubuntu系统中的磁盘一样来访问它,同样在访问的时候要输入smb的用户名和密码。
第三种:用mount’挂载windows的共享目录到本地磁盘
首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 以windows的ip为192.168.0.1,共享文件夹为share为例 命令如下:
mount -t smbfs –o username=wangyh,paword=123456 //192.168.0.1/share /mnt/wind 有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 mount-o smbfs-o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,paword=123456 //192.168.0.1/share /mnt/wind 注解:usename和paword都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 第四种:使用smbclient 命令 命令如下:
作者:杨新建
日期:2009-8 学习总结
分类:linux smbclient –L //192.168.0.1/share -U wangyh paword:输入smb用户wangyh的密码
回车就可以用,用命令get下载文件,用put上传文件。注解:
smbclient介绍: 命令 说明
?或help [command] 提供关于帮助或某个命令的帮助
![shell command] 执行所用的SHELL命令,或让用户进入 SHELL提示符 cd [目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录
lcd [目录] 切换到客户端指定的目录; dir 或ls 列出当前目录下的文件; exit 或quit 退出smbclient get file1 file2 从服务器上下载file1,并以文件名file2存在本地机上; 如果不想改名,可以把file2省略
mget file1 file2 file3 filen 从服务器上下载多个文件; md或mkdir 目录 在服务器上创建目录 rd或rmdir 目录 删除服务器上的目录
put file1 [file2] 向服务器上传一个文件file1,传到服务器上改名为file2; mput file1 file2 filen 向服务器上传多个文件 第五种:使用smbmount命令【已验证】
smbmount
//192.168.50.173/work_forlinux
/home/apache/media/50173/
-o
username=50173,paword=123456 , rw 注释:
//192.168.50.173/ work_forlinux
//windows共享的IP //windows共享的目录
//linux本地挂载的目录
//挂载参数,-o 开头,参 /home/apache/media/50173/
-o
username=50173,paword=123456 , rw 数中间用“,”分开,具体参见smbmount命令
作者:杨新建
日期:2009-8 学习总结
分类:linux linux文件系统互访【nfs】
服务端
1、系统要求
除了前面已经提到的两个系统守护进程portmap与nfs-utils之外,内核(Kernel)版本最好高于2.2.18。此外,如果重新编译过内核,一定要选择支持NFS。2.etc/exports
3、激活服务portmap和nfsd 【service nfs
restart】
4、查看服务
[root@netvideo ~]# pstree|grep nfs
|-8*[nfsd]
# /etc/rc.d/init.d/portmap start # /etc/rc.d/init.d/nfs start
编辑 /etc/exports文件:
[root@NVS-6021 home]# cat /etc/exports
/home/work 192.168.70.180(rw,no_wdelay,sync)【注意:】 IP与(rw,no_wdelay,sync)之间一定不能有空格
客户端
1、配置 vi /etc/fstab [root@localhost bin]# cat /etc/fstab # This file is edited by fstab-sync-see 'man fstab-sync' for details LABEL=/
/
ext3
defaults
1 LABEL=/boot
/boot
ext3
defaults
none
/dev/pts
devpts gid=5,mode=620 0 0 none
/dev/shm
tmpfs
defaults
0 0 LABEL=/home
/home
ext3
defaults
none
/proc
proc
defaults
0 0 none
/sys
sysfs
defaults
0 0 LABEL=/tmp
/tmp
ext3
defaults
LABEL=/usr
/usr
ext3
defaults
LABEL=/var
/var
ext3
defaults
LABEL=SW-cci/c0d0p7
swap
swap
defaults
0 0 /dev/hda
/media/cdrom
auto
作者:杨新建
日期:2009-8 学习总结
分类:linux pamconsole,exec,noauto,managed 0 0
#mount netvideo nfs 192.168.50.49:/home/apache/media
/home/apache/media/pds
nfs
bg,tcp,hard,rsize=32768,wsize=32768,nointr,noac,actimeo=0
//挂载信息配置
2、挂载本地挂接点 mount
/home/apache windows文件系统互访【共享与安全】
Windows中共享失败:
控制面板——管理工具——服务
找到Server这个服务,启动,并设置为自动
参考资料:
1、http://blog.163.com/
3、http://defage.blog.163.com/blog/static/***94318781/
作者:杨新建
日期:2009-8