FreeBSD 10.3 RELEASE - OS 起動後の基本的な設定 - ユーザ環境の設定

クラウディア 
 起動してログインできるようになったら、以降の作業をやりやすくするために、ユーザ環境を整えます。
1. ユーザに root 権限を与える
2. motd の変更
3. shell の変更
4. ユーザの追加
4. /usr/share/skel の変更

1. ユーザに root 権限を与える

 システムの設定を変更したり、アプリケーションのインストールをするのには「root」ユーザ権限が必要ですが。  「root」ユーザでログインは、あまりしたくありません。  そういうときは、一般ユーザでログインしておき、「su」で「root」ユーザになります。(「sudo」というコマンドもあるようですが、いちいちすべてに「sudo」するのは面倒くさい)  「root」ユーザ以外に、「root」権限を与えていない状況では、この設定を行うのは「root」ユーザでログインするしかありませんが。

/etc/group
 をエディタで開いて。

wheel:*:0:root
 の後ろに。

wheel:*:0:root,ユーザ名
 と権限を与えるユーザ名を記述します。  カンマで区切っていけば複数のユーザに「root」ユーザ権限を与えることができます。  いったんログアウトして、一般ユーザでログインしなおし、以降の作業は「su」でユーザ権限を切り替えながら行います。

2. motd の変更

 「FreeBSD」をインストールたままの状態であれば、ログインする度に、以下のようなメッセージが表示されます。

Last login: 前回ログインした日時 from IPアドレス
FreeBSD 10.3-RELEASE (GENERIC) #0 r297264: 現在の日時

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List: https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

Edit /etc/motd to change this login announcement.
 「Welcome to FreeBSD!」以降のメッセージはログインするたびに異なります。  ここはお好みになりますが、毎回これが表示されるのはうっとうしい気もします。わたしは、あまり表示したくないのです。  このメッセージを表示しないようにするには ・/home/ユーザ/ に .hushlogin というファイルを置く ・/etc/login.conf から「:welcome=/etc/motd:\」という行を削除する ・/etc/ssh/sshd_config に「PrintMotd no」と記述する  などの方法があるのですが、例えば「.hushlogin」を置くとログイン後、いきなりプロンプトが表示されます。  これはいささかさびしいので、このあたりの落としどころとして、motd というファイルを編集するという方法があります。  メッセージとして表示されている文字列は、「/etc/motd」というファイルの中身を表示しているのです。  エディタを使って、「motd」の中身を編集します。  心配な方は、「motd」のオリジナルをどこかにコピーしてバックアップを取っておきます。「RCS」でバックアップしておくのが一番であると思います。

FreeBSD 10.3-RELEASE (GENERIC) #0 r297264: 現在の日時

Welcome to FreeBSD!

 くらいにしておくと、バランスの良い「Welcome」メッセージになります。  インストール時に「game」をインストールしていると「FreeBSD」のヒント(tips)がログイン時に出力されますが、それを抑止するには「$HOME/.login」の。

# $FreeBSD: src/share/skel/dot.login,v 1.17.1.8.1 2012/03/03 06:15:13 kensmith Exp $
#
# .login - csh login script, read by login shell, after `.cshrc' at login.
#
# see also csh(1), environ(7).
#

if ( -x /usr/games/fortune ) /usr/games/fortune freebsd-tips
 最下行をコメントアウトします。と知ったかぶりですが、実はわたしは「game」をインストールしたことがないので実際にどうなるかは知りません。悪しからず。

3. shell の変更

 デフォルトでは、「shell」は「csh」が設定されています。  もし、「shell」を変えたい場合は、以下のように行います。  例として、「tcsh」を使用する場合を記述しています。  「csh」のまま変更しない場合は、ここは読み飛ばしてください。  現在の「shell」を見るには

echo $SHELL
 とします。  「FreeBSD 4.2-RELEASE」より、「tcsh」は標準で実装されています。

chsh
 と入力します。  これでエディタが起動されますので、編集します。

