Linux通过Smb与Windows共享目录

Linux通过Smb与Windows共享目录  

一、使用Samba从Linux上访问Windows共享出来的目录:

要想从Linux访问Windows上的共享目录,需要安装smbclient工具。

在Debian或Ubuntu上可以使用下面的命令安装:

aptitude install smbclient smbfs

在CentOS上则使用yum命令安装

yum install samba-client.i386

安装好smbclient工具,就可以使用mount命令来挂载Windows上的共享目录了:

mount -t cifs -o username=easwy,passwd='pwd' //windows-server/share /mnt/winshare

在这里我们使用的文件系统类型是cifs(Common Internet File System)而不是smbfs,因为Linux Kernel将不再支持smbfs。smbfs的性能也远不如cifs。

 注:密码要加上' ' , /mnt/winshare 为linux上要挂载的地方,如果没有可以自己新建一个目录,share为windows下的共享目录。

我们所用的mount -t cifs命令其实会调用mount.cifs,如果你在mount时失败,先检查一下你的mount.cifs命令是否存在。

如果windows计算机处于域中,那么在username一项输入你的域用户名domain/username就可以了。windows-server可以是一台计算机的名称,也可以是一个IP地址。

例:[root@localhost /]# mount -t cifs -o name=admin,passwd='dell' //192.168.1.8/linuxsoft /mnt/samba

如果想列出Windows上的所有共享资源,可以使用命令:

 

smbclient -L //windows-server -U easwy

这条命令会列出windows服务器上所有的共享目录和文件。若是share共享则不需要输入密码,直接敲回车即可;相反则必须输入

例:

[root@localhost root]# smbclient -L //192.168.1.8 -U  langston
added interface ip=192.168.1.85 bcast=192.168.1.255 nmask=255.255.255.0
session request to 192.168.1.8 failed (Called name not present)
session request to 192 failed (Called name not present)
Password: 
Domain=[WORKGROUP] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2]
        Sharename      Type      Comment
        ---------      ----      -------
        C$             Disk      默认共享
        su              Disk      
        s2003        Disk      
        IPC$          IPC       远程 IPC
        收藏夹       Disk      
        tools          Disk      
        ADMIN$     Disk      远程管理
        linuxsoft     Disk      
        D$             Disk      默认共享
        E$             Disk      默认共享
        222           Disk      
        Server      Comment
        ---------     -------
        DELL-2O5NEINMWR      
        U                    
        ZONEIDC-9            
        ZONEIDC-A            
        ZONEIDC4545           zoneidc
        ZONEIDCNANA          ZoneidcNaNa
        Workgroup                 Master
        ---------                      -------
        WORKGROUP            U
如果出现错误信息;session setup failed:  NT_STATUS_ACCESS_DENIED

  上面方法对于传文件来说是非常好,但 有时我们想在 Windows 上编辑文件后,随后能在 Linux 上进行 make。有这种方法很麻烦,所以我必须让Linux 上的目录进行共享,Windows 进行访问。 那如何设置Linux的Smb服务?  以达到与Windows文件夹共享的目的呢?

二、使用Samba   从Windows上访问Linux共享出来的目录:

方法如下:

现在我们要做的是把linux根分区下的/data目录共享出去。

1 chmod -R 777 /data        // 在Linux 上建立共享目录, 别忘了-R 否则只能访问子目录,不能递归访问

2 service smb restart    // 重启 SMB

3 useradd test              // 在 Linux 上建立用户

4 smbpasswd -a test     // 创建 Smb 用户,此用户必须是 Linux 上已经建立的

5 service iptables stop    // 关闭防火墙

6  setenforce 0              //  确保setlinux关闭

7  配置共享目录

vi /etc/samba/smb.conf  在最后添加

[engine]                    
 path = /home/Engine27    
 writeable = yes        
 guest ok = yes         
 valid users = test

就可以在windows下的网上邻居里,连了。

综上所述,所以要保证三点,基本就可以访问了:

1、确保linux下防火墙关闭或者是开放共享目录权限
2、确保samba服务器配置文件smb.conf设置没有问题,可网上查阅资料看配置办法
3、确保setlinux关闭,可以用setenforce 0命令执行。默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。


Smb 服务在 Lan 网络中使用是非常好的,但对于远程传送来说,我建议还是用 FTP 更好些,Xmanager 要求的带宽较高。

 1.新建一个smb用户

用root登陆,
smbpasswd -a rhh ;增加SMB用户,同时会提示设置密码
smbpasswd –x rhh;删除SMB用户

2、  设置SMB共享目录:
vi /etc/samba/smb.conf ,在最后加入想要共享的文件夹:
    [rhh]                     ;共享名称
        path = /home/rhh      ;共享文件夹路径
        writeable = yes         ;是否可写
        guest ok = yes          ;是否允许GUEST访问

        valid users = root  root权限

  最好chmod 777 /home/rhh      
3,重启服务

启动SMB服务:service smb start
4,winxp下我的电脑--工具--映射网络驱动器--文件夹--\\10.11.11.21\rhh ,输入用户名root,密码,就ok了

 #setsebool –P samba_enable_home_dir on
#setsebool –P samba_export_all_ro on
#setsebool –P samba_export_all_rw on

我们可以用命令getsebool –a | grep samba
查看上面三项是否打开,打开的话你的共享应该就正常了。
如果还是出现不能访问的情况,请清除你的防火墙规则:
iptables -F //清除规则
iptables -L //查看是否清除掉了!

Windows清除共享记录
通过Samba连接成功后会在本地记录登录的帐号密码,下次可直接连接,如果需要切换帐号可手动删除连接记录。
查看访问记录

C:\Users\Administrator>net use

OK                     \\192.168.5.35\public   Microsoft Windows Network
命令成功完成。
清除访问记录
C:\Users\Administrator>net use \\192.168.5.35\public /delete

 

另外:

system-config-samba-1.2.41-5.el5.noarch.rpm包是smb的图形配置界面包。用图形界面配置更加简单

 

猜你喜欢

转载自blog.csdn.net/roshy/article/details/83853819
今日推荐