Ubuntu下利用samba搭建共享文件系统

利用samba搭建共享文件系统,可以满足办公区内网里不同操作系统之间的文件共享:


sudo apt install samba

该服务自动设置为开机启动项,由systemctl管控:


sudo systemctl start smbd
sudo systemctl stop smbd
sudo systemctl restart smbd
sudo systemctl status smbd

samba的功能很强大,可以通过man smb.conf查看其配置说明,复杂功能可以实现每个人一个账户,跟ubuntu里服务的用户和群组同步,比如在windows上访问时\\xxx.xxx.xxx.xxx\username,可以直接访问对应ubuntu里该用户的整个home目录,用户名和密码也是跟ubuntu tty的登录时的一样。所以如下命令:


sudo smbpasswd -a username

其username必须是useradd过的ubuntu账户。

这里先记录最简单的使用,即共享文件,所有内网的电脑都可以访问该文件夹,而无需账户和密码。

编辑/etc/samba/smb.conf配置文件,在末尾添加:


[Share]
path = /mnt/data/Share
available = yes
browseable = yes
public = yes
writable = yes
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup

这样在windows下就能\\xxx.xxx.xxx.xxx\Share访问/mnt/data/Share目录了,上传的文件owner为nobody:nogroup,读写权限为0777。在Mac下就是访问smb://xxx.xxx.xxx.xxx/Share。

特别注意:由于访问者是以nobody身份进行访问的,所以/mnt/data目录必须要有可执行权限。要控制共享的某些文件不被任何人删除,可以去掉其写权限。

特别注意:比如访问samba是使用的xxx.example.org域名,那一定要在服务器上配置hosts,添加127.0.0.1  xxx.example.org,否则会很卡。诡异的问题。

发表于 2020年08月24日 00:08   修改于 2021年05月13日 12:02   评论:0   阅读:1429  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo