有时需要在linux下需要访问windows的共享文件夹,可以使用mount挂载或者使用samba连接。
1、mount挂载
首先创建被挂载的目录:
$ mkdir windows
将共享文件夹挂载到windows文件夹:
$ sudo mount -t cifs -o username=share,password=share //192.168.66.198/share ./windows
其中几个参数表示含义:
cifs:Common Internet File System,可以理解为网络文件系统。
usrname:访问共享文件夹的用户名
password:访问密码
//192.168.66.198/share:表示网络文件夹的地址,注意这里最后不能加/,如果是//192.168.66.198/share/则会报如下错误:mount: //192.168.66.198/share/ is not a valid block device
Tips:使用mount挂载的方法在系统重新启动后就会失效,如果希望开机时自动挂载,将下面设置加入/etc/fstab文件最后面就可以了。
//192.168.66.198/share /home/windows cifs defaults,username=share,password=share 0 2
其中/home/windows表示挂载点,就是上面windows目录的完整路径。
2、使用samba连接
samba就是让windows和unix系列os之间的文件可以互相访问的软件。使用samba访问windows的共享文件夹,需要安装smbclient。
$ sudo apt-get install smbclient
安装好后,就可以访问共享的文件了。
$ smbclient --user=share //192.168.66.198/share
Enter share's password: (输入密码回车)
smb: \>
此时进入了smb的命令操作空间,可以使用help来查看命令的使用。
smb: \> help
......省略若干命令......
exit get getfacl geteas hardlink
help history iosize lcd link
......省略若干命令......
也可以使用help查看单个命令的使用方式
smb: \> help get
HELP get:
[local name] get a file
小结
使用mount命令相对来说简单一些,基本linux系统都会带有这个命令;使用samba的话从windows也能访问linux的共享文件。根据自己喜好选择就可以了,有什么疑问可以给我留言。
1
挂载linuxcd
mount /dev/cdrom /mnt/cdrom
2
设置linux ip
netconfig
3
安装软件包
rpm -ivh /mnt/cdrom/RedHat/RPMS/samba-2.2.7a-7.9.0.i386.rpm samba主程序
rpm -ivh /mnt/cdrom/RedHat/RPMS/samba-common-2.2.7a-7.9.0.i386.rpm
rpm -ivh /mnt/cdrom/RedHat/RPMS/samba-client-2.2.7a-7.9.0.i386.rpm samba客户端
rpm -ivh /mnt/cdrom/RedHat/RPMS/samba-swat-2.2.7a-7.9.0.i386.rpm 图形化管理工具
4
启动smb
/etc/init.d/smb start(service smb start)
设置smb开机自动启动
ntsysv
显示smb在不同模式的开启状态
chkconfig --list smb 显示smb在不同模式的开启状态
--add smb 添加到chkconfig
--delete smb 删除chkconfig中记录
--level 0123456 smb on(off,reset) 启动不同模式的开启状态
查看端口
netstat -tunl
samba启动137,138,139端口
配置共享文件夹
vi /etc/samba/smb.conf
例子:
[filename]
path = /file
comment = file
browseable = yes
writable = yes
关闭防火墙
service iptables stop
创建共享密码
smbpassword -a user1
----现在就可以通过windows系统访问linux系统的文件了哦,但是有个安全问题,只要用户知道了samba账户就相当于知道了系统的一个帐号,如果密码被破解,就可以来攻击samba机器。我们可以采用帐号映射来解决这个问题。
账户映射
在/etc/samba/smb.conf的global settings中添加如下行
username map = /etc/samba/smbusers
smbadduser [user1](linux中账户):[user2](windows中账户)
*/etc/samba/smbuser 映射存放文件
windows访问linux
\\192.168.1.2
linux 访问windows
smbclient -L 192.168.1.3
smbclient -u //192.168.1.3/test [user]$[password]
共享文件挂载
smbmount //192.168.1.3/test /mnt/test -o username=[username],password=[password]
LINUX下建立samba server,类似于WINDOWS网络文件共享
smb或者ftp
samba 服务器搭建好就可 百度samba搭建一堆