極路由插上移動硬盤后會自動建立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