我是王海军老师,专注于互联网技术教学,乐于解答大家相关问题。
感请,前几天 做了个 vsftpd服务器,感觉做的很累,虽然挺安全的,但是一些问题还是 是不是的会出现 ,就比如那个 Windos客户机在上传文件的时候,文件名莫名奇妙的乱码了,我也改了好多种 编码格式 ,最终 我还是 决定 用 samba作为文件共享吧 ,不说别的就是省事简洁.
咱们先说说什么是Samba吧
SMB服务器就是为了解决局域网内的文件或打印机等资源的共享服务问题,让多个主机之间共享文件变成越来越简单。
不说别的了 我们就来练手吧
第一步:yum install samba -y
第二步:设置防火墙策略
添加samba服务到防火墙策略中
重启防火墙
查看服务是否添加:
第三步:编辑samba配置文件
vim /etc/samba/smb.conf
添加一段: 如上图
【feixiangkeji】
comment = please do not modify it all will (comment是对该共享的描述,可以是任意字符串)
path = /home/feixiangkeji (共享的路径)
writable = yes 是否写入
public = no 是否公开
!!!保存 退出第四步: 添加feixiangkeji用户
设置为 不予许登入系统,且用户的家目录为 /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用户
第五步:修改 samba用户 的家目录权限
接下来 我们就试试效果
systemctl restart smb 重启 samba 服务
systemctl enable smb 把samba服务添加到开机启动项目中
我们这里用windos 客户端测试! 192.168.1.147
为什么 会这样呢 ,会不会是 SElinux 的问题 呢 我们先试试调整selinux,然后再登入试试
我首先想到的是上下文的安全关系:
semanage fcontext -a -t samba_share_t /home/feixiangkeji/
如果系统出现 下图的报错 ,说明你系统里没有安装 semanage 命令
没有 那我们就要安装 :
yum provides /usr/sbin/semanage //查找命令或文件对应包名
yum install -y policycoreutils-python
然后我们再执行一次
semanage fcontext -a -t samba_share_t /home/feixiangkeji/
执行完成后,不要忘了刷新上下文关系
restorecon -Rv /home/feixiangkeji/
允许SElinux对于SMB用户共享家目录的布尔值
再次重启SMB 服务
再用windos客户端 尝试:
PS: 对于windos 系统 中默认 的是记住你上次登入的信息(系统重启后,就要输入账号,密码)
这是 小编 使用 net use * /d /y 忘记 当前 所有已经连接的网络共享
输入 192.168.1.147
能向文件夹中写入文件,说明我们的samba 服务 已经完全 搭建成功啦 !!!!
欢迎大家关注我,在下方评论区说出自己的见解,我们共同学习交流。