极路由插上移动硬盘后会自动建立samba服务器,但我们没法去配置哪些盘符需要密码,这样只要在同一个wifi下的电脑都能去访问这些东西了,比较弱智。另外我还想再公司中去读写这个移动硬盘。
设置密码
首先连入极路由后,pc会在“此电脑 -> 网络”中多出两项如下图所示,双击“网络设施”那个图标其实是跳转到极路由的web界面,而“计算机”中的“HIWIFI”就是我连在极路由上的硬盘,双击“HIWIFI”后是不需要密码就能进去的。
其中我的移动硬盘分为4个盘符,分别为hadoop1、hadoop2、hadoop3、mydisk,剩余的几个盘符是装极路由插件自动生成的
现在我的目标是给mydisk和xunlei两个文件夹加密,做如下操作:
- 给极路由root,安装开发者插件
- 使用ssh客户端登录到极路由的openwrt系统(linux)中
- 使用vi编辑器编辑
/etc/config/samba
文件,修改mydisk项设置只有lanhuajian
用户可以读写/tmp/storage/sda5
目录,且不允许访客读写该目录,xunlei的配置同理不再赘述
- 通过
adduser
命令给linux系统添加lanhuajian
用户 - 通过
smbpasswd -a lanhuajian
给samba服务增加lanhuajian
用户并设置samba用户的密码 - 通过
/etc/init.d/samba restart
命令去重启samba服务,权限设置就会生效,访问那两个文件夹就会让输入账号密码:
设置跨网访问samba服务
网络运营商已经把samba的端口封掉了,所以发送报文包中包含samba服务端口的都会被抛弃掉,因此我们需要给极路由设置本机的端口转发:
iptables -t nat -A PREROUTING -p tcp --dport 9200 -j REDIRECT --to-ports 139
这样我们就可以通过外网ip+9200端口去访问samba服务了,还可以让mac挂载磁盘进行远程读写,简直方便得不要不要的:
mount -t cifs -o username=lanhuajian,password=1234567,port=9200 //<外网ip>/share /mnt/smb_share
如果要把<外网ip>
改成域名的话,还需要装cifs-utils
apt-get install cifs-utils
yum install cifs-utils