deepin 安装Samba并设置为开机启动

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

2. 安装

sudo apt-get install samba  
Bash

3.配置

sudo vim /etc/samba/smb.conf
Bash

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

work ] 
    comment = samba home directory 
    path = /media/zgq/data
    public = yes 
    browseable = yes 
    public = yes 
    writeable = yes 
    read only = no
    #valid users = lsh 
    create mask = 0777
    directory mask = 0777 
    #force user = nobody
    #force group = nogroup
    available = yes

下面分别解释含义:
– 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用户

sudo smbpasswd -a username
Bash

如果没有什么安全性要求,此处添加的samba用户可以和系统用户相同,而不必再修改smbusers文件将samba用户和系统用户对应起来。

所以我直接添加了用户名yasin,这样samba用户直接对/home/yasin目录有操作权限。

5. 重启samba服务

sudo service samba restart
Bash

6. 设置为开机启动

sudo vim /etc/rc.local
Bash

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查看。

service samba status
 * nmbd is running
 * smbd is running
Bash

还有使用腾讯云等云服务器时,samba使用的445端口可能被封禁,首先确定端口是否可以访问,具体更换端口操作在本文不涉及。

如果提示:

提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。

可以参考这篇文章:Windows 10提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问

posted @   小强找BUG  阅读(2085)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示