4. ユーザ環境の設定

 
 FreeBSDのシステムが立ち上がったら、以降の作業をやりやすくするために、ユーザ環境を整えます。 4.1 shell の変更 4.2 ログインメッセージの変更 4.3 ユーザの追加 4.4 /usr/share/skel の変更

4.1 shell の変更

 デフォルトでは、shell は csh が設定されています。tcsh の方が csh より使い勝手がよいので tcsh がユーザのデフォルトの shell となるように設定します。  自分は csh のままでいいんだという人はここは読み飛ばしてください。  FreeBSD 4.2-RELEASEより、tcsh は標準で実装されています。それ以前のバージョンをお使いになる場合は、ports を利用してインストールしてください。  現時点で、ユーザは root ユーザしか存在しません。まず root ユーザの shell を tcsh にします。
> chsh
 と入力します。  これで editor が起動されますので
#Changing user database information for 
ユーザ名
. Shell: /bin/csh Full Name:
ユーザ名フルネーム (省略可)
Office Location: Office Phone: Home Phone: Other information:
 この
Shell: 
/bin/csh
 
の部分を
Shell: 
/bin/tcsh
 に変更してください。保存して終了すると
"/etc/pw.F10291" 14 lines, 299 characters
chsh: updating the database...
chsh: done
 と変更された旨がメッセージ表示されます。  実際に変更した内容が有効化されるのは、ログアウトしてログインしなおしてからですので、早速tcshを使用したい方はログインしなおしてください。

4.2 ログインメッセージの変更

 FreeBSD をインストールたままの状態であれば、ログインする度に、以下のようなメッセージが表示されます。
Last login: Wed Aug  4 13:44:39 2004 from 192.168.0.19
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.

FreeBSD 4.10-RELEASE (GENERIC) #0: Tue May 25 22:47:12 GMT 2004

Welcome to FreeBSD!

Before seeking technical support, please use the following resources:

o  Security advisories and updated errata information for all releases are
   at http://www.FreeBSD.org/releases/ - always consult the ERRATA section
   for your release first as it's updated frequently.

o  The Handbook and FAQ documents are at http://www.FreeBSD.org/ and,
   along with the mailing lists, can be searched by going to
   http://www.FreeBSD.org/search/.  If the doc distribution has
   been installed, they're also available formatted in /usr/share/doc.

If you still have a question or problem, please take the output of
`uname -a', along with any relevant error messages, and email it
as a question to the questions@FreeBSD.org mailing list.  If you are
unfamiliar with FreeBSD's directory layout, please refer to the hier(7)
man page.  If you are not familiar with man pages, type `man man'.

You may also use /stand/sysinstall to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.

 毎回これが表示されるのは、ちょっと嫌かな?という気がします。  このメッセージを表示しないようにする方法があります。  /etc/login.conf を編集するという手もあるのですが、今回はもっと安易な方法をとります。  メッセージとして表示されている文字列は /etc/motd というファイルの中身を表示しているのです。  そこで、editor を使って、motd の中身を自分の好きな文字列に変更しましょう。心配な方は、motd のオリジナルをどこかにコピーしてバックアップを取っておきましょう。  さらに、/usr/games/fortune が存在すると FreeBSD のヒント(tips)がログイン時に出力されますが、それを抑止するには $HOME/.login の
# $FreeBSD: src/share/skel/dot.login,v 1.17.2.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
 最下行をコメントアウトしましょう。

4.3 ユーザの追加

 root ユーザのみで作業していると危険が大きいです。一般ユーザを追加しましょう。  ユーザの追加用のコマンドは adduser です。adduser コマンドを入力して以降の動きを見ていきましょう。
