Ubuntu 14.04安装Samba并设置为开机启动

1. 需求

我的需求是将Ubuntu服务器上的用户目录(比如/home/yasin/)映射给Windows访问,这样就可以在Windows下编辑代码,修改完成后在Linux环境编译。

2. 安装

1
sudo apt-get install samba  

3.配置

1
sudo vim /etc/samba/smb.conf

在文件末尾添加下面的配置:

1
2
3
4
5
6
7
8
[yasin]
comment = Home Directories
path = /home/yasin/
browseable = yes
read only = no
create mask = 0664
directory mask = 0775
valid users = %S

下面分别解释含义:

  • comment:配置描述
  • past:共享的文件路径
  • browseable:是否可以浏览
  • read only:是否只读
  • create mask:创建文件掩码,与的关系,因为Windows下创建文件默认带有可执行权限,你不想一个文本文件也有可执行权限吧?所以这里配置为0664也就是-rw-rw-r--
  • directory mask:创建文件夹掩码,文件夹需要有x权限,否则其他用户无法进入,这里配置为0775,也就是drwxrwxr-x
  • valid users:有效用户是其所有者(valid users = %S)

4. 添加samba用户

1
sudo smbpasswd -a username

如果没有什么安全性要求,此处添加的samba用户可以和系统用户相同,而不必再修改smbusers文件将samba用户和系统用户对应起来。 所以我直接添加了用户名yasin,这样samba用户直接对/home/yasin目录有操作权限。

5. 重启samba服务

1
sudo service samba restart

6. 设置为开机启动

1
sudo vim /etc/rc.local

exit 0前面添加/etc/init.d/samba start

7. Windows访问

Win+R:在弹出的运行窗口中输入\\ip即可看到共享的文件夹。 ip folder 如果不知道IP,可以在Ubuntu中用ifconfig查看ip。 点击文件夹,输入配置的Ubuntu用户名密码即可访问到文件。

8. 将目录映射为磁盘

为了避免每次都要输入IP才能访问,我们可以将共享目录映射为磁盘,右击,选择映射网络驱动器即可。

9. 问题解决

假如出现Samba服务器无法访问的情况,首先确定samba服务是否开启,使用service samba status查看。

1
2
3
service samba status
* nmbd is running
* smbd is running

还有使用腾讯云等云服务器时,samba使用的445端口可能被封禁,首先确定端口是否可以访问,具体更换端口操作在本文不涉及。 如果提示: 提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。 可以参考这篇文章:Windows 10提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问


Ubuntu 14.04安装Samba并设置为开机启动
https://www.shangyexin.com/2020/01/20/samba/
作者
Yasin
发布于
2020年1月20日
许可协议