#Changing user information for ユーザ名.
Login: root
Password: パスワードを暗号化した文字列
Uid [#]: 0
Gid [# or name]: 0
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /root
Shell: /bin/csh  これがシェルの定義になりますので、使用したいシェルをフルパスで記述します
Full Name: Charlie &
Office Location:
Office Phone:
Home Phone:
Other information:
に変更してください。保存して終了すると

/etc/一時ファイル名: 行数 lines, 文字数 characters.
chsh: user information updated
 と変更された旨がメッセージ表示されます。  実際に変更した内容が有効化されるのは、ログアウトしてログインしなおしてからですので、早速使用する場合はログインしなおします。

4. ユーザの追加

 ユーザの追加方法です。  ユーザを追加するコマンドは「adduser」です(「Linux」の場合「useradd」になります このあたり微妙な違いです)。  ユーザ追加時のテンプレートファイルを作成するには「useradd -C」で行います。

Uid (Leave empty for default):
Login group []:
Enter additional groups []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: デフォルトのシェルを変更する場合ここに入力します
Home directory [/home/]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Lock out the account after creation? [no]:
Pass Type  : yes
Class      :
Groups     :
Home       : /home/
Home Mode  :
Shell      : /bin/tcsh
Locked     : no
OK? (yes/no): yes 設定に問題がない場合 [yes] を入力します
Re-edit the default configuration? (yes/no): no 再度編集しない場合 [no] を入力します
Goodbye!
 テンプレートが作成されたら、実際にユーザを追加します。  ユーザ「hogehoge」を追加する場合。

Username: hogehoge
Full name:
Uid (Leave empty for default):
Login group [hogehoge]:
Login group is hogehoge. Invite hogehoge into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: tcsh
Home directory [/home/hogehoge]:
Home directory permissions (Leave empty for default):
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   : hogehoge
Password   : *****
Full Name  :
Uid        : ユーザID
Class      :
Groups     : グループ名
Home       : /home/ホームディレクトリ
Home Mode  :
Shell      : /bin/tcsh
Locked     : no
OK? (yes/no):
adduser: INFO: Successfully added (hogehoge) to the user database.
Add another user? (yes/no): no 続けてユーザを作成する場合は [yes] です
Goodbye!

4. /usr/share/skel の変更

 「/usr/share/skel」というディレクトリにユーザ追加時にデフォルトで設定される項目のテンプレートが用意されています。  たとえばここの「dot.cshrc」というファイルを編集しておけば、ユーザ追加の度に「.cshrc」を編集したりすることがなくなりますので便利です。  テンプレート作成のついでに「.cshrc」に記述しておくと便利な項目を紹介します(あくまでも個人的な趣味ですので、それぞれいろいろ工夫する余地はたくさんあると思います)。  「/usr/share/skel/dot.cshrc」を編集します。

alias ci    ci -l        ← RCS を使いやすくする設定です
alias h     history 1000 ← history の数を変更します
alias j     jobs -l
alias ls    ls -aG       ← ls の時点で .ではじまるファイルを表示、カラーで出力します
alias la    ls -aF
alias lf    ls -FA
alias ll    ls -lAF

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

setenv  EDITOR  vi
setenv  PAGER   more
setenv  BLOCKSIZE   K

if ($?prompt) then
    # An interactive shell -- set some stuff up
    set prompt = "%N@%m:%~ %# "
    set promptchars = "%#"

    set filec
    set history = 1000            ← history の数を変更します
    set savehist = (1000 merge)   ← merge をいれておくと別の端末からの history もマージされます
    set autolist = ambiguous
    # Use history to aid expansion
    set autoexpand
    set autorehash
    set mail = (/var/mail/$USER)
    if ( $?tcsh ) then
        bindkey "^W" backward-delete-word
        bindkey -k up history-search-backward
        bindkey -k down history-search-forward
        set prompt='%/ > '           ← プロンプトを編集します (注1)
    endif

    setenv TERM kterm-color      ← 端末をカラーモードにします
endif
 注1  プロンプトを編集すると作業がやりやすくなります。  プロンプト編集の代表的な書式を紹介しておきます。
書式 意   味
%/カレントディレクトリを表示します
%Mホスト名のフルネームを表示します
%mホスト名の最初の . までを表示します
%t12時間表記の時間を表示します
%T24時間表記の時間を表示します
%nユーザ名を表示します
ハイスピードプラン【usus ウズウズ】5G CONNECT