第五课 局域网共享服务

这一节我们来做一个局域网共享服务,这里我们用Samba这个老牌软件来做这个。

安装Samba

第一步貌似永远都是先按照软件包。。。

sudo apt-get install samba

配置Samba

Samba的配置文件放在/etc/samba/目录下,这里我们先将默认的配置文件备份,然后编辑:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vim /etc/samba/smb.conf

在新建的配置文件内添加以下内容:

#全局的配置
[global]
#安全级别,共有四种安全级别:share、user、server和domain。
security = user
#对密码进行加密
encrypt passwords = true
map to guest = bad user

#匿名访问
[share]
#共享备注
comment = Guest access shares
#共享目录路径
path = /home/pi/Downloads
#可以浏览
browseable = yes
#写权限
writable = yes
#若想配置为只读,将writable删除,并取消read only的注释
#read only = yes
guest ok = yes
public = yes

#需要用户密码访问
[documents]
comment = Pi Documents
path = /home/pi/Documents
browseable = yes
writable = yes
#允许访问的用户
valid users = pi

我们配置了两个目录,一个是可以匿名访问的,一个是必须用pi用户去通过密码验证的。这样我们就在Samba上添加一个pi用户(这里的pi用户和系统的pi用户没有关系)。

#执行下面命令,并输入密码
sudo smbpasswd -a pi

用户也创建好了,我们就来重启服务访问吧。

重启服务

修改好配置我们要重启服务了

sudo systemctl restart smbd

重启服务后,在windows下用\\192.168.31.11这样去访问我们的共享目录。访问的share目录就是树莓派上/home/pi/Downloads的目录,也就我们上一节课设置的Aria2的下载目录了。 我们尝试在share目录下创建个文件,发现创建失败。这是由于匿名用户对/home/pi/Downloads目录没有写权限,虽然Samba有配置有写的权限,但是文件系统权限却对匿名用户没有开放。所以我们需要修改下目录权限

sudo chmod 777 /home/pi/Downloads

这样,匿名用户就可以修改文件和删除文件了。最后,我们再来试下访问Documents这个目录,输入用户pi和刚才创建用户时输入的密码。

创建DLNA服务

只讲Samba好像有点少,我看网上不少教程都是说完Samba又加了个DLNA的服务。所以,这里我就补充下DLAN,其实内容很简单。

  • 安装包

    sudo apt-get install minidlna
    
  • 修改配置文件

    sudo vim /etc/minidlna.conf
    #找到media_dir这一行,将其注释掉,并在下面添加下面内容
    media_dir=/home/pi/Downloads
    
  • 重启服务

    sudo systemctl restart minidlna
    
  • 验证配置和服务 在浏览器访问http://192.168.31.11:8200/可以看到minidlna检索到的视频、音频和图片。然后我们在windows的网络邻居内就可以直接访问这些内容,不需要通过Samba的共享服务。