挂载移动硬盘使用 Samba 共享存储及家庭私有云。

刷入OpenWrt/LEDE

具体可参照 OpenWrt 的使用

安装必备软件

1
2
3
4
5
6
7
opkg install kmod-usb-storage usbutils kmod-fs-vfat block-mount kmod-fs-ext4 samba36-server

#安装分区软件
opkg install fdisk

#安装格盘软件
opkg install e2fsprogs

查看可用设备

1
ls -l /dev/sd*

usb 3.0 dev下无设备问题

1
kmod-usb-storage-uas

/dev 下无法看到移动一般,需要安装 uas 的usb 3.0 驱动,这个问题弄了我整整 5 个小时!!!

格式化

1
2
#格式化为etx4
mkfs.ext4 /dev/sda

挂载命令

1
2
3
4
5
#挂载ext4格式盘
mount -t ext4 /dev/sda /belen/

#挂载fat32格式盘
mount -t vfat /dev/sda /mnt

解除挂载命令

1
umount /dev/sda

自动挂载(插上U盘后通电式)

fstab 机制,修改 /etc/config/fstab 中的 option

1
2
#值修改为1
anon_mount '1'

硬盘自动休眠

1
2
3
4
5
opkg update
opkg install hdparm

hdparm -S 60 /dev/sda (放到开机启动项就可以每次开机都生效!)
hdparm -y /dev/sda (这个命令是立即休眠,测试硬盘是否休眠成功。)

注意: hdparm -S 60 /dev/sda 设置超时值( 5 分钟)使硬盘进入休眠模式(省电模式)(这个 S数值/12 =分钟); /dev/sda 为挂载的硬盘路径,ls /dev/sda 查看你的盘符。执行完 hdparm -S 60 /dev/sda 这个命令时你的路由已经设置为5分钟休眠了。(5分钟硬盘无操作时省电模式,休眠时接到读写命令会自动唤醒进入工作模式)

Samba

上面的 samba36-server 是本文发布时的 Samba 服务软件包名称,其中数字 36 表示 3.6.X 版本,以后 Samba 版本更新的话可能找不到这个软件包,这个时候执行 opkg list | grep samba 搜一下就好

修改配置文件

1、 修改 /etc/samba/smb.conf.template 而不是 /etc/samba/smb.conf,每次重启都会重新生成 /etc/samba/smb.conf[global] 中的 invalid users = root 注掉

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[global]
netbios name = Download
display charset = UTF-8
interfaces = lo br-lan
server string = Download
unix charset = UTF-8
workgroup = WORKGROUP
bind interfaces only = yes
deadtime = 30
enable core files = no
#invalid users = root
local master = no
map to guest = Bad User
max protocol = SMB2
min receivefile size = 16384
null passwords = yes
passdb backend = smbpasswd
security = user
smb passwd file = /etc/samba/smbpasswd
use sendfile = yes

2、 配置特定用户(root)可访问的读写权限目录 /etc/config/samba

1
2
3
4
5
6
7
8
config sambashare
option name 'aria2'
option path '/mnt/sda'
option users 'root'
option read_only 'no'
option guest_ok 'no'
option create_mask '0755'
option dir_mask '0755'

设置共享密码

1
smbpasswd -a root

3、 配置匿名登录的 readonly 权限目录

1
2
3
4
5
6
7
config sambashare
option name 'Moive'
option path '/mnt/sda/Downloads'
option read_only 'yes'
option guest_ok 'yes'
option create_mask '0755'
option dir_mask '0755'

4、 启动 Samba

1
/etc/init.d/samba start|stop|reload