代码是在windows平台上写的,但是要放到Linux运行。每写一点都上传一次虽然可行,但是太麻烦了。要解决这个问题很简单,只要把Linux平台上的文件共享到windows平台,一切就解决了。而老牌的文件共享非samba莫属了。
岩兔站在建samba过程中遇到一些问题,网上的教程也各不相同。现在部署成功了,将过程记录下来,也方便大家参考。
安装samba
CentOS平台用yum
,Debian/Ubuntu用apt-get
一键安装
#centOS yum install samba #Ubuntu apt-get install samba
安装完成后可以用语法检查一下安装情况
[root@localhost ~]# rpm -qa|grep samba samba-common-tools-4.7.1-6.el7.x86_64 samba-client-4.7.1-6.el7.x86_64 samba-common-4.7.1-6.el7.noarch samba-common-libs-4.7.1-6.el7.x86_64 samba-libs-4.7.1-6.el7.x86_64 samba-client-libs-4.7.1-6.el7.x86_64 mkdir /home/share-4.7.1-6.el7.x86_64
配置samba
安装完成后需要进行配置,首先建立一个需要共享的目录
mkdir /home/share
配置smb.conf
,增加共享目录
vim /etc/samba/smb.conf
在文件末尾增加以下内容
#出现在windows中的共享文件名 [share] #共享目录 path = /home/wwwroot #权限 read only = no guest ok = yes browsable = yes writable = yes
重启samba服务
systemctl stop firewalld.service
设置权限
有了samba服务,需要设置一个允许访问samba服务的用户。
建立用户
#建立用户组 groupadd smbgrp #建立用户 useradd smb -G smbgrp #将smb用户加入samba用户组,并设置密码 [root@localhost ~]# smbpasswd -a smb New SMB password: Retype new SMB password: Added user smb.
设置目录权限
chmod -R 777 /home/share chown -R smb:smbgrp /home/share
测试连接
接下来到windows平台,地址栏中输入服务器地址,如:\\192.168.1.60
,按提示输入用户名密码即可查看共享文件夹。
测试读写正常,在windows平台新建文件夹,linux平台会自动增加。
samba不可写
- 检查配置文件,是否设置了
writable = yes
- 参考“设置权限”中的“设置文件夹权限”,确保登录用户对所访问的共享文件夹有读写权限。
- 检查防火墙,默认的防火墙会阻止文件更新。
关闭防火墙方法:
#设置SELinux 成为permissive模式(关闭SELinux) setenforce 0 #设置SELinux 成为enforcing模式(开启SELinux) setenforce 1 #查看防火墙状态 systemctl status firewalld.service #关闭防火墙 systemctl stop firewalld.service