Linux安装Samba共享
服务器环境为Linux,本地环境为Windows时开发需要方便的将源码文件同步至测试服务器编译运行,一种解决方案是可以用ftp,sublime 等工具大都提供了对应的ftp插件来使用,自己本地搭建的测试服务器则完全可以利用Samba共享的方式,将Linux文件夹共享给window。
安装
安装系统为centos7:
yum isntall samba samba-client samba-common
在/home 目录建立共享文件夹
cd /home
mkdir shared
chmod 777 shared/
配置
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vim /etc/samba/smb.conf
首先解决编码问题,在 [gloabal]
设置项中根据主机locale(终端执行locale
查看)内容修改配置文件:
1. 如果locale是zh_CN.UTF8
,做如下设置:
unix charset = UTF-8
dos charset = UTF-8
- 如果locale是
zh.CN.GBK
或zh.CN.gb2312
,做如下设置:
unix charset = cp936
dos charset = cp936
解决samba日志中总是输出cups相关错误的问题,在[global]
中找到如下两行:
load printers = yes
cups options = raw
修改为:
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
#cups options = raw
默认会共享登录用户的home
目录,创建自定义的共享目录,在文件末尾添加:
[myshare] #共享项
comment = my test share #登录时共享项的描述
path = /home/shared #共享项对应的共享路径
public = yes
available = yes
browseable = yes
writable = yes
security = user #设置安全级别 默认user
共享的文件夹不要设置printable = yes
选项,否则会被当成打印机共享
运行testparm
检查配置文件,默认检查路径为/etc/samba/smb.conf
系统中添加一个samba访问用户
useradd username
samba中添加一个访问用户
smbpasswd -a username
按提示输入两次密码创建新的Samba用户
说明: 上面两步中建立的用户名应该一样,前者是linux的用户,后者是Samba用户,区别是前者是创建在linux中的新用户,如果不再执行passwd username
创建密码的话该用户无法本地登录linux,后者是在windows上访问samba共享时登录的用户,二者密码可以不同,但是登陆后会赋予该用户对应于linux中的用户的相同权限,相当于Samba在中间进行了一层中转。
window输入ip进行登录,输入用户名密码进入后就可以看到自己的home目录和新建的共享目录,取消home目录的共享直接在配置文件中注释掉[homes]一项