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 11.0 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」 と記述する
などの方法があるのですが。
「/etc/ssh/sshd_config」 の 「PrintMotd no」 はうまく動作しませんでした。
「.hushlogin」 を置くとログイン後、いきなりプロンプトが表示されます。
これはいささかさびしいので、このあたりの落としどころとして、「motd」 というファイルを編集するという方法があります。
メッセージとして表示されている文字列は 「/etc/motd」 というファイルの中身を表示しているのです。
エディタを使って、「motd」 の中身を編集します。心配な方は、「motd」 のオリジナルをどこかにコピーしてバックアップを取っておきます。「RCS」でバックアップしておくのが一番であると思います。
FreeBSD 11.0 RELEASE (GENERIC) #0 r297264: リリース日時
Welcome to FreeBSD!
くらいが、バランスの良い 「Welcome」 メッセージかと思います。
3. tips を非表示にする
「11.0 RELEASE」 以前は、インストール時に 「game」 をインストールしていなければ、「FreeBSD」 のヒント(tips)は出力されなかったのですが。
「11.0 RELEASE」 では、インストールの項目にかかわらず表示されるようです。
抑止するには
$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. shell の変更
デフォルトでは、シェルは 「csh」 が設定されています。もし、シェルを変更したい場合は、以下のように行います。例として、「tcsh」 を使用する場合を記述しています。
「csh」 のまま変更しない場合は、ここは読み飛ばしてください。
現在のシェルを見るには
> echo $SHELL
とします。
> 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
と変更された旨がメッセージ表示されます。
実際に変更した内容が有効化されるのは、ログアウトしてログインしなおしてからですので、早速使用する場合はログインしなおします。
5. ユーザの追加
ユーザの追加方法です。
ユーザを追加するコマンドは 「adduser」 です。(「Linux」 の場合 「useradd」 になります このあたり微妙な違いです)
ユーザ追加時のテンプレートファイルを作成するには 「adduser -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!
テンプレートが作成されたら、実際にユーザを追加します。
Username: ← ユーザ名を入力します
Full name:
Uid (Leave empty for default):
Login group ["グループ名"]:
Login group is "グループ名" Invite グループ名 into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: tcsh
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]:
Enter password: ← パスワードを入力します(エコーバックされません)
Enter password again: ← パスワードを再度入力します
Lock out the account after creation? [no]:
Username : ユーザ名
Password : *****
Full Name :
Uid : ユーザID
Class :
Groups : グループ名
Home : /home/ホームディレクトリ
Home Mode :
Shell : /bin/tcsh
Locked : no
OK? (yes/no):
adduser: INFO: Successfully added ("ユーザ名") to the user database.
Add another user? (yes/no): no ← 続けてユーザを作成する場合は [yes] です
Goodbye!
6. /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」
プロンプトを編集すると作業がやりやすくなります。プロンプト編集の代表的な書式を紹介しておきます。