samba是一个文件共享服务器。
apt install samba samba-common-bin
使用samba需要开启137,138,139,389,445,901端口。
samba配置文件在/etc/samba/smb.conf
在文件最后添加:
[global]
server string = Samba Server Version %v
passdb backend = tdbsam
cups options = raw
security = user #认证模式为User
map to guest = bad user #这个很关键,实现匿名无须交互输入用户名和密码就靠它了
guest account = guest #匿名用户映射为guest用户
[myshare] #显示名称
comment = My share
path = /home/public #共享路径
browseable = Yes #可以被浏览,就是在网络邻居中能看到共享名
read only = No #可读写
guest ok = Yes #允许匿名访问,这个也需要设置,否则匿名无法访问
valid users = samba liuag guest #有效的用户和组
invalid users = liuben #无效用户和组
read list = samba #只读用户和组(如果read only = No,只读用户需要在此设置)
write list = liuag #可读写用户和组(如果read only = Yes,可读写用户需要在此设置)
allow hosts = 192.168.100.236 #允许访问主机列表,支持通配符
deny hosts = 192.168.100.0/24 #禁止访问主机列表,支持通配符
[MyNAS]
# 说明信息
comment = NAS Storage
# 可以访问的用户
valid users = pi,root
# 共享文件的路径,raspberry pi 会自动将连接到其上的外接存储设备挂载到/media/pi/目录下。
path = /media/pi/
# 可被其他人看到资源名称(非内容)
browseable = yes
# 可写
writable = yes
# 新建文件的权限为 664
create mask = 0664
# 新建目录的权限为 775
directory mask = 0775
可以把配置文件中你不需要的分享名称删除,例如 [homes], [printers] 等。
测试配置文件是否有错误,根据提示做相应修改
testparm
添加登陆账户并创建密码,必须是 linux 已存在的用户
smbpasswd -a pi
重启 samba 服务
/etc/init.d/samba restart
测试
回到windows,就可以在网络当中发现共享的文件夹了