|
|
— |
freebsd:freebsd_change_existing_username [2018-08-21 15:10] (現在) Decomo 作成 |
| ====== FreeBSDでユーザー名を変更する ====== |
| |
| ===== 要旨 ===== |
| |
| FreeBSDで既存のユーザー名を変更するには、''/etc/master.passwd''を編集し''pwd_mkdb''コマンドでユーザーデータベースを更新してやればよい。と同時に''/etc/group''でグループの変更も忘れずに行うこと。 |
| |
| ===== 手順 ===== |
| |
| ==== ユーザー名の変更 ==== |
| |
| ユーザーデータベースのマスターファイル''/etc/master.passwd''で、当該ユーザーのユーザー名を変更する。マスターファイルなので編集には細心の注意を払うこと。 |
| |
| ここでは、例としてolduserをnewuserにする。必要ならホームディレクトリのパスも変更する。 |
| |
| ■変更前 |
| <code> |
| (略) |
| www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin |
| _ypldap:*:160:160::0:0:YP LDAP unprivileged user:/var/empty:/usr/sbin/nologin |
| hast:*:845:845::0:0:HAST unprivileged user:/var/empty:/usr/sbin/nologin |
| nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin |
| olduser:$hashvalueofpassword:1001:1001::0:0:User &:/home/olduser:/usr/local/bin/bash |
| </code> |
| |
| ■変更後 |
| <code> |
| (略) |
| www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin |
| _ypldap:*:160:160::0:0:YP LDAP unprivileged user:/var/empty:/usr/sbin/nologin |
| hast:*:845:845::0:0:HAST unprivileged user:/var/empty:/usr/sbin/nologin |
| nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin |
| newuser:$hashvalueofpassword:1001:1001::0:0:User &:/home/newuser:/usr/local/bin/bash |
| </code> |
| |
| ファイルの変更が終わったら、''pwd_mkdb''コマンドでユーザーDBを更新する。 |
| |
| <code> |
| # pwd_mkdb /etc/master.passwd |
| # pwd_mkdb -p /etc/master.passwd |
| </code> |
| |
| 1つ目で /etc/pwd.db, /etc/spwd.db を、2つ目で/etc/passwdが更新される模様。 |
| |
| ==== グループの変更 ==== |
| |
| 通常、ユーザーを作成すると同名のグループが作成されるため、''/etc/group''も忘れずに変更する。また、当該ユーザーがwheelグループに所属していたりsudoersの場合、修正を忘れるとrootに昇格できなくなる。rootのネットワークログインが無効化されてたりすると、最悪、リモートでは対処不能になるので要注意。 |
| |
| ■変更前 |
| <code> |
| (略) |
| wheel:*:0:root,olduser |
| (略) |
| olduser:*:1001: |
| </code> |
| |
| ■変更後 |
| <code> |
| (略) |
| wheel:*:0:root,newuser #←wheelユーザーを忘れがちなので注意! |
| (略) |
| newuser:*:1001: |
| </code> |
| |
| これで変更後のユーザーでログインができるようになるハズ。UID/GIDは変更してないので、ファイルのパーミッションなどは前のユーザー名の状態がそのまま引き継がれる(ユーザー名はUIDに対応する表示名程度のものなので当然ですな。) |