13.6. 更改帳號
前一頁 | 章 13. 使用者與基本帳號管理 | 下一頁

## 13.6. 更改帳號

在 UNIX® 的環境之中提供了各式不同的指令管理使用者帳號， 以下為較常使用的指令摘要及更詳細的使用範例。

指令 | 摘要
--- | ---
adduser(8) | 新增使用者。
rmuser(8) | 移除使用者。
chpass(1) | 更改使用者資料。
passwd(1) | 更改使用者密碼。
pw(8) | 修改使用者的各種資料。

### 13.6.1. `adduser`

adduser(8) 是一支新增使用者的簡單程式。 它會建立資料於系統的 `passwd` 與 `group` 檔案之中。 同時也會建立使用者的家目錄，從 `/usr/share/skel` 複製預設的組態檔(“dotfiles”)， 並可以選擇性的郵件通知新使用者歡迎訊息。

範例 13.1. 在 FreeBSD 內新增使用者
`#` `adduser` Username: `jru` Full name: `J. Random User` Uid (Leave empty for default): Login group [jru]: Login group is jru. Invite jru into other groups? []: `wheel` Login class [default]: Shell (sh csh tcsh zsh nologin) [sh]: `zsh` Home directory [/home/jru]: Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : jru Password : **** Full Name : J. Random User Uid : 1001 Class : Groups : jru wheel Home : /home/jru Shell : /usr/local/bin/zsh Locked : no OK? (yes/no): `yes` adduser: INFO: Successfully added (jru) to the user database. Add another user? (yes/no): `no` Goodbye! `#`

### 注意:

您輸入的密碼並不會回應到螢幕，所以不會以星號顯示 。 請確定您所輸入的密碼無誤。

### 13.6.2. `rmuser`

您可以使用 rmuser(8) 來將使用者從系統之中完全移除 rmuser(8) 會執行以下動作:

1. 移除該使用者的 crontab(1) 資料 (如果存在)。

2. 移除所有屬於該使用者的 at(1) 工作。

3. 中止所有該使用者擁有的程序。

4. 移除系統本機密碼檔中該使用者的資料。

5. 移除該使用者的家目錄 (如果為該使用者所有)。

6. 移除 `/var/mail` 中屬於該使用者的郵件。

7. 移除暫存空間 (如: `/tmp`) 中所有屬於該使用者的檔案。

8. 最後，在 `/etc/group` 檔內移除該使用者帳號。

   ### 注意:

   若該群組已無成員，或者是群組名稱與該使用者名稱相同時， 則群組將會被移除； 此操作會與 adduser(8) 所建立的帳號群組相對應。

rmuser(8) 無法移除系統管理者帳號帳號， 因為這即代表嚴重的破壞行為。

為了確認您的操作，預設採互動模式。

範例 13.2. `rmuser` 帳號移除
`#` `rmuser jru` Matching password entry: jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh Is this the entry you wish to remove? `y` Remove user's home directory (/home/jru)? `y` Updating password file, updating databases, done. Updating group file: trusted (removing group jru -- personal group is empty) done. Removing user's incoming mail file /var/mail/jru: done. Removing files belonging to jru from /tmp: done. Removing files belonging to jru from /var/tmp: done. Removing files belonging to jru from /var/tmp/vi.recover: done. `#`

### 13.6.3. `chpass`

chpass(1) 可更改使用者資料如: 密碼、Shell及個人資訊。

僅系統管理者即系統管理者帳號可利用 chpass(1) 更改其他使用者的資訊及密碼

除了指定使用者名稱，當不加參數時，chpass(1) 會將使用者資訊顯示於編輯器當中。 並於使用者離開編輯器時更新使用者資訊。

### 注意:

若您並非系統管理者帳號，在離開編輯器前會詢問您的密碼。

範例 13.3. 系統管理者帳號 `chpass`
#Changing user database information for jru. Login: jru Password: * Uid [#]: 1001 Gid [# or name]: 1001 Change [month day year]: Expire [month day year]: Class: Home directory: /home/jru Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:

一般使用者僅可更改自己的少部份資訊。

範例 13.4. 一般使用者 `chpass`
#Changing user database information for jru. Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:

### 注意:

chfn(1) 與 chsh(1) 即為 chpass(1)，也同 ypchpass(1)、ypchfn(1) 與 ypchsh(1)。 NIS 支援是自動的，所以無需在指令前加上 `yp`。 若這會困擾您，請不必擔心，章 27, Network Servers 將函蓋 NIS 的部份的說明。

### 13.6.4. `passwd`

passwd(1) 是更改密碼常用的方式，除了超級管理者可更改其他使用者的密碼外 使用者僅能更改自己的密碼。

### 注意:

為了避免意外或未經同意的修改，在更新密碼前需輸入原密碼。

範例 13.5. 更改您的密碼
`%` `passwd` Changing local password for jru. Old password: New password: Retype new password: passwd: updating the database... passwd: done
範例 13.6. 以系統管理者帳號去更改其他使用者的密碼
`#` `passwd jru` Changing local password for jru. New password: Retype new password: passwd: updating the database... passwd: done

### 注意:

chpass(1)、 yppasswd(1) 即為 passwd(1)，皆支援 NIS。

### 13.6.5. `pw`

pw(8) 用來建立、移除、修改及查詢使用者及群組。 其功能即為系統使用者及群組檔案的前端。pw(8) 擁有大量的指令參數 較適合使用於 shell script 中，對新手來說會此指令較其他指令複雜許多。

前一頁 | 上一層 | 下一頁
13.5. 使用者帳號 | 起始頁 | 13.7. 使用者資源限制

本文及其他文件，可由此下載： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。