CentOS7下Samba的安装与配置

CentOS7下Samba的安装与配置

一、Samba简介

​ Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

​ Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。

二、关闭SELinux和防火墙
  1. 临时关闭
# setenforce 0                       ##设置SELinux 成为permissive模式  (关闭SELinux)
# setenforce 1                       ##设置SELinux 成为enforcing模式     (开启SELinux)
  1. 修改配置文件需要重启机器
# vi /etc/selinux/config

​ 将SELINUX=enforcing 改为SELINUX=disabled(需重启机器)

  1. 可自己做策略开放相应端口,这里我直接关闭
# systemctl status firewalld.service       ##查看防火墙状态
# systemctl stop firewalld.service         ##关闭防火墙
三、安装Samba服务
  1. 直接yum安装
yum install samba samba-client
  1. 启动并查看Samba
# systemctl start smb nmb        ##注:NMB对客户端提供NetBIOS服务
# systemctl status smb nmb
四、配置Samba服务
  1. 配置
# vi /etc/samba/smb.conf
=================== Global Settings[全局选项] ==============================
[global]
#
workgroup = WORKGROUP               ##设定Samba Server所要加入的工作组或域
server string = Samba Server Version %v        ##设定注释,宏%v表示显示Samba的版本号
netbios name = zhi                ##设置Samba Server的NetBIOS名称

map to guest = bad user             ##开启匿名访问

# ----------------- Logging Options [日志选项]-----------------------------
log file = /var/log/samba/log.%m   ##设置日志文件存储位置及名称,宏%m(主机名),表示对每台                                      访问Samba Server的机器都单独记录一个日志文件
max log size = 50             ##设置Samba Server日志文件的最大容量,单位为KB,0代表不限制
# ---------------- Standalone Server Options[独立运行进程] ---------------------
security = share            ##共享级别:共享目录只能被授权的用户访问
passdb backend = tdbsam     ##建立安全账户管理数据库
# ----------------- Printing Options[打印选项]-----------------------------
#        load printers = yes          ##设置是否在启动Samba时共享打印机
#        cups options = raw           ##通用unix打印选项
#================== Share Definitions[共享参数] ==============================

[homes]                              ##设置用户宿主目录
        comment = Home Directories        ##描述该共享:家目录
        browseable = no               ##指定该共享是否可以浏览
        writable = yes                  ##指定该共享路径是否可写
[printers]                          ##设置打印机宿主目录
        comment = All Printers         ##描述:所有打印机
        path = /var/spool/samba        
        browseable = no
        guest ok = no                 ##指定该共享是否允许guest账户访问
        writable = no
        printable = yes              ##指定是否可打印
[public]
        comment = Public Stuff      ##定义说明信息
        path = /home/samba          ##共享目录路径
        public = yes             ##指定该共享是否允许guest账户访问
        writable = yes
        printable = no
        write list = +staff       ##允许写入该共享的用户

注:

+ =====》 只在本机的密码文件组中查找
& =====》只在nis服务中查找
@ =====》先通过NIS服务器查找,nis找不到再到本机查找
  1. 建立共享目录
# mkdir /home/samba
# cd /home/samba/
# touch samba.txt
五、测试

如果使用root用户测试需要添加给samba添加root用户:smbpasswd -a root

  1. 在windows下输入\192.168.10.128访问

  2. 在Linux下输入smbclient //192.168.10.128/public访问

  3. 配置只允许个别用户访问

    1)配置smb.conf,添加如下

    [time]
            comment = Ashes Of Time
            path = /share/time
            valid users = zhi
            write list = zhi
            printable = no
            create mask = 0755
            directory mask = 0755
    

    2) 建立共享目录、添加相应用户和组

    # mkdir -p /share/time
    # groupadd admin
    # useradd zhi -s /sbin/nologin
    # cd /share/time
    # echo "12345" > abc.txt
    # pdbedit -a -u zhi              ##新建Samba用户
    
    # pdbedit -L               ##查看Samba用户列表
    # systemctl restart smb nmb        ##重启Samba
    

    注: 可使用命令smbpasswd -a + 用户名为该用户添加Samba密码,但用户必须是系统用户

    3)Linux进行挂载

    $ sudo apt-get install cifs-utils     ##网络文件共享系统套件
    $ sudo mkdir /mnt/samba
    $ <span class="token function">sudo</span> <span class="token function">mount</span> -t cifs //192.168.10.128/time /mnt/samba -o username<span class="token operator">=</span>zhi</code></pre><div class="toolbar"></div></div><p><a href="http://s3.51cto.com/wyfs02/M01/73/DF/wKioL1YJAUOAm2OqAAB6SKUrRgw012.jpg" target="_blank" style="color: rgb(66, 133, 244);"><img src="http://s3.51cto.com/wyfs02/M01/73/DF/wKioL1YJAUOAm2OqAAB6SKUrRgw012.jpg" title="QQ图片20150928165821.png" alt="wKioL1YJAUOAm2OqAAB6SKUrRgw012.jpg" style="cursor: pointer;"></a></p><p><br></p><p>Linux实现自动挂载</p><div class="code-toolbar"><pre class="brush:bash;toolbar:false  language-bash"><code class="  language-bash">$ sudo vi /etc/fstab     ##添加如下
    //192.168.10.128/time     /mnt/samba   cifs   credentials=/etc/samba/zhi.passwd 0 0
    $ sudo vi /etc/samba/zhi.passwd         ##防止密码泄露,所以另建文件
    username=zhi
    password=abcdef
    $ sudo chmod og=--- /etc/samba/zhi.passwd          ##设置该密码文件权限
    $ sudo umount /mnt/samba                     ##卸载
    $ sudo mount -a                       ##挂载fstab下的所有选项
    $ ls /mnt/samba/
    

附:Ubuntu下安装配置Samba的wiki:

http://wiki.ubuntu.org.cn/Samba

posted @   peterjiang520  阅读(419)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示