当前位置:首页 > 综合

给阿里云的centos服务器搭建cifs服务器

给阿里云的搭建centos服务器搭建cifs服务器

阿里云上跑centos,最烦的服服务就是文件共享。同事要访问服务器上的搭建数据,用ftp传半天,服服务改个文件还得下载上传,搭建效率低到让人想砸键盘。服服务直接搭个cifs服务,搭建让windows和linux都能像访问本地磁盘一样挂载目录,服服务这才是搭建正经解法。

先装软件。服服务centos默认不带samba,搭建但cifs其实就是服服务samba的核心组件。执行yum install samba samba-client -y,搭建等它跑完。服服务这里有个坑:阿里云的搭建centos 7.6以上版本,默认防火墙是firewalld,装完samba不开放端口,客户端连不上,别急着怀疑配置写错。

配置写在/etc/samba/smb.conf。别被默认文件吓到,直接清空重写。最简配置就几行:
[global]
workgroup = WORKGROUP
security = user
map to guest = Bad User

[share]
path = /data/share
browseable = yes
writable = yes
guest ok = no
valid users = aliyun

path指向你要共享的目录,先mkdir -p /data/share && chmod 777 /data/share。安全策略别偷懒,guest ok设成no,强制走用户认证。我见过有人图省事开guest,结果服务器被当公共网盘用,日志里全是陌生ip的读写记录。

创建samba用户。系统用户和samba用户是两回事,得单独设置密码:
useradd aliyun -s /sbin/nologin
smbpasswd -a aliyun
输入两遍密码完事。注意系统用户别给shell权限,不然等于给服务器开了个后门。

启动服务前先测试配置:testparm,看到load smb config files OK就说明没语法错。然后systemctl start smb和systemctl enable smb,开机自启别忘。防火墙放行:firewall-cmd --permanent --add-service=samba && firewall-cmd --reload。这一步漏掉,客户端会报“找不到网络路径”,排查半天才发现是防火墙拦着,血泪教训。

客户端挂载测试。windows直接win+r输入\\服务器公网ip\share,弹窗输账号密码。linux下用mount -t cifs //服务器ip/share /mnt -o username=aliyun。如果挂在阿里云上,记得安全组规则里放行445端口——这个经常被忽略,服务器内部防火墙全开了,结果阿里云控制台的安全组没配,照样连不上。

实际使用中会遇到权限错乱。cifs默认把客户端uid映射成nobody,你明明用root写的文件,到windows里可能没权限改。解决方法是加force user = root或者force group = root到[share]段。但别滥用,全用root跑,安全审计的时候有你受的。普通协作场景,用valid users指定几个账号就够了。

配好后测一下速度。我搭完第一次用,往共享目录拷了个2GB的数据库备份,稳定在110MB/s左右,比ftp那几十KB/s爽多了。同事再也没抱怨过文件传输慢。折腾半小时,省下每天几小时等待时间,这买卖划算。

分享到: