Linux上的Samba配置

通过Samba我们可以将Linux上的文件夹挂载到Windows上,开台Linux虚拟机部署Samba之后,在Windows就可以使用我前几天写的远程编译插件(sublimeRemoteCompile)来写代码啦!还是挺爽的。今天把服务器配置Samba共享文件的方法简单记录一下,方便有同样需求的朋友。

注意:VMware虚拟机的网络不要用NAT,选择桥接模式,不然和宿主机不一定处在同一网段,SSH连不上的。

安装

1
sudo apt-get install samba

编辑配置文件

先将默认的配置文件备份:

1
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

然后在/etc/samba下创建一个smb.conf文件:

1
sudo nano /etc/samba/smb.conf

将下列配置填入其中(一个需要账号登陆且可读写的配置):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
create mode = 0777
force create mode = 0777
directory mode = 0777
force directory mode = 0777
[Linux]
comment = share all
path = /home/visionsmile
writeable = yes
read only = no
browseable = yes
public = no

关于那几种(create/force create/directory/forece directory)这几种模式的权限,如果只是自己使用建议设置为777,因为如果是755可能会出现以下错误:

1
2
/usr/bin/ld: cannot open output file 1: Permission denied
clang: error: linker command failed with exit code 1 (use -v to see invocation)

关于上面的smb.conf,其中path的路径的文件夹你要自己创建。
修改path路径目录的权限为755

1
sudo chmod -R 755 /home/visionsmile

创建一个samba账号(注意:这个账号必须存在于你的本地,比如root):

1
pdbedit -a root

会提示键入samba账号的密码。
查看samba账号:

1
pdbedit -L

01

然后就可以启动samba了:

1
2
3
4
# 启动
sudo /etc/init.d/samba start
# 重新启动
sudo /etc/init.d/samba restart

启动出错

如果启动时碰到下列问题:
00
出现这样的情况是由于

  1. 操作系统为 Debian 8 或以上,Samba Server 版本为 4.2 或以上
  2. Samba 4 不支持 security = share,可将其去掉或改为 security = user

Windows下映射到本地

打开 我的电脑->映射网络驱动器。

02

输入你创建的samba账号密码后即可看到共享的文件夹:

03

参考文章

全文完,若有不足之处请评论指正。
本文标题:Linux上的Samba配置
文章作者:ZhaLiPeng
发布时间:2017年02月04日 05时29分
本文字数:本文一共有578字
原始链接:https://imzlp.me/posts/17347/
许可协议: CC BY-NC-SA 4.0
转载请保留原文链接及作者信息,谢谢!
您的捐赠将鼓励我继续创作!