CentOS服务搭建-02-samba文件服务

来自DeerGrove Wiki
Aker讨论 | 贡献2019年9月26日 (四) 16:41的版本 配置文件共享、用户、samba
跳转至: 导航搜索


安装并启动Samba

  1. yum -y install samba
    systemctl start smb.service
  2. 关闭安全防护
    vim /etc/sysconfig/selinux
    SELINUX=enforcing 改为 SELINUX=disabled # 关闭selinux
    systemctl disable firewalld.service # 关闭防火墙
    shutdown -r now # 重启使生效
  3. 注:
    1. 防火墙不关闭,所有节点无法进行挂载。也可以采用:防火墙放行TCP端口:139、445以及UDP端口:137、138。
    2. selinux不关闭,无法查看共享文件夹下的文件。

配置文件共享、用户、samba

  1. 创建共享目录:
    mkdir /share-jyc
  2. 创建用户组和用户:
    groupadd samba-jyc # samba-jyc
    useradd -g samba-jyc share123 # samba-jyc 下用户 share123
    passwd share123 # share123 的密码设置,jc999
  3. 添加samba文件共享用户
    smbpasswd -a share123 # 光添加系统账户还不够, 需要把已经存在的系统账户添加到samba中才可以访问共享目录,jc9999
    smbpasswd 参数: -a: 添加 -x: 删除 -d: 禁用 -e: 启用
  4. 修改samba配置
    vi /etc/samba/smb.conf
  5. 内容修改为:
    [global]
    workgroup = samba-jyc
    security = user
    map to guest = Bad User
    log file = /var/log/samba/log.%m
    [public]
    comment = Public Directories
    valid users = @samba-jyc
    read only = Yes
    path = /share-jyc
    hosts allow = 192.168.
  6. 注:secutity用来指定安全模式,user模式是需要账号密码来登录共享的
    1. valid users = @用户组,用来指定允许登录的用户组
    2. path指定共享的路径
    3. hosts allow用来指定开放的ip段,当前指定的是对192.168下的所有ip都开放

启动samba服务并设置自启动

  1. sudo systemctl start smb
    sudo systemctl enable smb.service # 设置开机启动
    sudo systemctl status smb
    testparm

修改防火墙

  1. sudo firewall-cmd --zone=public --add-port=139/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=445/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=137/udp --permanent
    sudo firewall-cmd --zone=public --add-port=138/udp --permanent
    sudo firewall-cmd --reload
    sudo systemctl restart firewalld.service

客户端进行文件挂载

mkdir /share mount -t cifs //文件服务器ip/public /share -o "username=share,password=xxx"