项目中遇到一个真实的需求:应用开发人员需要用工具开发交易画面,但数据字典、copybook等文件使用的是服务器上日终批量产生的文件,所有的应用开发人员共享,使用工具开发的交易画面需要实时保存到服务器上,通过服务器上的转换工具将交易画面转换为jsp文件,这里就需要在服务器上共享出一个目录,samba服务很好地解决了这个问题。
linux环境下(CentOS Linux release 7.0.1406 (Core) 操作系统)配置samba服务的步骤如下:
1、安装samba包
一般centos操作系统默认安装了该包,如果没有,切换到root用户,执行命令“yum install samba samba-client samba-swat”安装
2、查看samba服务
rpm -qa|grep samba
3、启动/停止/重启samba服务
/usr/lib/service smb start/stop/restart
4、修改配置
找到smb.conf文件(不同的操作系统安装时的目录可能不同,用find / -name "smb.conf" -print命令查找),将[public]的内容放开(即去掉每行前面的分号),修改共享目录
例如:
笔者服务器samba配置文件smb.conf地址:/etc/samba/smb.conf
[public]
comment = Public Stuff
path = /home/maintain //这个就是共享目录
public = yes
writable = yes
printable = no
write list = +staff
5、重启服务
/usr/lib/service smb restart
6、增加用户
前面提到共享目录地址是:/home/nmaintain,是因为我这里建立了maintain用户,在root用户下执行命令:
useradd maintain
导入用户到samba服务:
smbpasswd -a maintain
输入用户密码:111111
再次输入用户密码:111111
7、打开共享文件夹
在windows文件夹地址栏中输入地址:\\ip\,即可见到共享的maintain目录(可能要输入用户名密码:maintain/111111)
8、可能遇到权限不够的问题
往共享文件夹maintain放文件可能会遇到权限不够的情况,执行以下操作:
1)关闭防火墙:service iptables stop
2)设置SELinux的宽松模式:setenforce 0
3)设置你需要共享的文件夹的属性为777,chmod 777 /home/maintain
4)重启smb服务
/usr/lib/service smb restart
9、使用工具无法保存文件的问题
1)在本地windows打开服务器上的共享目录
2)检查防火墙是否关闭