zoukankan      html  css  js  c++  java
  • Linux安装配置samba教程(CentOS 6.5)

     一、服务端安装配置samba

    1.1 服务端安装samba

    yum install -y samba

    1.2 创建共享目录并写入配置文件

    以/samba为共享目录为例,为了更直观地观测我们在该目录中创建test文件

    mkdir /samba
    touch /samba/test

    在/etc/samba/smb.cnf追加以下内容(就是新增一个共享节区,自己想加几个加几个):

    [test]
    comment = samba test
    path = /samba
    public = yes
    writable = yes

    1.3 添加samba用户

    客户端连接主机时要进行验证,所以我们要给samba添加用户以便客户端能够连接。(用户是不需要重启即时生效的所以先启动samba后添加用户也行)

    smbpasswd -a ls    #ls是给samba添加的用户名

    要注意samba不使用系统用户,但是samba添加的用户首先得是系统用户才能添加得上。

    如果要添加的用户名原先不是一个系统账号那是添加不上的,会报错“Failed to add entry for user test”。

    如下图中由于test事先不是一个系统账号,所以添加不上。

    另外虽然samba用户首先得是系统用户,但毕竟并不是直接使用系统用户,所以用户的密码可以和系统的密码不一样。

    1.4 启动samba

    service smb start

    1.5 查看samba共享目录

    smbclient -L 192.168.220.128 -U ls   #192.168.220.128是我服务器的ip,ls是1.3中添加的用户

    可以看到有test、IPC$和ls三个共享目录;其中test是我们新配置的,其他两个是samba默认配置的,如果要取消这两个可编缉smb.conf相应节区。

    二、客户端连接samba

    2.1 windows连接samba

     直接在资源管理器中访问//192.168.220.128即可(自己要修改成自己服务器的IP),然后输入1.3创建的用户名密码进行验证即可

    2.2 linux连接samba

    这里以kali作为客户端进行演示,Redhat系也类似一个意思操作即可

    apt-get install -y smbclient    #安装samba客户端
    mkdir /mnt/samba                #创建目录用于挂载
    smbclient -L 192.168.220.128 -U ls  #192.168.220.128是服务端IP,ls是用户名
    mount -t cifs -o username=ls,password=abcd1234 //192.168.220.128/test /mnt/samba    #username是用户名,abcd1234是用户相应的密码
    df -h #查看磁盘挂载情况

    最后一行可以看到已成功挂载。

    三、FAQ

    3.1 为什么需要Samba?

    Windows的共享文件(网上邻居)通过SMB实现(后改名叫CIFS),UNIX的共享文件通过NFS实现,但是Windows和UNIX类机器无法实现文件共享。

    从使用角度说Samba就是Windows机器与UNIX类机器共享文件的解决方案,从技术角度说Samba是SMB的UNIX开源实现。

    3.2 为什么Samba要监听139和445两个端口?这两个端口的作用是什么?有什么区别?

    最开始SMB是运行在NETBIOS协议(监听137/138/139三个端口)上的,虽然后来改运行在TCP上(使用445端口)。

    但为了保持兼容SMB服务一直监听旧的139和新的445两个端口,同样的Samba为了保持与SMB兼容会监听139和445两个端口。

    客户端如果访问139端口就从139端口响应,如果访问445端口就从445端口访问;一般来说现在都用445端口。

    3.3 现在Windows也支持nfs挂载,Samba还有什么优势?

    首先nfs自身有两个问题:

    一是不支持用户身份认证直接连就能访问了,安全性不太好。

    二是nfs不支持别名,服务端共享什么目录,在客户端就直接显示该目录的物理路径,这也不太安全。

    然后回到与Windows共享文件上,测试发现Windows挂载nfs有着诸多问题。

    而且即便在nfs的主场--UNIX类系统间的文件共享--nfs现在对于samba也没什么优势。

    3.4 文件共享不是还有ftp吗,为什么不谈谈ftp?

    ftp不能叫文件共享只能算是文件传输。文件共享虽然肯定也要进行文件传输,但在用户使用上有着很大不同。

    但对于文件共享,意味着客户侧可以直接编缉服务器的文件。

    而对于ftp,要修改服务器的文件,需要用户进行“下载--修改--上传替换”三步操作。

    3.5 这是演示的是Linux作为服务端,如果是Windows作为服务端Linux能挂载吗?

    可以的。

    我们前面说过而且samba就是smb的开源实现,所以不管是Linux作为服务器还是Windows作为服务器,客户端和服务端的交互过程都是一样的,所以客户端都一样挂载就完了。

    至于怎么搭建Windows服务端,我们前面也说过Windwos的文件共享就是smb实现的,所以Windows主要共享文件夹就可以了。(验证也确实如此,不是猜测)

    参考:

    https://www.linuxidc.com/Linux/2017-03/141254.htm

    http://blog.csdn.net/zcf1002797280/article/details/49805603

  • 相关阅读:
    JAVA-复数计算器
    第十三周总结
    java多线程
    写作的意义
    mysql删除有外键表数据
    Linux firewall防火墙设置
    linux安装ftp
    SELECT list is not in GROUP BY clause and contains nonaggregated
    primordials is not defined
    maven手动添加jar包
  • 原文地址:https://www.cnblogs.com/lsdb/p/8515188.html
Copyright © 2011-2022 走看看