linux和windows的文件共享需要通过samba,首先需要查看linux上是否有安装samba,通过命令行来监测:
rpm -qa|grep smaba搜索 查看是否安装
chkconfig --list|grep smb查看在运行状态下是否开启
service smb restart重启smb服务
service smb stop停止smb服务
service smb start启动smb服务
确认服务器没有安装samba。
目前服务器版本是CentOS7。
我们先yum看下samba可安装的版本:yum list samba*
这条命令是仅下载包,但不安装:yum install --downloadonly --downloaddir=/tmp <package-name>
这里我们就直接通过yum安装了:yum install samba*
如果默认安装,samba的配置文件是在 /ect/samba/下的。
先备份下配置文件:cp smb.conf smb.confbak
然后更新smb配置文件:
#security=user 后面添加:
security=share
在文件结尾添加如下行:
[share]
comment=this is Linux share directory
path=/home/share
public=yes
writable=yes
保存退出,启动Samba服务:
/etc/rc.d/init.d/smb start
过程中出现报错:
bash: /etc/rc.d/init.d/smb: No such file or directory
我这里的问题其实是因为CentOS7和samba4.2以上版本引起的,首先samba4.2以上版本不支持
security=user
security=share
所以把这两项注释掉
然后CentOS7启动服务是使用命令:systemctl start smb.service
然后看一下是否启动成功了:systemctl status smb.service
然后通过windows访问samba服务器
win7使用win+R快捷键打开窗口,输入\\samba服务器的ip\共享目录 然后回车即可连接
当然如果还遇到错误,可以再尝试以下,但不一定能解决。
========================================================================
首先确认samba已经正确安装,即smbd和nmbd关键程序已经安装到位。
whereis smbd
smbd: /usr/sbin/smbd /usr/share/man/man8/smbd.8.gz
whereis nmbd
nmbd: /usr/sbin/nmbd /usr/share/man/man8/nmbd.8.gz
查看已安装的samba版本
yum list installed samba*
4.4.4-12.el7_3
yum install --downloadonly --downloaddir=/tmp samba-4.4.4-12.el7_3.x86_64.rpm
如果这条命令不起作用,可以安装yumdownloader或者yum-downloadonly进行下载
http://www.linuxidc.com/Linux/2012-06/62664.htm
这里我安装了yumdownloader,然后使用了命令:
yumdownloader samba-4.4.4-12.el7_3.x86_64.rpm
#接着从samba-4.4.4-12.el7_3.x86_64.rpm中提取smb文件,放到/etc/init.d下。
rpm2cpio samba-4.4.4-12.el7_3.x86_64.rpm | cpio -t #查看需要提取文件的具体位置信息
rpm2cpio samba-4.4.4-12.el7_3.x86_64.rpm | cpio -id /etc/rc.d/init.d/smb
#最后/etc/init.d/smb restart启动服务。如果该smb脚本报错,根据报错提示找smb脚本中相关的配置进行调试。