samba是基于SMB协议实现的一个局域网免费共享软件,由服务器和客户端程序构成,主要用于文件共享,Linux下搭建使用的话,非常容易,下面我简单介绍一下实现过程,感兴趣的朋友可以尝试一下:
01
安装samba
首先,安装samba服务器,这个是文件共享的前提,以CentOS7 Linux为例,直接在终端命令行输入命令“yum install -y samba samba-client”即可,前一个为软件包为samba服务器,后一个软件包为samba客户端:
02
启动samba服务
安装完成后,这里需要配置etc/samba/smb.conf文件,设置共享目录及读写权限等,简单配置如下,我只对wjm123这个用户开启了读写权限,那么在访问挂载的时候,也只允许这个用户读写,其他用户则没有权限:
配置完成后,就是启动samba服务,这个直接在终端输入命令“systemctl start smb”即可,如果服务状态为active,则说明服务启动成功:
03
客户端挂载访问
最后就是Linux客户端挂载访问,这里主要用到smbclient命令,输入samba服务器的IP、用户和密码,验证成功后,就可以看到刚才共享的目录cifs,如下:
然后就是挂载访问,这里直接使用mount命令即可,输入用户名和密码,成功挂载后,可以使用df -h命令查看,接着就可以正常对共享文件进行操作了:
至此,我们就完成了samba服务器在Linux环境下的搭建,以及客户端访问。总的来说,整个过程非常简单,只要你有一定的Linux基础,熟悉一下上面的操作过程,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
"
Linux如何搭建Samba文件共享服务?
我是王海军老师,专注于互联网技术教学,乐于解答大家相关问题。
感请,前几天 做了个 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 服务 已经完全 搭建成功啦 !!!!
欢迎大家关注我,在下方评论区说出自己的见解,我们共同学习交流。
如何连接装有linux系统的电脑?
如何在公司访问家中连接路由器的电脑,从原理出发,详细的连接过程。
大致说一下,只是以前看到过,但是没实践过。首先windows共享方式,我用过的有网络邻居、远程桌面,网络邻居主要用于局域网共享文件,远程桌面用于远程登录,可以操作计算机。而Linux则不同,其网络功能比Linux更为强大,可以轻松实现网络硬盘、远程登录。windows下开启文件共享以及远程登录比较简单,都有现成工具,但需要配置以下防火墙。但Linux下需要配置的一般是samba,具体可以参考鸟歌的里面有详细介绍。