Linux下安装Samba服务开启文件夹共享功能

beat365亚洲投注 📅 2026-08-02 01:33:26 👤 admin 👁️ 9061 ❤️ 981
Linux下安装Samba服务开启文件夹共享功能

前言

局域网如果里有一台24小时开机的低功耗linux主机,那自然是要给它装上samba开启文件共享功能,把它作为一个文件服务器来用。可能有人会问,想开共享文件夹,直接给主机装casaos不就好了,就算不用samba也可以用filebrowser、alist、dufs、chfs之类。emmm,说的很对,但那不是少了很多手动挡的乐趣嘛。而且自己手搓一边,也方便更好的理解samba。

在记录安装和配置的内容时,确实会发现很多细节没法具体一一记录,只能记录下符合我的需求的配置。这时候就会觉得类似casaos这种webui上直接鼠标点点就开启共享的方式方便多了。

前期准备

一台24小时开机的低功耗linux主机,我这里用的是赚钱宝二代(ws1508)

linux系统有一个非root的低权限账户,这里假定:jack

如果系统安装了防火墙,记得放行samba服务

samba的安装

debian仓库里就有samba,直接一键安装

apt install samba

安装完成后,可以执行systemctl status smbd看下服务的运行状态。

● smbd.service - Samba SMB Daemon

Loaded: loaded (/lib/systemd/system/smbd.service; enabled; preset: enabled)

Active: active (running) since Sun 2023-07-16 13:44:59 CST; 11min ago

Docs: man:smbd(8)

man:samba(7)

man:smb.conf(5)

Process: 4040 ExecCondition=/usr/share/samba/is-configured smb (code=exited, status=0/SUCCESS)

Process: 4043 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)

Main PID: 4044 (smbd)

Status: "smbd: ready to serve connections..."

Tasks: 4 (limit: 986)

Memory: 4.9M

CPU: 9.725s

CGroup: /system.slice/smbd.service

├─4044 /usr/sbin/smbd --foreground --no-process-group

├─4046 /usr/sbin/smbd --foreground --no-process-group

├─4047 /usr/sbin/smbd --foreground --no-process-group

└─4153 /usr/sbin/smbd --foreground --no-process-group

samba添加用户

想要访问通过samba共享的文件夹,需要在samba中添加一个用户并设定密码。这里有一个注意事项,添加到samba的用户,必须是linux系统已经存在的用户。上面假定了linux系统存在一个用户jack,这里把它添加到samba中。

# 添加后会要求设定密码

smbpasswd -a jack

注意这里设定的用户和密码,就是之后访问共享文件夹的账户&密码。这里假定密码是123456。

samba添加共享文件夹

上面两步完成了samba服务的安装和samba访问账户的添加,接下去就是最后一步了,添加共享文件夹。

samba的配置文件路径,默认是/etc/samba/smb.conf。smb.conf的配置参数多如牛毛,这里就不做一一介绍,有兴趣可以访问【samba官方文档】进行了解。这里只贴出快速上手的配置项。

smb.conf中分成两个部分,一个是[global]标签下的全局设置项。注意下面贴出的配置都禁止了访客、禁止了匿名访问,必须通过账号密码登录后才可以访问到共享文件夹中的内容。

[global]

#工作组

workgroup = WORKGROUP

# log日志设定

log file = /var/log/samba/log.%m

max log size = 1000

logging = file

# 安全设定

security = user

server role = standalone server

# 禁止匿名访问设定

map to guest = never

# 最低smb协议版本设定

server min protocol = SMB2

另一个就是共享文件夹的设定,假定添加共享文件夹[movie],路径是/data/movie。其中的权限0744这里不做赘述,可以找其它文章了解。

[movie]

# 共享文件夹备注

comment = blog file folder

# 文件夹的真实路径

path = /data/movie

# 新建文件的权限

create mask = 0744

# 文件夹的权限

directory mask = 0744

# 有效的访问用户

valid users = jack

# 局域网内是否可见

browseable = yes

# 是否可写

writable = yes

# 是否只读

read only = no

# 是否公开(指是否可以无账号访问)

public = no

# 是否访客开放(指是否可以无账号访问)

guest ok = no

大功告成

完成smb.conf的配置以后,重启samba服务。

systemctl restart smbd

然后在局域网的其它电脑上,就可以访问到这个共享文件夹了。访问的账户是假定的jack,密码是假定的123456。

相关推荐

移动端流量占比超70%,但你的网站根本没为手机优化加载速度
战斗之心最强阵容?(战斗之心最强阵容搭配)
BET体育365官网首页

战斗之心最强阵容?(战斗之心最强阵容搭配)

📅 07-31 👁️ 8664
手机分期都有什么平台?这10个平台可分36期、利率较低