2011年5月23日 星期一

DD-WRT adduer manually

最近為了 ssh tunnel, 將AP改為 DD-WRT.
想說可以多開幾個帳號分享用.

沒想到 DD-WRT 把 adduser 功能拿掉了.

以下為 workaround 作法:


1. 登入 console 後, 請 vi /etc/passwd 檔.
可以看到原本的檔案長相如下:
root:$1$HLOHKTyt$wW4UAhLrPhGcGocj9SImr1:0:0:Root User,,,:/tmp/root:/bin/sh
reboot:$1$HLOHKTyt$wW4UAhLrPhGcGocj9SImr1:0:0:Root User,,,:/tmp/root:/sbin/reboot

請手動增加 user 資料, ex:

root:$1$HLOHKTyt$wW4UAhLrPhGcGocj9SImr1:0:0:Root User,,,:/tmp/root:/bin/sh
foobar:$1$HLOHKTyt$wW4UAhLrPhGcGocj9SImr1:500:500:Root User,,,:/tmp/foobar:/bin/sh
reboot:$1$HLOHKTyt$wW4UAhLrPhGcGocj9SImr1:0:0:Root User,,,:/tmp/root:/sbin/reboot


2. vi /etc/group 檔案
原本的檔案內容如下:
root:x:0:

請手動增加 group 資料, ex:
root:x:0:
user:x:500:

3. 建立使用者 home 目錄. 指令如下:
mkdir /tmp/foobar

4. 請用 /sbin/setuserpasswd 更換密碼.
但更換完密碼後, passwd檔案只會剩下 root & reboot 二個 user. group 檔案只會剩下 root 這個群組.
故請先執行 /sbin/setuserpasswd 更換 root 密碼, 然後將 /etc/passwd 第二個欄位抄下來, 再進行新增使用者, 最後將剛抄下來的密碼貼上去.


reboot DD-WRT 後手動增加的帳號會消失喔, 請記得備份passwd & group檔.

2011/6/15補充:關於 reboot 後 passwd/group 檔會被回復的問題請參考留言處理. :)

1 則留言:

ktchiou 提到...

感謝你提拱的方法解決我的問題
我把你剩下的問題解決了

在管理介面設定開機執行下列指令
就可以達到自動新增帳號的效果
這樣就不用每次reboot都要手動弄一次了

p.s. 我預設用的帳號是user

sed -i '$a user:$1$Fvig.dSk$Nq/88gEcpqmoIEf2/2lst0:500:500:Root User,,,:/tmp/user:/bin/sh' /tmp/etc/passwd
sed -i '$a user:x:500:' /tmp/etc/group
mkdir /tmp/user