/etc/adduser.conf: No such file or directory
Use option ``-silent'' if you don't want to see all warnings and questions.

Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Usernames must match regular expression:
[^[a-z0-9_][a-z0-9_-]*$]:
Enter your default shell: csh date no sh tcsh [sh]: 
tcsh (注1)
Your default shell is: tcsh -> /bin/tcsh Enter your default HOME partition: [/home]: Copy dotfiles from: /usr/share/skel no [/usr/share/skel]: Send message from file: /etc/adduser.message no [/etc/adduser.message]: Create ``/etc/adduser.message''? (y/n) [y]: Use passwords (y/n) [y]: Write your configuration to /etc/adduser.conf? (y/n) [y]: Ok, let's go. Don't worry about mistakes. I will give you the chance later to correct any input.
 「」で表示されているところは、プロンプトになっています。  特に何も指定していないところはそのまま [Enter] キーを押下してください。
 注1:使用する shell を入力します。
       shell をデフォルトの csh のままとするのであればそのまま [Enter] キーを押下してください。
 次に、以下のように進みます。
Enter username [^[a-z0-9_][a-z0-9_-]*$]: 
hogehoge (注2)
Enter full name []: Enter shell csh date no sh tcsh [tcsh]: Enter home directory (full path) [/home/
hogehoge
]: Uid [1000]: Enter login class: default []: Login group
hogehoge
[
hogehoge
]: Login group is ``
hogehoge
''. Invite
hogehoge
into other groups: guest no [no]: Enter password []:
(注3)
Enter password again []:
(注4)
 注の書いてあるところ意外はすべてそのまま [Enter] キーを押下します。  注2:追加するユーザ名を入れます。ここでは仮に「hogehoge」としておきます。  注3:パスワードを入力します。パスワードの入力はエコーバックされません。  注4:注3で入れたパスワードに間違いがないか再入力します。
Name:     
hogehoge
Password: **** Fullname:
hogehoge
Uid: 1000 Gid: 1000 (
hogehoge
) Class: Groups:
hogehoge
HOME: /home/
hogehoge
Shell: /bin/tcsh OK? (y/n) [y]:
(注5)
Added user ``
hogehoge
'' Send message to ``
hogehoge
'' and: no root second_mail_address [no]:
hogehoge
, your account ``
hogehoge
'' was created. Have fun! See also chpass(1), finger(1), passwd(1) Add anything to default message (y/n) [n]:
n (注6)
Send message (y/n) [y]:
n (注7)
Copy files from /usr/share/skel to /home/
hogehoge
Add another user? (y/n) [y]:
n (注8)
 注5:入力した内容に問題がないかの確認です。問題がなければそのまま [Enter] キーを押下します。 入力内容に間違いがあれば、[n] を入力すると初めから入力しなおせます。  注6:ユーザ作成の際のデフォルトのメッセージを追加する場合は「y」を そうでないならば、「n」を入力してください。  注7:作成したユーザに対して、ユーザ作成メッセージを送信するならば「y」を そうでないならば、「n」を入力してください。  注8:更に他のユーザを追加するか聞いてきます。 これで終わりならば、「n」を入力してください。 「y」を入力すると、またユーザ名から入力することになります。  システムインストール後初めてユーザを作成したときに、/etc/adduser.conf というファイルが作成されます。  /etc/adduser.conf には、ユーザ作成時のデフォルト環境が設定されています。  デフォルト環境を変更する場合、毎回、adduser で設定を入力しなおすのが面倒な場合は、/etc/adduser.conf を編集することにより、煩雑な入力を避けることができます。

4.4 /usr/share/skel の変更

 /usr/share/skel というディレクトリにユーザ追加時にデフォルトで設定される項目のスケルトンが用意されています。  たとえばここの dot.cshrc というファイルを編集しておけば、ユーザ追加の度に .cshrc を編集したりすることがなくなりますので便利です。  ここでは、コマンドプロンプトの先頭に現在のディレクトリ位置が表示されるようになるように編集してみましょう。  /usr/share/skel/dot.cshrc を editor で開いて最下行に移動します。
if ($?prompt) then
        # An interactive shell -- set some stuff up
        set filec
        set history = 100
        set savehist = 100
        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
        endif
endif
 の最後の endif の直前に
        set prompt='%/ > '
 という1行を追加してみましょう。そうするとこれ以降追加したユーザのコマンドプロンプトの先頭に、現在のディレクトリ位置が表示されるようになります。  以上、簡単なユーザ環境設定でした。  ユーザ環境は、いろいろ変えてみると大変便利なことがありますので、自分の環境に合わせていろいろと工夫してみましょう。