samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件。
●安装samba,samba-client和cifs-utils.x86_64
此步将自动安装好相关依赖包:samba-common、libsmbclient
yum install –y samba samba-client samba-winbind-clients.x86_64 cifs-utils.x86_64
OR
apt install samba samba-client samba-winbind-clients.x86_64 cifs-utils.x86_64
说明:
samba-common:主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client:客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba:服务器端软件,主要提供samba服务器的守护程序,共享文档,开机默认选项。

(1),使用linux访问windows下的共享文件。
运行samba,然后 ctrl+l ;在提示框里面这样输入:
smb : //windows的ip地址。
例:smb://192.168.0.2/

(2),Linux下通过smbclient访问windows共享目录

1,列出某个IP地址所提供的共享文件夹
smbclient -L 198.168.0.1 -U username -W domain (会提示输密码)
smbclient -L 198.168.0.1 -U username%password -W domain

2,像FTP客户端一样使用smbclient
smbclient //192.168.0.1/tmp -U username -W domain (会提示输密码)
smbclient //192.168.0.1/tmp -U username%password -W domain

执行smbclient命令成功后,进入smbclient环境,出现提示符: smb:/>
这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。
通过这些命令,我们可以访问远程主机的共享资源。

3,直接一次性使用smbclient命令
smbclient -c "ls" //192.168.0.1/tmp -U username%password

smbclient //192.168.0.1/tmp -U username%password
smb:/>ls
功能一样的

例,创建一个共享文件夹
smbclient -c "mkdir share1" //192.168.0.1/tmp -U username%password
如果用户共享//192.168.0.1/tmp的方式是只读的,会提示
NT_STATUS_ACCESS_DENIED making remote directory /share1

(3),挂载windows共享目录(smbfs、cifs)
Linux kernel2.6.29之后,smbfs将从内核中取消,将被cifs(Common Internet File System)代替。

①使用smbfs文件系统
Linux客户端要连接samba或windows文件服务器时,需使用smbmount或mount指令:

▪【mount的用法】
mount -t smbfs -o username=用户名,password=密码 , -l //ip地址/共享文件夹名 挂载点

mount -t smbfs -o username=用户名,password=密码 , -l //计算机名/共享文件夹名 挂载点

mount -t smbfs -o //ip地址或计算机名/共享文件夹名 挂载点

【例】:
mount -t smbfs -o username=administrator,password=password //sambaserver/sharefolder /mnt/share
  mount -t smbfs -o username=aaa%bbb //sambaserver/sharefolder /mnt/share
mount -t smbfs -o username=administrator,password=password //Windows_OS/sharefolder /mnt/share
  mount -t smbfs -o username=aaa%bbb //Windows_OS/sharefolder /mnt/share 

▪【smbmount的用法】
smbmount -o username=用户名,password=密码 , -l //ip地址或计算机名/共享文件夹名 挂载点

smbmount //ip地址或计算机名/共享文件夹名 挂载点

【例】:
  smbmount //sambaserver/sharefolder /mnt/share -o username=administrator,password=password
  smbmount //sambaserver/sharefolder /mnt/share -o username=administrator%password
smbmount //Windows_OS/sharefolder /mnt/share -o username=administrator,password=password
  smbmount //Windows_OS/sharefolder /mnt/share -o username=administrator%password  

使用mount命令完成,如(必须给出具体的windows共享名,可以通过前面介绍的smbclient获得共享名):
# mount -o guest -t smbfs //192.168.0.20/linux /mnt/win_share

★附加说明

1,为了能正确显示中文,以utf8为locale的用户(如果使用Ubuntu或Fedora,默认就是utf8的locale)
加入以下选项:codepage=cp936和iocharset=utf8,即mount命令为:
# mount -o guest,iocharset=utf8,codepage=cp936 -t smbfs //192.168.0.2/linux /mnt/win_share
之所以这样写,是因为远端使用的编码是cp936,而本地使用的是utf8。

2,以gbk为locale的用户则
# mount -o guest,iocharset=cp936,codepage=cp936 -t smbfs //192.168.0.2/linux /mnt/win_share
这样写的原因是远端和本地都是cp936

[注意]:
  1. 指定uid或gid参数,也能指定用户的身份(uid=后面可接uid号或用户名),如:
  smbmount //test/d /mnt/d -o uid=grind
  2. smbmount也能写作mount.smbfs,这是个符号链接;
  3. smbmount的参数必须写在最后,而mount的参数位置能变化;
  4. 由于//sambaserver/d格式能表明是要mount上smbfs,所以mount的-t smbfs参数能省掉;
  5. 如果命令行中不加入密码,下一行中系统会提示你输入;

▪【使用例】:

1.首先在windows上共享一个目录,如:共享了目录share,用户和密码是:administrator/abc123

2.在linux机器上,在/mnt目录下建立一个win目录,使用root用户,执行下面命令:

mount -t smbfs -o username=administrator,password=abc123 //192.168.1.1/share /mnt/win

这是你就可以在/mnt/win看到了windows上共享的数据了。

3.自动挂载,编辑 vi /etc/fstab, 在最后面加入:

//192.168.1.1/share /mnt/win smbfs defaults,auto,username=administrator,password=abc123 0 0

这样linux机器重新启动都可以自动挂载windows上的共享目录

②使用cifs文件系统

▪安装
apt-get install cifs-utils
OR
yum install –y cifs-utils.x86_64

1. 执行命令mount实现cifs

