如何在centos7上部署samba服务器

因为小编前几天 做了个 vsftpd服务器,感觉做的很累,虽然挺安全的,但是一些问题还是 是不是的会出现 ,就比如那个 Windos客户机在上传文件的时候,文件名莫名奇妙的乱码了,我也改了好多种 编码格式 ,最终 我还是 决定 用 samba作为文件共享吧 ,不说别的 就是省事 简洁 (PS : 纯属 小编个人意见 )

咱们先说说什么是Samba吧

centos7上部署samba服务器

第一步:yum install samba -y

centos7上部署samba服务器

centos7上部署samba服务器

第二步:设置防火墙策略

centos7上部署samba服务器

添加samba服务到防火墙策略中

重启防火墙

centos7上部署samba服务器

查看服务是否添加:

centos7上部署samba服务器

第三步:编辑samba配置文件

vim /etc/samba/smb.conf

centos7上部署samba服务器

centos7上部署samba服务器

centos7上部署samba服务器

添加一段: 如上图

【feixiangkeji】

comment = please do not modify it all will (comment是对该共享的描述,可以是任意字符串)

path = /home/feixiangkeji (共享的路径)

writable = yes 是否写入

public = no 是否公开 

!!!保存 退出

第四步: 添加feixiangkeji用户

centos7上部署samba服务器

设置为 不予许登入系统,且用户的家目录为 /home/feixiangkeji (也就相当于虚拟账号)

id + 用户名 查看用户 属性

pdbedit 命令 用于管理SMB服务的帐户信息数据库,格式为:“pdbedit [选项] 帐户”,第一次把用户信息写入到数据库时需要使用-a参数,以后修改用户密码、删除用户等等操作就不再需要了

pdbedit -L :查看samba用户

pdbedit -a -u user:添加samba用户

pdbedit -r -u user:修改samba用户信息

pdbedit -x -u user: 删除samba用户

ps:同样 samba服务数据库的密码也可以用 smbpasswd 命令 操作

smbpasswd -a 用户名 #添加一个samba用户

  smbpasswd -d 用户名 #禁用一个samba用户

  smbpasswd -e 用户名 #恢复一个samba用户

  smbpasswd -x 用户名 #删除一个samba用户

centos7上部署samba服务器

centos7上部署samba服务器

第五步:修改 samba用户 的家目录权限

centos7上部署samba服务器

接下来 我们就试试效果

systemctl restart smb 重启 samba 服务

systemctl enable smb 把samba服务添加到开机启动项目中

centos7上部署samba服务器

我们这里用windos 客户端测试! \192.168.1.147

centos7上部署samba服务器

centos7上部署samba服务器

为什么 会这样呢 ,会不会是 SElinux 的问题 呢 我们先试试调整selinux,然后再登入试试

我首先想到的是上下文的安全关系:

semanage fcontext -a -t samba_share_t /home/feixiangkeji/

centos7上部署samba服务器

如果系统出现 下图的报错 ,说明你系统里没有安装 semanage 命令

centos7上部署samba服务器

没有 那我们就要安装 :

yum provides /usr/sbin/semanage //查找命令或文件对应包名

centos7上部署samba服务器

yum install -y policycoreutils-python

centos7上部署samba服务器

centos7上部署samba服务器

然后我们再执行一次

semanage fcontext -a -t samba_share_t /home/feixiangkeji/

执行完成后,不要忘了刷新上下文关系

restorecon -Rv /home/feixiangkeji/

centos7上部署samba服务器

允许SElinux对于SMB用户共享家目录的布尔值

centos7上部署samba服务器

再次重启SMB 服务

centos7上部署samba服务器

再用windos客户端 尝试:

PS: 对于windos 系统 中默认 的是记住你上次登入的信息(系统重启后,就要输入账号,密码)

这是 小编 使用 net use * /d /y 忘记 当前 所有已经连接的网络共享

centos7上部署samba服务器

输入 \192.168.1.147

centos7上部署samba服务器

centos7上部署samba服务器

centos7上部署samba服务器

能向文件夹中写入文件,说明我们的samba 服务 已经完全 搭建成功啦 !!!!

小编 的总结: 像samba 这样的 网络 服务 ,并不难

我们要 看到 对于用户的权限 ,设置好系统的防火墙firewalld,SElinux策略 ,不要 动不动就 关闭防火墙,关闭SElinux

策略

服务如果启动不了,报错,多多的回头 检查,不会的 就去看看论坛,贴吧啊 !!!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。