abstract: 在VMware虚拟机CentOS中安装配置Samba,实现Windows和虚拟机之间文件共享。
1、关闭防火墙与SELinux
setenforce 0 #暂时关闭SELinux
sed "/SELINUX=/c SELINUX=disable" /etc/sysconfig/selinux #修改配置文件
service iptables stop
chkconfig iptables off
2、安装Samba
yum -y install samba
3、创建共享目录
mkdir /common
chmod 777 /common #这里设置为777可以方便windows的任意用户访问
4、修改配置文件
vim /etc/samba/smb.conf
增加共享名称[common]字段
path = /common #指定共享路径
browseable = yes #所有人可见
guest ok = no #拒绝匿名访问
writable = yes #支持写入数据
5、创建访问账号
useradd -s /sbin/nologin smbuser
smbpasswd -a smbuser #增加账号密码
输入账号两次并确认,即可创建成功
6、服务端启动服务(即在虚拟机中启动Samba)
service smb start
chkconfig smb on
1、在windows的运行框中输入Samba所在地址(虚拟机中使用ifconfig查看ip,netstat -ntpl查看Samba的服务端口),运行。
2、在登录界面输入用户和密码。
即可在windows中像访问网络共享文件夹一样操作了。
重启服务:
如果出现异常,可重启服务。
停止:/etc/init.d/smb stop
启动:/etc/init.d/smb start
异常排查:
1、检查samba状态(是否在运行)
service smb status
2、检查防火墙状态(是否在运行)
/etc/init.d/iptables status
3、
排错举例:
1、windows下登录samba时,不能登录。
提示:没有权限使用网络资源,请与服务器管理员联系.....。
处理步骤:
a. 最大可能是由于SELinux没有关闭导致。先检查防火墙状态(如上),如果已打开,使用setenforce 0暂时关闭之。
2、windows下登录samba,能登录,能看到共享目录,但没有目录访问权限。
提示:“你没有权限访问xxx(smb共享目录),请与网络管理员联系”,即提示没有权限。
处理步骤:
a. 确保linux下防火墙关闭(setenforce 0是暂时关闭防火墙,所以在重启虚拟机中的系统后就失效)或者是开放共享目录权限(最好三组都有x权限)。
b. 确保samba服务器配置文件smb.conf设置没有问题。
c. 确保setlinux关闭,可以用setenforce 0命令执行。 SELinux默认禁止网络上对Samba服务器上的共享目录进行写操作,即使在smb.conf中允许了这项操作。
使用setenforce 0是临时关闭防火墙;重启smb之后还要再做一次setenforce 0。