发布网友
共5个回答
热心网友
装个samba
一般来说,安装samba后,有一个smb.conf(配置文件)的例子,修改一下就好了。
WINDOWS下的网上邻居使用是NetBIOS协议,LINUX下使用功能强大的SAMBA可以实现与WINDOWS机子共享。下面具体就我的理解具体说一下。
首先当然是你必须安装了SAMBA
#apt-get install samba samba-common smbclient smbfs
其实使用SAMBA分成两个方面,一个是linux机子上的资源给WINDOWS机子浏览,再一个是使用LINUX 机子浏览WINDOWS 的网上邻居。现在假设使用WINDOWS的机子的IP是10.0.0.10,共享目录是music,用户名是:share,密码是:yeah;使用 LINUX机子的IP是:10.0.0.20
一 . 从LINUX上获取WINDOWS文件的基本方法(有3种方法)
1. smbmount---普通用户就可以使用的命令
挂载文件
#smbmount //10.0.0.10/music /home/user/music -o "username=share,password=yeah"
主意与下面的mount不一样的是-o后面一定要引号
卸载已经挂载的文件
#smbumount /home/user/music
2. mount---超级用户才有的权限,但效果与上面一样
挂载文件
#mount -t smbfs -o username=share,password=yeah //10.0.0.10/music /home/user/music
卸载文件
#umount /home/user/music
注:以上两个命令挂载要想显示中文,必须添加如下参数
codepage=cp936,iocharset=utf8(与linux机的本地环境一致,如是gb2312,这儿也要写成:iocharset=gb2312 ;codepage要与远程一致,是指定源代码文件的代码页---一个内>部表,操作系统用它将符号(字母、数字和标点)映射为字符编号。如932 代表日本汉字,950代表繁体中文字符集,说明一下就是codepage是cp936,而不是936,否则在有时显示汉字还是乱码。
3. 使用smbclient访问Windows资源
它是一个类似于ftp操作方式,通过远程操作的方式进行文件传递的软件。为了获得网络上可以访问的计算机列表,首先需要使用 smbclient来获得一个Windows计算机共享出来的资源,这需要使用-L参数访问IPC
#smbclient -L 192.168.1.150 -N
或者机器名
#smbclient -L hit -N
如果不清楚一个Windows计算机的NetBIOS名字,可以使用nmblookup先来解析NetBIOS名字
#nmblookup hit (若浏览网上邻居用:#nmblookup -T "*")
当上面查到资源后,就可以用smbclient登陆了
#smbclient \\hit\music yeah -U share (其中yeah是密码,share是用户名)
执行smbclient命令成功后,进入smbclient环境,出现提示符:smb: >,然后就可以执行和ftp命令中相似的命令:cd, lcd, get ,mget ,put ,mput等,用法就跟FTP一样了。
注:要想使用smbclient来访问windows时,也需要使用UNC来标识Windows资源的位置。此时就需要了解 WindowsUNC在Unix>下进行表示的不同之处。不同之处在于Unix的shell下反斜线为特殊字符,它被定义为转义恢复字符,表示将一些转义字符恢复为其本身字符的意义。因此必须使用两个反斜线才能等同于一个反斜线。因此一个UNC实际使用时应使用双倍的反斜线。
若想使用基于图形的客户端:感觉比较好用的是tksmb和smb4k(KDE)
若只是以上使用不用配置/etc/samba/smb.conf,也不用启动 samba 服务,甚至可以不装samba程序
二. WINDOWS机子访问在LINUX上的资源
需要使用两个进程:nmbd smbd, 前者nmbd是提供WINDOWS浏览,后者smbd是针对WINDOWS浏览后的登陆等服务。
首先需要说明的是,当samba 还没有添加用户时,WINDOWS机子是登陆不上来的,所以第一步就是添加用户:
# smbpasswd -a myfirst
需要说明的是这个用户必须是系统用户,否则回提示
Failed to initialise SAM_ACCOUNT for user myfirst. Does this user exist in the UNIX password database ?
Failed to modify password entry for user myfirst
当然可以对用户进行映射,见后面说明。
接着就简单了,就是配置/etc/samba/smb.conf,见下面一个配置以及相应说明,拷贝后您只需要稍稍修改一些你自己的信息就可以使用了(参考了前人的说明)
/etc/samba/smb.conf文件
## /etc/samba/smb.conf配置文件有三个重要的节:[global],[homes],[public]
#Global (全局)参数,该部分设置整个系统的规则,定义了一些公共变量。
[global]
netbios >#定义Windows系统“网上邻居”中所见的机器名。
workgroup = workgroup
#定义主机所在网络上所属的NT域名或者工作组名称
server string = FunField
#对主机的说明信息,缺省是:Samba Server
hosts allow = 192.168.1. 192.168.3.
#它允许设置哪些机器可以访问samba服务器
guest account = nobody
invalid users = root
#定义smb用户名称。
security = user
#定义访问权限。访问权限由低到高有三种:share、user和server。其中share安全级别最低,user模式要求连接时输入用户名和口令
encrypt passwords = true
#设置是否需要加密口令。因为Windows系列默认采用加密口令传输,而Linux默认采用非加密口令传输,为保证smb网络用户的正常登录,在user安全级下设置为加密,在share 安全级下可不设。
smb passwd file = /etc/samba/smbpasswd
#由命令cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd产生。
interfaces = 192.168.1.50/24
#配置smb服务所使用的网卡IP以及子网掩码,如果有两个以上网卡,要全部列出。
name resolve order = host dns bcast
#设定smb服务时,从机器netbios名称到IP地址的解析方式,默认顺序为host lmhosts wins bcast。如果局域网内有DNS,可设置为host dns bcast。
wins support = no
#设置是否有wins支持。
public = yes
#为yes时,“网上邻居”中可见该资源,否则不可见。
browseable = yes
#为yes时,“网上邻居”中可见该资源,否则不可见。
#printing = bsd
# 指定Linux使用哪个打印机守护进程(bsd、sysv、hpux、aix、qnx、plp),同时向samba说明命令lpr和lpq的缺省值。
#printcap ># 定义了打印配置文件所处的位置。
load printers = no
# 表明是否加载printcap 定义的所有打印机以供浏览。
log file = /var/log/samba/log.%m
# 定义日志文件
max log 'size' = 1000
#日志文件最大1000k (单位是KB)
username map = /etc/samba/smbuser
#允许管理员指定一个映射文件,该文件包含了在客户机和服务器之间进行用户映射的信息。 用户映射经常在windows 和linux 主机间进行。 两个系统拥有不同的用户账号,用户映射的目的是将不同的用户映射成为一个用户,便于共享文件。
#*********************************************************************#
[homes]
#该部分通常定义了Linux机器上共享的目录资源,其名字可以由用户确定。段中的设置控制了每一个用户目录的共享权限。
comment = Home Directories
#设定在浏览本机资源时,出现在指定资源旁边的字符串。
browseable = yes
#控制一项服务是否能够出现在网上邻居中,no意味着这个目录将在浏览时显示为要验证的用户名称,yes则显示 homes 和要验证的用户名称的共享目录。
writable = yes
#控制是否允许通过验证的用户对主目录有写入的权限,但最终取决于该目录的 Unix 权限。无论 Unix 的权限怎样, 设置 writable = no 后, 主目录只能是只读的。
create mask = 0700
directory mask = 0700
#若上面是可写的,则设置写文件和目录时的属性
#******************************************************************#
[public]
#用来指定某一特定用户组或者用户拥有访问权限的目录配置分,配置共享目录部分
comment = Public Stuff
# 说明部分
path = /home/samba
#共享的Linux目录
writable = no
#写权限
printable = no
#打印权限
用于用户映射的文件/etc/samba/smbuser
# smb.conf中全局参数 “username map” 指定的映射文件
root = admin administrator
#Map Windows admin to root
hawk = girl
#Map the member of girl to hawk
snake = boy
# 等号左边是单独的Linux账号,等号右边是要映射的账号列表。服务器逐行分析映射文件,如果提供的账号和某行有右侧列表中的账号匹配,就把它替换为等号左边的账号。
热心网友
Hi 我
热心网友
直接把虚拟网络连接设置成NAT方式就行了
热心网友
大发行版的 linux 装 ssh 很容易。之后选择桥接方式(如果你的计算机接入局域网,且有 DHCP 服务器)。NAT 方式也可以,但两种方式的 IP 不同。
之后你的 windows 装个支持 scp 的程序去连接 Linux 就行了,这种软件有很多。
之后就像 FTP 一样可以直接给 Linux 发文件了。而且 ssh 还可以直接对 Linux 进行控制,也很方便。
热心网友
安装VMwaretools 工具
直接拖拽
或者 在windows 本机上把文件共享后用samba 下载
或者用ssh连接