sudo mount -t cifs -o username=登录windows共享文件夹用户名,password=登录windows共享文件夹密码 //windows共享主机IP地址/windows共享文件夹名称 /Ubuntu下的一个目录

2. 重启系统的时候自动mount, 将下面命令行添加到/etc/fstab里。

//windows共享主机IP地址/windows共享文件夹名称 /Ubuntu下的一个目录 cifs defaults,username=登录windows共享文件夹用户名,password=登录windows共享文件夹密码 0 2

添加完成后执行: sudo mount -a

例:
1,把samba服务器或windows系统的共享文件,挂载到samba客户端。
mount -t cifs -o username="root",password="123456" //10.10.04.15/test /mnt/share/

Linux访问windows共享(samba/smbclient/smbfs/cifs)的更多相关文章

  1. Linux访问Windows共享目录的方法——smbclient

    之前写过Ubuntu访问Windows共享目录,里面主要介绍如何在GUI上访问windows共享目录. 本文侧重于整理通过命令行访问的方法. 先确保smbclient.ubuntu下可以直接运行下面命 ...

  2. linux 访问windows共享

    1. windows端建立一个用户user用于共享访问 2. 共享一个目录,设置user可以访问,并在windows系统中确认可以访问 3. linux端创建一个用于挂载共享目录的目录    mkdi ...

  3. 从Linux访问Windows共享目录

    今天装备用VMWare装台Linux服务器来学习Oracle数据库,由于安装包是下载到本地的Windows系统,需要拷贝到Linux虚机里面去.搞了半天.想到虚机网络设成桥接,然后访问.百度了一下.最 ...

  4. linux查看访问windows共享目录NT_STATUS_DUPLICATE_NAME问题解决

    linux查看访问windows共享目录NT_STATUS_DUPLICATE_NAME问题解决 [jason@superfreak ~]$ smbclient //powerhouse-smb.my ...

  5. Linux 中 java 访问 windows共享目录

    有两个方案: 1.将windows共享目录,挂载到linux系统下,通过使用本地目录访问windows共享目录 2.通过samba的java实现包,不过需要开个windows共享目录的账户  http ...

  6. 在Linux下访问Windows共享目录的配置方法

    在Linux下访问Windows共享目录的配置方法 1.在Windows上设置一个共享目录 如:将d:\RedHat_disk设置为共享目录 2.在Windows上创建一个用户,如tommy,密码11 ...

  7. lubuntu通过Smb访问Windows共享目录

    lubuntu通过Smb访问Windows共享目录 如果未安装Smb,先安装: apt-get install smbclient smbfs 安装后,查看共享主机上的共享目录: CentOS/Red ...

  8. linux访问windows共享文件夹的两种方法

    有时需要在linux下需要访问windows的共享文件夹,可以使用mount挂载或者使用samba连接. 1.mount挂载 首先创建被挂载的目录: $ mkdir windows 将共享文件夹挂载到 ...

  9. CentOS 访问 Windows 共享目录

    起因 由于公司的网络切换后,将所有的服务器都切换到了指定的网段(工作电脑在一个网络,服务器在另一个网络:这样一来,不同部门的 work stations 可以彼此访问,不同部门的服务器(servers ...

随机推荐

  1. windows下docker的安装并使用

    硬件虚拟化:硬件虚拟化是一种对计算机或操作系统的虚拟.虚拟化对用户隐藏了真实的计算机硬件,表现出另一个抽象计算平台. 打开任务管理器的性能查看是否支持虚拟化技术 下载windows docker ht ...

  2. HDU 1392 Surround the Trees(几何 凸包模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=1392 题目大意: 二维平面给定n个点,用一条最短的绳子将所有的点都围在里面,求绳子的长度. 解题思路: 凸包的模 ...

  3. yii的url写法

    Yii 各种url地址写法 echo Url::home(); 生成入口地址/yii2test/frontend/web/index.php: echo  Url::base();生成入口文件夹地址: ...

  4. codeforces E - Anya and Cubes 分块处理 暴力搜索

    说的是给了n个立方体,立方体从1标号到n,每个立方体上有一个数字, 你有 k 个机会 使得其中 k个数位他们自己的阶乘,(自然使用可以少于k次机会,每个立方体最多被使用1次) ,那么求出你从这n个立方 ...

  5. Python tricks(3) -- list和dict的遍历和方法

    每个人在使用python的过程中都会遍历list和dict. List遍历 最常用最简单的遍历list的方法 a = ["a", "b", "c&qu ...

  6. 访问Hsql .data数据库文件

    一.Hsql简介: hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议. 仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容.下载地址 ...

  7. Redis 如何保持和MySQL数据一致【二】

    需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节.所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库. 这个业务场景,主要 ...

  8. Python3 itchat实现微信定时发送群消息

    Python3 itchat实现微信定时发送群消息 一.简介 1,使用微信,定时往指定的微信群里发送指定信息. 2,需要发送的内容使用excel进行维护,指定要发送的微信群名.时间.内容. 二.py库 ...

  9. spring MVC @Resource不支持Lazy加载及解决方法

    今天迁一系统时发现有个bean使用@Resource注入了另外一个bean,这个被注入的bean是将被deprecated的类,而且只有一两个功能使用到,为了先调整进行测试,增加了@Lazy注解,启动 ...

  10. HTML5 Chart.js 框架

    HTML5 Chart.js 框架 版权声明:未经博主授权,内容严禁转载 ! Chart.js 概述: chart.js 是一个简单的.面向对象.为设计者开发者准备的图表绘制工具. 点击进入官方网址 ...