• 搜索
  • 夜间模式
    ©2015-2025  Ethan's Blog Theme by OneBlog
    搜索
    标签
    # Amule # Gargoyle # LUCI # VIM # Python # Nginx # 反代 # Ansible # Apache # LNMP
  • 首页>
  • Linux>
  • 正文
  • CentOS7 SAMBA服务器搭建

    2018年03月14日 23 阅读 0 评论 2232 字

    samba有三个模式: share|user|domain,平常使用也就是用user模式,也就是使用samba服务器本身的密码资料库,跟passsdb backend有关。

    2019.11.7日更新,新装的samba为samba4版本,不再支持share模式,如果需要share模式,需要在security = user下面添加map to guest = Bad User,否则testparm会提示忽略share参数

    安装软件:

    yum install samba -y

    配置SMABA:

    vim /etc/samba/smb.conf
    [global]
    workgroup = SAMAB
    netbios name = CentOS
    server string = This is samba server
    unix charset = utf8
    #display charset = utf8 //CentOS7.5中已经不适用
    dos charset = cp950
    log file = /var/log/samba/log.%m
    max log size = 50
    load printers = no
    
    #与密码有关的设定项目
    security = user <==这行就是重点啦!改成user层级
    passdb backend = tdbsam <==使用的是TDB资料库格式!
    
    #分享的资源设定方面:删除temp加入homes与project
    [homes] <==分享的资源名称,登入samba的账户的家目录,这个可以不考虑配置
    comment = Home Directories
    browseable = no <==除了使用者自己外,不可被其他人浏览
    writable = yes <==挂载后可读写此分享
    create mode = 0664 <==建立档案的权限为664
    directory mode = 0775 <= =建立目录的权限为775
    [project] <==共享资源
    comment = smbuser's project
    path = /home/project <==实际的Linux上面的目录位置
    browseable = yes <==可被其他人所浏览到资源名称(非内容)
    writable = yes <==可以被写入
    write list = @users <==写入者有哪些人的意思

    每次改完smb.conf都重新检查一下语法正确:

    testparm

    创建相应的目录:

    mkdir /home/project
    chgrp users /home/project
    chmod 2770 /home/project

    创建系统账号,加入到users组,并设置密码

    useradd -G users smb1
    echo 1234 | passwd --stdin smb1

    新增samba账号,使用刚刚创建好的系统账号:

    pdbedit -a -u smb1

    输入两次密码即可

    pdbedit -L #可以列出已存在的账号
    smbpasswd smab1 #可以修改账号密码
    pdbedit -x -u smb1 #可以删除账户

    设置开机自启服务:

    systemctl enable smb.service
    systemctl enable nmb.service
    systemctl start smb.service
    systemctl start nmb.service

    匿名登录smb服务器测试:

    smbclient -L //smbserverip

    使用账号登录smb服务器测试:

    smbclient -L //serverip -U smb1

    挂载测试:

    mount -t cifs //serverip/smb1 /mnt -o username=smb1

    防火墙设置:

    firewall-cmd --zone=public --add-service=samba --permanent
    firewall-cmd --reload

    Selinux设置:

    这一步很重要,不然没法正常用的

    getsebool -a | grep samba #查看samba的selinux规则
    setsebool -P samba_enable_home_dirs=1
    chcon -t samba_share_t /home/project
    #也可以用
    restorecon -Rv '/home/project'

    完事在windows上挂载试试就没问题了

    本文著作权归作者 [ Ethan ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    — END —
    Copyright©2015-2025  All Rights Reserved.  Load:0.007 s
    Theme by OneBlog V3.6.3
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。