FreeBSD帳號密碼轉移至Linux
FreeBSD的帳號密碼及其他資訊都存在master.passwd,Linux則分別存在passwd及shadow中。
master.passwd@FreeBSD
帳號:密碼:UID:GID:Login Class:Change:Expire:Full Name:家目錄:Login SHELL
- Login Class:幾乎沒在用了,通常是空的
- Change:強迫使用者改密碼的時間週期, 0 表示不設定
- Expire:使用者帳號的使用期限, 0 表示不設定
passwd@Linux
帳號:密碼:UID:GID:Full Name:家目錄:Login SHELL
FreeBSD比Linux多了三個欄位
所以我們將那三個欄位捨棄,並把密碼那欄設為x,因為Linux的密碼是存在shadow
cat master.passwd.bsd | awk -F":" '$3>=1002&&$3 passwd.linux
shadow@Linux
帳號:密碼:3:4:5:6:7:8:9
- 3.last password change
- 4.days until change allowed
- 5.days before change required
- 6.days warning for expiration
- 7.days before account inactive
- 8.date when account expires
- 9.reserved for future use
接著處理shadow
cat master.passwd.bsd | awk -F":" '$3>=1002&&$3 shadow.linux
再來處理group
cat group.bsd | awk -F":" '$3 >=1002&&$3 group.linux
接著把他們附加到原本的檔案後面
cat shadow.linux >> /etc/shadow
cat passwd.linux >> /etc/passwd
cat group.linux >> /etc/group
