o Add new translations and enable them in book.sgml:

(new) -> 1.5	boot/chapter.sgml
	(new) -> 1.1	users/chapter.sgml

    Note: Remove FreeBSD's bootstrap section from
	  internals/chapter.sgml.

o Merge the following from the English version:

	1.5 -> 1.8	chapters.ent

Submitted by:	Hiroki Sato <hrs@geocities.co.jp>
This commit is contained in:
Jun Kuriyama 2000-06-29 01:20:26 +00:00
parent fb3853d6fe
commit 2c04b55a06
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=7472
5 changed files with 1096 additions and 642 deletions
ja_JP.eucJP/books/handbook

View file

@ -3,7 +3,7 @@
The FreeBSD Japanese Documentation Project
Original revision: 1.89
$FreeBSD: doc/ja_JP.eucJP/books/handbook/book.sgml,v 1.55 2000/06/15 03:01:35 kuriyama Exp $
$FreeBSD: doc/ja_JP.eucJP/books/handbook/book.sgml,v 1.56 2000/06/24 02:30:46 kuriyama Exp $
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
@ -105,8 +105,8 @@
<part>
<title>システム管理</title>
<!-- &chap.boot; -->
<!-- &chap.users; -->
&chap.boot;
&chap.users;
&chap.kernelconfig;
&chap.security;
&chap.printing;

View file

@ -0,0 +1,569 @@
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.5
$FreeBSD$
-->
<chapter id="boot">
<title>FreeBSD の起動のプロセス</title>
<sect1 id="boot-synopsis">
<title>概要</title>
<para>FreeBSD は通常, 起動(bootstrap)を三段階に分けて行ないます.
これには基本的に, 互いに順番に呼び出される三つのプログラム(二つの
<link linkend="boot-blocks">起動ブロック(boot block)</link>と
<link linkend="boot-loader">ローダ(loader)</link>)が使われています.
これらのプログラムはそれぞれ,
その前に呼び出されるプログラムの情報に基づいて動作し,
より洗練された機能を提供します.</para>
<para>デバイスの検出と初期化が終わると, カーネルが起動されます.
そしてカーネルの起動が終わると, 制御はユーザープロセスの
&man.init.8; へ移されます. &man.init.8; はまず
ディスクが利用可能であることを確かめ,
ファイルシステムのマウント,
ネットワークで利用するネットワークカードのセットアップ,
そして通常 FreeBSD システムで初期時に起動されるすべてのプロセスの起動,
といったユーザーレベルでのリソース(資源)設定を行ないます.</para>
</sect1>
<sect1 id="boot-blocks">
<title>起動ブロック: 起動ステージ 1 および 2</title>
<para><firstterm>起動(bootstrap)</firstterm>とは,
コンピュータが接続されたデバイスを検出, 初期化し,
必要となるプログラムを動作させることを指します.</para>
<para>起動には起動の際の動作が記録された,
特殊な読み出し専用メモリチップを利用します.
その動作は通常,
メモリテストやデバイスの設定を行なう他のチップに制御を渡し,
そして設定された内容をプログラムに提供するというものです.</para>
<para>標準的な個人向けコンピュータでは,
BIOS と呼ばれる起動を行なう部分と,
CMOS と呼ばれる, 設定を記録する部分によって起動が実現されています.
これらはディスクが存在すること,
そしてオペレーティングシステムをロードするためのプログラムが
ディスク上のどこにあるのかを認識しています.</para>
<para>この章では上に述べたような起動の初期の過程については扱いません.
焦点を合わせるのは,
ディスク上のプログラムに制御が移された後の内容についてです.</para>
<para>起動ブロックは(通常), ローダを見つけて実行する役割を持っています.
したがって, ファイルシステム上のプログラムを見つけること,
実行できること,
そしてその動作に関して最低限の設定が可能である必要があります.</para>
<sect2 id="boot-boot0">
<title>boot0</title>
<para>まず実際に最初にあるのは boot0 と呼ばれる起動ブロックです.
これは <firstterm>マスターブートレコード(MBR; Master Boot
Record)</firstterm> という,
システムが起動時にプログラムを検索するディスク上の特殊な部分に存在します.
この部分は, 単に起動可能なスライスのリストが格納されています.</para>
<para>boot0 は非常に単純なプログラムです.
これは, <abbrev>MBR</abbrev> にあるプログラムは
512 バイトの大きさでなければならないという制限があるためです.</para>
<para>boot0 は, 下のような出力をします.</para>
<example id="boot-boot0-example">
<title>boot0 のスクリーンショット</title>
<screen>
F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2</screen>
</example>
</sect2>
<sect2 id="boot-boot1">
<title>boot1</title>
<para>boot1 は起動スライス(slice)の起動セクタにあります.
起動セクタは <link linkend="boot-boot0">boot0</link> が存在し,
<abbrev>MBR</abbrev> にある他のプログラムが
起動のプロセスを続けるために必要なプログラムを探す部分です.</para>
<para>boot1 も非常に単純なプログラムです.
これは boot0 同様に,
512 バイトの大きさでなければならないという制限があるためです.
boot1 は <link linkend="boot-boot2">boot2</link> を検索し,
実行するため, そのスライスの情報を保持する FreeBSD
の<firstterm>ディスクラベル(disklabel)</firstterm>
に関する最低限の情報を持っています.</para>
</sect2>
<sect2 id="boot-boot2">
<title>boot2</title>
<para>boot2 はもう少し高機能です.
これは FreeBSDのファイルシステム上でファイルを見つける能力を持ち,
実行するカーネルやローダを指定するための簡単なインターフェイスを提供する事ができます.</para>
<para><link linkend="boot-loader">ローダ(loader)</link>はさらに高機能なもので,
使いやすく簡単な起動設定が行なえる手段を提供します.
boot2 は通常それを起動します. 以前の boot2 は,
カーネルを直接起動する機能しかありませんでした.</para>
<example id="boot-boot2-example">
<title>boot2 のスクリーンショット</title>
<screen>>> FreeBSD/i386 BOOT
Default: 0:wd(0,a)/kernel
boot:</screen>
</example>
</sect2>
</sect1>
<sect1 id="boot-loader">
<title>ローダ(loader): 起動ステージ 3</title>
<para>ローダは三段階の起動プロセスの最終段階です.
ローダは通常, ファイルシステム上の
<filename>/boot/loader</filename>
として存在しています.</para>
<note>
<para><filename>/boot/boot0</filename>,
<filename>/boot/boot1</filename>,
<filename>/boot/boot2</filename> というファイルがありますが,
これらは <abbrev>MBR</abbrev>,
起動セクタ, ディスクラベルの実際のコピーではありません.</para>
</note>
<para>ローダは, よりさまざまなコマンド群をサポートした
強力なインタープリタによって提供される簡易組み込みコマンド群を利用することで,
ユーザが利用しやすい設定手段となるように設計されています.</para>
<sect2 id="boot-loader-flow">
<title>ローダプログラムの処理の流れ</title>
<para>ローダは初期化の際にコンソールとディスクの検出を行ない,
どのディスクから起動しているかを調べます.
そして必要な変数を設定してからインタープリタを起動し,
簡易コマンドを解釈します.</para>
<para>ローダは次に
<filename>/boot/loader.rc</filename>
を読み込み, 通常, 変数の標準値を定義した
<filename>/boot/defaults/loader.conf</filename>
と, そのマシンにローカルな変数を定義した
<filename>/boot/loader.conf</filename>
を読み込みます.
<filename>loader.rc</filename>
はそれらの変数にもとづき,
選択されたモジュールとカーネルをロードします.</para>
<para>ローダは最後に, 標準設定で 10 秒のキー入力待ち時間を用意し,
入力がなければカーネルを起動します.
入力があった場合, 簡易コマンド群が使えるプロンプトが表示され,
ユーザは変数を調整したり,
すべてのモジュールをアンロードしたり,
モジュールをロードしたりすることができます.
その後, 最終的な起動や再起動へ移行します.</para>
<para>この処理に関するより技術的な説明は
&man.loader.8; にあります.</para>
</sect2>
<sect2 id="boot-loader-commands">
<title>ローダの組み込みコマンド</title>
<para>簡易コマンド群は, 次のようなもので構成されています.</para>
<variablelist>
<varlistentry>
<term>autoboot <replaceable>seconds</replaceable></term>
<listitem>
<para><replaceable>seconds</replaceable>
で与えられた時間内に入力がなければ,
カーネルの起動へと進みます.
カウントダウンを表示し, 標準設定では 10 秒間です.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>boot
<optional><replaceable>-options</replaceable></optional>
<optional><replaceable>kernelname</replaceable></optional></term>
<listitem>
<para>すぐにカーネルの起動へ進みます.
オプション, カーネル名が指定されている場合は,
それらが使われます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>boot-conf</term>
<listitem>
<para>すべてのモジュールの設定を,
起動時と同じように変数にもとづいて自動的に行ないます.
このコマンドは, まず <command>unload</command> を行なって,
変数&mdash;普通 <envar>kernel</envar>
など&mdash;を変更した場合にのみ有効に働きます. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>help
<optional><replaceable>topic</replaceable></optional></term>
<listitem>
<para><filename>/boot/loader.help</filename>
を読み込み, ヘルプメッセージを表示します.
<replaceable>topic</replaceable> に
<literal>index</literal> 指定された場合,
利用可能な <replaceable>topic</replaceable> を表示します.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>include <replaceable>filename</replaceable>
&hellip;</term>
<listitem>
<para>指定されたファイル名のファイルを処理します.
ローダはファイルを読み込み, 行単位で解釈します.
エラーが発生した場合,
include コマンドの実行はその時点で停止します.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>load <optional><option>-t</option>
<replaceable>type</replaceable></optional>
<replaceable>filename</replaceable></term>
<listitem>
<para>指定されたファイル名のカーネル,
カーネルモジュール, あるいは
type に指定された種類のファイルをロードします.
ファイル名以降に指定された引数はファイルへと渡されます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ls <optional><option>-l</option></optional>
<optional><replaceable>path</replaceable></optional></term>
<listitem>
<para>指定された <replaceable>path</replaceable>
にあるファイルを表示します.
<replaceable>path</replaceable>
が指定されていなければ, ルートディレクトリを表示します.
<option>-l</option>
が指定されていればファイルサイズも表示されます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsdev <optional><option>-v</option></optional></term>
<listitem>
<para>モジュールがロード可能なすべてのデバイスを表示します.
もし <option>-v</option> が指定されていれば,
より詳細な出力がされます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsmod <optional><option>-v</option></optional></term>
<listitem>
<para>ロード済みのモジュールを表示します.
<option>-v</option> が指定されていれば,
より詳細な内容が出力されます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>more <replaceable>filename</replaceable></term>
<listitem>
<para><varname>LINES</varname>
単位でスクロールを停止しながら指定されたファイルを表示します.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>reboot</term>
<listitem>
<para>すぐにシステムを再起動します. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>set <replaceable>variable</replaceable></term>
<term>set
<replaceable>variable</replaceable>=<replaceable>value</replaceable></term>
<listitem>
<para>ローダの環境変数を設定します. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>unload</term>
<listitem>
<para>すべてのロード済みモジュールを削除します.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="boot-loader-examples">
<title>ローダの使用例</title>
<para>次にあげるのは, ローダの実践的な使用例です.</para>
<itemizedlist>
<listitem>
<para>普段使っているカーネルをシングルユーザモードで起動します.</para>
<screen><userinput>boot -s</userinput></screen>
</listitem>
<listitem>
<para>普段使っているカーネルとモジュールをアンロードし,
古い(もしくは別の)カーネルをロードします.</para>
<screen><userinput>unload</userinput>
<userinput>load <replaceable>kernel.old</replaceable></userinput></screen>
<para><filename>kernel.GENERIC</filename> とすると,
インストールディスクに入っていた
generic カーネルを指定することができます.
また, 直前にインストールされていたカーネル(たとえば,
カーネルを自分で設定したり,
アップグレードしたりした場合)を指定するには
<filename>kernel.old</filename> とします.</para>
<note>
<para>普段のカーネルで使っているモジュールを
指定したカーネルでロードする場合は, 下のようにします.</para>
<screen><userinput>unload</userinput>
<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput>
<userinput>boot-conf</userinput></screen>
</note>
</listitem>
<listitem>
<para>カーネルの設定スクリプト(通常,
カーネル起動時に設定される内容を自動化するスクリプト)をロードします.</para>
<screen><userinput>load -t userconfig_script
<replaceable>/boot/kernel.conf</replaceable></userinput></screen>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="boot-kernel">
<title>カーネル起動時の応答</title>
<para>カーネルが<link linkend="boot-loader">ローダ</link>(通常は)
か<link linkend="boot-boot2">boot2</link>
(ローダを迂回して)によってロードされると,
起動フラグを調べます.
もし起動フラグがあれば, それに応じて動作を調整します.</para>
<sect2 id="boot-kernel-bootflags">
<title>カーネル起動フラグ</title>
<para>良く使われる起動フラグは次のとおりです.</para>
<variablelist id="boot-kernel-bootflags-list">
<varlistentry>
<term><option>-a</option></term>
<listitem>
<para>カーネル初期化中に,
ルートファイルシステムとしてマウントするデバイスを尋ねます.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-C</option></term>
<listitem>
<para>CDROM から起動します.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem>
<para>起動時にカーネルコンフィグレーションを行なう
UserConfig を実行します.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-s</option></term>
<listitem>
<para>シングルユーザモードで起動します.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem>
<para>カーネル起動時により詳細な情報を表示します.</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>起動フラグはこの他にもあります.
それらについては &man.boot.8; を参照してください.
</para>
</note>
</sect2>
<!-- <sect2 id="boot-kernel-userconfig">
<title>UserConfig: The boot-time kernel configurator</title>
<para> </para>
</sect2> -->
</sect1>
<sect1 id="boot-init">
<title>Init: プロセス制御の初期化</title>
<para>カーネルの起動が完了すると, <command>init</command>
というユーザプロセスに制御が移されます.
これは <filename>/sbin/init</filename>,
もしくは <command>loader</command> の
<envar>init_path</envar> 変数で指定される場所にあります.</para>
<sect2 id="boot-autoreboot">
<title>自動再起動(automatic reboot)の動作</title>
<para>自動再起動では,
システム上で利用できるファイルシステムの一慣性を確認します.
もしそれに問題があって <command>fsck</command> がその不一致を修復できなければ,
管理者に直接に処置させるため <command>init</command>
はシステムを<link linkend="boot-singleuser">シングルユーザモード</link>へと移行させます.</para>
</sect2>
<sect2 id="boot-singleuser">
<title>シングルユーザモード</title>
<para>このモードには,
<link linkend="boot-autoreboot">自動再起動</link>の処理中か,
ユーザが起動時に <option>-s</option> を指定た場合,
あるいは <command>loader</command> で
<envar>boot_single</envar> 変数を設定することによって移行します.</para>
<para>また,
<link linkend="boot-multiuser">マルチユーザモード</link>から
再起動オプション(<option>-r</option>)
や停止(halt)オプション(<option>-h</option>)なしで
<command>shutdown</command> を呼び出すとこのモードに移行します.</para>
<para><filename>/etc/ttys</filename>
でシステムコンソール <literal>console</literal>
が <literal>insecure</literal> に設定されている場合,
システムはシングルユーザモードに移行する前に
root のパスワードを入力するように求めます.</para>
<example id="boot-insecure-console">
<title>/etc/ttys の insecure コンソール</title>
<programlisting># name getty type status comments
#
# This entry needed for asking password when init goes to single-user mode
# If you want to be asked for password, change "secure" to "insecure" here
#
# 訳) このエントリは init がシングルユーザモードへ移行する際にパスワードを要
# 求させるために必要です. もし, パスワードの要求を望む場合, ここの "secure" を
# "insecure" へ変更してください.
#
console none unknown off insecure</programlisting>
</example>
<note>
<para><literal>insecure</literal> コンソールとは,
あなた自身, コンソールが物理的に安全でないと考えていて,
root パスワードを知る人だけがシングルユーザモードを使えるようにしたいという意味であり,
コンソールを安全でない状態で使いたいという意味ではありません.
そのため, 安全性を求めるならば
<literal>secure</literal> でなく
<literal>insecure</literal> を選んでください.</para>
</note>
</sect2>
<sect2 id="boot-multiuser">
<title>マルチユーザモード</title>
<para><command>init</command> がファイルシステムが正常であると判断するか,
ユーザが<link linkend="boot-singleuser">シングルユーザモード</link>を終了すると,
システムはマルチユーザモードへ移行し,
リソースの設定を始めます.</para>
<sect3 id="boot-rc">
<title>リソース設定(rc)</title>
<para>リソース設定システムはデフォルト設定を
<filename>/etc/defaults/rc.conf</filename> から,
そのシステム独自の細かな設定を
<filename>/etc/rc.conf</filename> から読み込みます.
そして <filename>/etc/fstab</filename>
に記述されるシステムファイルシステムをマウントし,
ネットワークサービスの開始,
さまざまなシステムデーモンの開始,
そして最後に, ローカルにインストールされた package
の起動スクリプトの実行へと進みます.</para>
<para>リソース設定システムのに関する参考資料は, &man.rc.8; にあります.
これはスクリプトそのものを調べることと同じくらい優れたものです.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="boot-shutdown">
<title>シャットダウン動作</title>
<para><command>shutdown</command>
を用いてシステムを意図的にシャットダウンした場合,
<command>init</command> は
<filename>/etc/rc.shutdown</filename>
というスクリプトの実行を試みます.
そして, すべてのプロセスへ終了(terminate)シグナルを送り,
続いてうまく終了できなかったプロセスへ
強制終了(kill)シグナルを送ります.
</para>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->

View file

@ -2,8 +2,8 @@
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.5
$FreeBSD: doc/ja_JP.eucJP/books/handbook/chapters.ent,v 1.3 1999/09/08 12:22:31 kuriyama Exp $
Original revision: 1.8
$FreeBSD: doc/ja_JP.eucJP/books/handbook/chapters.ent,v 1.4 2000/06/15 03:02:50 kuriyama Exp $
Creates entities for each chapter in the FreeBSD Handbook. Each entity
is named chap.foo, where foo is the value of the id attribute on that
@ -20,6 +20,8 @@
<!ENTITY chap.ports SYSTEM "ports/chapter.sgml">
<!-- Part two -->
<!ENTITY chap.boot SYSTEM "boot/chapter.sgml">
<!ENTITY chap.users SYSTEM "users/chapter.sgml">
<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml">
<!ENTITY chap.security SYSTEM "security/chapter.sgml">
<!ENTITY chap.printing SYSTEM "printing/chapter.sgml">

View file

@ -3,649 +3,22 @@
The FreeBSD Japanese Documentation Project
Original revision: 1.16
$FreeBSD: doc/ja_JP.eucJP/books/handbook/internals/chapter.sgml,v 1.7 2000/01/11 08:41:59 motoyuki Exp $
$FreeBSD: doc/ja_JP.eucJP/books/handbook/internals/chapter.sgml,v 1.8 2000/03/11 00:10:05 kuriyama Exp $
-->
<chapter id="internals">
<title>FreeBSD の内部</title>
<sect1 id="booting">
<title>FreeBSDのブート処理の流れ</title>
<sect2 id="boot-intro">
<title>はじめに</title>
<para>
<firstterm>ブートストラップ(bootstrap)</firstterm> とは,
コンピュータがデバイスのプローブと初期化および,
どのプログラムを実行させるべきであるかを判断する一連の処理のことです.
</para>
<para>
これはシステムの動作を決定する特殊な ROM チップを利用して実現され,
通常, システムの一慣性とメモリの検査, デバイスの設定,
どのような設定がなされたかをプログラムに伝える機構の提供などをを行なう
他のチップに処理が渡されます.
</para>
<para>
通常のパーソナルコンピュータの場合,
ブートストラップの監視をする
BIOS と, 設定を保持する CMOS が利用されます.
これらはディスクを扱う事ができ,
オペレーティングシステムを起動するプログラムが,
ディスクのどこにあるかを認識しています.
</para>
<para>
この章はブートストラップの第一段階については触れず,
ディスク上のプログラムへ制御が移された後に何が起こるのかについて注目します.
</para>
</sect2>
<sect2 id="boot-overview">
<title>ブートプロセスの概要</title>
<para>
FreeBSD はデフォルトで三段階のブートストラップを行ないます.
基本的に順に互いを呼び出す三つのプログラム(二つの
<link linkend="boot-blocks">ブートブロック</link>と
<link linkend="boot-loader">ローダ</link>)を必要とします.
これらは前のプログラムを土台にしており,
より高い洗練性を提供します.
</para>
<para>
そして, 利用するデバイスの検出され,
初期化の間にカーネルが起動されます.
カーネルのブートプロセスが終ると,
制御はユーザープロセスの init へ移されます.
ディスクが利用可能であることを確かめると,
ファイルシステムのマウント,
ネットワークで利用するネットワークカードのセットアップ,
そして一般的な FreeBSD
システムで初期時に起動される,
すべてのプロセスの起動といったユーザーレベルでのリソース設定を行ないます.
</para>
</sect2>
<sect2 id="boot-blocks">
<title>ブートブロック: ブートストラップステージ 1 と 2</title>
<para>
ブートブロックは(通常)ローダを見つけ,
実行する役割を持っています.
したがって, ファイルシステム上のプログラムを見つけ, 実行し,
その動作に関して多少の設定が可能である必要があります.
</para>
<sect3 id="boot-boot0">
<title>boot0</title>
<para>
実際には boot0 と呼ばれるブートブロックが先行しており,
<firstterm>マスターブートレコード(MBR; Master Boot
Record)</firstterm>にあります. これは,
システムのブートストラップが起動時に探して実行するディスクの特殊な部分で,
単にブートできる可能性のあるスライスのリストを表示します.
</para>
<para>
<abbrev>MBR</abbrev>
に置くプログラムは 512 バイト以上にできないことから
boot0 はとても単純です.
</para>
<para>
こんな感じの出力をします.
</para>
<example id="boot-boot0-example">
<title>boot0のスクリーンショット</title>
<screen>
F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2</screen>
</example>
</sect3>
<sect3 id="boot-boot1">
<title>boot1</title>
<para>
boot1 はブートスライスのブートセクタにあります.
ブートセクタには <link linkend="boot-boot0">boot0</link> があり,
<abbrev>MBR</abbrev> にある他のすべてのプログラムが,
ブートプロセスを続けるために必要なプログラムを探し,
実行するための部分となっています.
</para>
<para>
boot1 も同様に 512 バイト以上にできないことから,
とても単純で,
<link linkend="boot-boot2">boot2</link> を見つけ,
実行するための情報を保持する FreeBSD の
<firstterm>disklabel</firstterm>
について最低限のことを認識しているに過ぎません.
</para>
</sect3>
<sect3 id="boot-boot2">
<title>boot2</title>
<para>
boot2 はもう少し精巧で,
FreeBSDのファイルシステム上でファイルを見つけるのに十分な能力を持ち,
カーネルかローダを指定するための簡単なインターフェイスを提供する事ができます.
</para>
<para>
<link linkend="boot-loader">ローダ</link>ははるかに高機能あり,
簡易的なブート設定の手段を提供するため,
boot2 は通常それを起動します.
しかし, 以前はカーネルを直接起動することを要求されていました.
</para>
<example id="boot-boot2-example">
<title>boot2のスクリーンショット</title>
<screen>>> FreeBSD/i386 BOOT
Default: 0:wd(0,a)/kernel
boot:</screen>
</example>
</sect3>
</sect2>
<sect2 id="boot-loader">
<title>ローダ: ブートストラップステージ 3</title>
<para>
ローダは三段階ブートストラップの最終段階で,
通常, ファイルシステム上に <filename>/boot/loader</filename>
として存在します.
</para>
<note>
<para>
<filename>/boot/boot0</filename>,
<filename>/boot/boot1</filename>,
<filename>/boot/boot2</filename> とがありますが,
これらは実際に <abbrev>MBR</abbrev>,
ブートセクタ,
あるいはディスクラベルにあるものとは異なります.
</para>
</note>
<para>
ローダは,
より複雑なコマンド群を持つ強力なインタープリタを使った
簡易組み込みコマンド群を利用することで,
ユーザフレンドリな設定の手段となるように設計されています.
</para>
<sect3 id="boot-loader-flow">
<title>ローダプログラムの流れ</title>
<para>
初期化の際,
ローダはコンソールとディスクの検出を行ない,
どのディスクからブートしているかを調べます.
そしてしかるべき変数を設定してからインタープリタを起動し,
簡易コマンドを解釈します.
</para>
<para>
ローダは次に
<filename>/boot/loader.rc</filename>
を読み込みます. デフォルトで
<filename>/boot/defaults/loader.conf</filename>
を読み込むことで適当な初期値を変数に与え,
ローカルな変数値設定のために
<filename>/boot/loader.conf</filename>
を読み込みます.
<filename>loader.rc</filename>
はそれらの変数に従い適当なモジュールをロードしカーネルを選択します.
</para>
<para>
最後に, デフォルトではローダは 10 秒のキー入力待ち時間を用意し,
入力がなければカーネルを起動します.
入力があった場合,
ユーザには先に述べた簡易コマンドが使えるプロンプトが出されます.
そこでユーザは変数を調整したり,
すべてのモジュールをアンロードしたり,
モジュールをロードしたりすることができ,
それから最終的にブートやリブートへ移ります.
</para>
<para>
この処理に関するより技術的な説明は
&man.loader.8; にあります.
</para>
</sect3>
<sect3 id="boot-loader-commands">
<title>ローダの組み込みコマンド</title>
<para>簡易コマンドセットの構成は, 次のようになっています.</para>
<variablelist>
<varlistentry>
<term>autoboot <replaceable>seconds</replaceable></term>
<listitem>
<para>
<replaceable>seconds</replaceable>
で与えられた時間内に入力がなければ,
カーネルのブートへと進みます.
カウントダウンを表示し, デフォルトは 10 秒間です.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>boot
<optional><replaceable>-options</replaceable></optional>
<optional><replaceable>kernelname</replaceable></optional></term>
<listitem>
<para>
即座にカーネルのブートへと進みます.
もし指定されていれば,
与えられたオプションとカーネルの名前を使います.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>help
<optional><replaceable>topic</replaceable></optional></term>
<listitem>
<para>
<filename>/boot/loader.help</filename>
から読み込まれたヘルプメセッジを表示します.
与えられた <replaceable>topic</replaceable> が
<literal>index</literal> ならば,
有効な
<replaceable>topic</replaceable>
を表示します.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>include <replaceable>filename</replaceable>
&hellip;</term>
<listitem>
<para>
与えられたファイル名のファイルを処理します.
ファイルは読み込まれ, 行単位で解釈されます.
エラーは即座に include コマンドの実行を停止します.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>load <optional><option>-t</option>
<replaceable>type</replaceable></optional>
<replaceable>filename</replaceable></term>
<listitem>
<para>
与えられたファイル名のカーネル, カーネルモジュール,
あるいは指定されたtypeのファイルをロードします.
ファイル名以降の引数はファイルへと渡されます.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ls <optional><option>-l</option></optional>
<optional><replaceable>path</replaceable></optional></term>
<listitem>
<para>
与えられた <replaceable>path</replaceable> にあるファイル,
あるいは <replaceable>path</replaceable>
が指定されていなければルートディレクトリを表示します.
<option>-l</option>
が指定されていればファイルサイズも表示されます.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsdev <optional><option>-v</option></optional></term>
<listitem>
<para>
モジュールをロード可能なデバイスをすべて表示します.
もし <option>-v</option> が指定されていれば,
より詳細な出力がされます.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsmod <optional><option>-v</option></optional></term>
<listitem>
<para>
ロードされたモジュールを表示します. もし
<option>-v</option> が指定されていれば,
より詳細な内容が出力されます.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>more <replaceable>filename</replaceable></term>
<listitem>
<para>
<varname>LINES</varname>
毎に停止しながら指定されたファイルを表示します.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>reboot</term>
<listitem>
<para>即座にシステムをリブートします. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>set <replaceable>variable</replaceable></term>
<term>set
<replaceable>variable</replaceable>=<replaceable>value</replaceable></term>
<listitem>
<para>ローダの環境変数を設定します. </para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="boot-loader-examples">
<title>ローダの例</title>
<para>
ローダのいくつかの実践的な使用例です.
</para>
<itemizedlist>
<listitem>
<para>
通常のカーネルをシングルユーザモードでブートします.
</para>
<screen><userinput>boot -s</userinput></screen>
</listitem>
<listitem>
<para>
通常のカーネルとモジュールをアンロードし,
古い(もしくは別の)カーネルをロードします.
</para>
<screen><userinput>unload</userinput>
<userinput>load kernel.old</userinput></screen>
<para>
インストールディスクに入っていた
generic カーネルを参照するためには
<filename>kernel.GENERIC</filename>,
あるいは直前にインストールされていたカーネル(例えば,
カーネルを自分で設定したり,
アップグレードしたりして)を参照するには
<filename>kernel.old</filename>
が使えます.
</para>
</listitem>
<listitem>
<para>
カーネルの設定スクリプト(通常,
カーネルブート時に設定される内容を自動化するスクリプト)をロードします.
</para>
<screen><userinput>load -t userconfig_script
<replaceable>/boot/kernel.conf</replaceable></userinput></screen>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="boot-kernel">
<title>ブート時のカーネルとの応答</title>
<para>
カーネルは<link linkend="boot-loader">ローダ</link>(通常は)
か<link linkend="boot-boot2">boot2</link>
(ローダを迂回して)によってロードされるとブートフラグを調べ,
もしあればそれに応じて動作を調整します.
</para>
<sect3 id="boot-kernel-bootflags">
<title>カーネルブートフラグ</title>
<para>良く使われるブートフラグです.</para>
<variablelist id="boot-kernel-bootflags-list">
<varlistentry>
<term><option>-a</option></term>
<listitem>
<para>
カーネル初期化中,
ルートファイルシステムとしてマウントするデバイスを尋ねます.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-C</option></term>
<listitem>
<para>CDROM からブートします. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem>
<para>
ブート時のカーネルコンフィグレーションを行なう
UserConfig を実行します.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-s</option></term>
<listitem>
<para>シングルユーザモードでブートします. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem>
<para>カーネル起動時に, より詳細な情報を表示します.</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>ブートフラグはこの他にもあり, それらについては
&man.boot.8;をお読みください.
</para>
</note>
</sect3>
<!-- <sect3 id="boot-kernel-userconfig">
<title>UserConfig: ブート時のカーネルコンフィギュレータ</title>
<para> </para>
</sect3> -->
</sect2>
<sect2 id="boot-init">
<title>Init: プロセスコントロールの初期化</title>
<para>
カーネルがブートされると, 制御はユーザプロセスである
<command>init</command>へ移されます. これは,
<filename>/sbin/init</filename>, もしくは
<command>loader</command> の
<envar>init_path</envar> 変数で指定される場所にあります.
</para>
<sect3 id="boot-autoreboot">
<title>自動リブート動作の流れ</title>
<para>
自動リブート動作では,
システム上で利用できるファイルシステムの一慣性を確認します.
もし問題があり,
<command>fsck</command> がその不一致を修復できなければ,
<command>init</command>
は管理者に直接に処置させるため,
システムを<link linkend="boot-singleuser">シングルユーザモード</link>へと移行させます.
</para>
</sect3>
<sect3 id="boot-singleuser">
<title>シングルユーザモード</title>
<para>
このモードには<link linkend="boot-autoreboot">一連の自動リブート動作</link>,
もしくはユーザが
<option>-s</option>
を指定してブートするか
<command>loader</command> で
<envar>boot_single</envar> 変数を設定することによって移行できます.
</para>
<para>
<link linkend="boot-multiuser">マルチユーザモード</link>から
<command>shutdown</command>をリブートオプション
(<option>-r</option>) や halt
オプション(<option>-h</option>)なしで呼び出すことでも移行できます.
</para>
<para>
<filename>/etc/ttys</filename>
でシステムコンソール
<literal>console</literal>
<literal>insecure</literal>
に設定されていれば,
システムはシングルユーザモードを始める前に
root
パスワードの入力を求めます.
</para>
<example id="boot-insecure-console">
<title>/etc/ttys の insecure コンソール</title>
<programlisting># name getty type status comments
#
# This entry needed for asking password when init goes to single-user mode
# If you want to be asked for password, change "secure" to "insecure" here
#
# 訳)
# このエントリはinitがシングルユーザモードへ移行する際にパスワードを要
# 求させるために必要です. もし, パスワードの要求を望むならば"secure"を
# "insecure"へとここで変更してください.
console none unknown off insecure</programlisting>
</example>
<note>
<para>
<literal>insecure</literal> コンソールとは,
コンソールが物理的に安全でないと見なされ,
root パスワードを知る人だけがシングルユーザモードを使えるようにするという意味であり,
コンソールを安全でない状態で使いたいという意味ではありません.
よって, 安全性を求めるならば
<literal>secure</literal> でなく
<literal>insecure</literal> を選んでください.
</para>
</note>
</sect3>
<sect3 id="boot-multiuser">
<title>マルチユーザモード</title>
<para>
<command>init</command>
がファイルシステムが正常であると判断するか,
ユーザが<link linkend="boot-singleuser">シングルユーザモード</link>を終了したならば,
システムはマルチユーザモードへ移行し,
リソースの設定を始めます.
</para>
<sect4 id="boot-rc">
<title>リソース設定(rc)</title>
<para>
リソース設定システムはデフォルト設定を
<filename>/etc/defaults/rc.conf</filename> から,
システム独自の詳細を
<filename>/etc/rc.conf</filename> から読み込み,
<filename>/etc/fstab</filename>
に記述されるシステムファイルシステムのマウント,
ネットワークサービスの開始,
さまざまなシステムデーモンの開始,
そして最後にローカルにインストールされたパッケージの起動スクリプトの実行へと進みます.
</para>
<para>
&man.rc.8; は,
スクリプトそのものについて調べることと同様に,
リソース設定システムの優れた参考資料です.
</para>
</sect4>
</sect3>
</sect2>
<sect2 id="boot-shutdown">
<title>シャットダウン動作の流れ</title>
<para>
<command>shutdown</command> からのシャットダウンでは,
<command>init</command> がスクリプト
<filename>/etc/rc.shutdown</filename> の実行を試みます.
そして, 全てのプロセスへ terminate シグナルを送り,
続いてうまく終了できなかったプロセスへ
kill シグナルを送ります.
</para>
</sect2>
</sect1>
<sect1 id="memoryuse">
<title>PC におけるメモリの利用</title>
<para><emphasis>原作: &a.joerg;.<!-- <br> -->
16 Apr 1995.</emphasis></para>
<para><emphasis>原作: &a.joerg;. 1995 年 4 月 16 日.</emphasis></para>
<para><emphasis>訳: &a.jp.tomo;. <!-- <br> -->
29 Oct 1996.</emphasis></para>
<para><emphasis>訳: &a.jp.tomo;. 1996 年 10 月 29 日.</emphasis></para>
<para><emphasis>FreeBSD が i386
プラットフォーム上でどのようにメモリを使うかに
ついての説明です. </emphasis></para>
プラットフォーム上でどのようにメモリを使うかに
ついての説明です. </emphasis></para>
<para>ブート部分は<literal>0:0x7c00</literal>にロードされ,
すぐに自分自身を <literal>0x7c0:0</literal>に移します.
@ -692,8 +65,7 @@ console none unknown off insecure</programlisting>
相対アドレス (PIC: position independent code) を用いて
実行されなければなりません.</para>
<para><emphasis>寄贈: &a.dg;.<!-- <br> -->
16 Apr 1995.</emphasis></para>
<para><emphasis>寄稿: &a.dg;. 1995 年 4 月 16 日.</emphasis></para>
<para>カーネルの BSS セグメントの直後の物理ページ (実メモリ) に
proc0 (訳注: プロセス番号 0, swapper) のページディレクトリや
@ -708,9 +80,13 @@ console none unknown off insecure</programlisting>
<sect1 id="dma">
<title>DMAとはどういったものでどういう働きをするのか</title>
<para><emphasis>原作: &a.uhclem;<!-- <br> --><!-- <br> -->
訳: &a.jp.yasu;<!-- <br> -->
10 December 1996. 最終更新日 8 October 1997.</emphasis></para>
<para>原作:
<emphasis>Copyright &copy; 1995,1997 &a.uhclem;, All Rights
Reserved.
1996 年 10 月 10 日.
最終更新日 1997 年 10 月 8 日.</emphasis></para>
<para><emphasis>訳: &a.jp.yasu;</emphasis></para>
<para>Direct Memory Access (DMA)は, 中央演算処理装置
(CPU)からの干渉なく

View file

@ -0,0 +1,507 @@
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.1
$FreeBSD$
-->
<chapter id="users">
<title>ユーザと基本的なアカウントの管理</title>
<sect1 id="users-synopsis">
<title>概要</title>
<para><emphasis>寄稿: &a.nbm;, 2000 年 2 月</emphasis>.</para>
<para>
システムへアクセスするには, かならずユーザアカウントが使われます.
また, プロセスもすべてユーザによって実行されますので,
ユーザとアカウントの管理は FreeBSD
システムにおいて欠かすことのできない重要なものです.
</para>
<para>
アカウントには大きく分けて三種類のものがあります. それは,
<link linkend="users-superuser">スーパーユーザ(Superuser)</link>,
<link linkend="users-system">システムユーザ(system users)</link>,
そして<link linkend="users-user">ユーザアカウント(user accounts)</link>です.
スーパーユーザのアカウントは通常 <username>root</username> と呼ばれ,
無制限の特権を持つためにシステムの管理に用いられます.
また, システムユーザはサービスの運用に用いられ,
最後のユーザアカウントは,
実際にログインしてメールを読むといった作業を行なう利用者のためのものです.
</para>
</sect1>
<sect1 id="users-superuser">
<title>スーパーユーザアカウント</title>
<para>スーパーユーザアカウントは通常
<username>root</username> と呼ばれ, 初期時から設定済みです.
このアカウントはシステム管理を行なうためのもので,
メールのやりとり, システムの調査,
プログラミングといった日常的な作業を行なうために使われるべきものではありません.
</para>
<para>
その理由は, スーパーユーザが通常のユーザアカウントと異なり,
操作にまったく制限を受けないことによります.
そのためスーパーユーザアカウントで操作を間違えると,
システムに重大な影響を与えてしまう恐れがあるのです.
ユーザアカウントでは, 仮に操作を間違えてもシステムを壊してしまうようなことは
できないようになっています. したがって特権を必要としていないのであれば,
できるだけいつもユーザアカウントを利用する方が望ましいと言えるでしょう.
</para>
<para>
また, スーパーユーザで実行するコマンドはいつでも,
二回, 三回と何度もコマンドをチェックしてください.
なぜならスペースが多かったり, 文字が欠けていたりするだけで,
取り返しのつかないデータの破壊につながる可能性があるからです.
スーパーユーザになると得られる特権は,
言い換えてみれば通常のユーザアカウントの保護を受けることができない,
ということも意味しています.
</para>
<para>
ですから, この章を読んでからあなたが最初にすべきなのは,
もし用意していないなら, 日常的に利用するための
あなた自身のユーザアカウントを作成することです.
これはマルチユーザモード, シングルユーザモードを問わず,
同様にあてはまります.
この章のうしろの方では, アカウントの追加と通常のユーザから
スーパーユーザへと移行する手順について扱います.
</para>
</sect1>
<sect1 id="users-system">
<title>システムアカウント</title>
<para>
システムユーザとは, DNS, メール,
ウェブサーバといった各種サービスを運用するために使われるものです.
これはセキュリティを確保するためのもので,
サービス自体はスーパーユーザで実行される場合と同様,
制限を受けません.
</para>
<para>
システムユーザの具体例として,
<username>daemon</username>,
<username>operator</username>,
<username>bind</username> (DNS; Domain Name Service 用) および
<username>news</username> といったものがあります.
またシステム管理者はよく,
インストールしたウェブサーバを運用するために
<username>httpd</username>
というユーザを作成しています.
</para>
<para>
<username>nobody</username>
ユーザは通常の特権を持たないシステムユーザですが,
<username>nobody</username>
を利用するサービスが増えれば増えるほど, その特権も大きくなります.
</para>
</sect1>
<sect1 id="users-user">
<title>ユーザアカウント</title>
<para>
ユーザアカウントは,
主に現実のユーザがシステムにアクセスする手段として用いられるものです.
このアカウントは利用するユーザとシステム環境を分離します.
そのため, システムや他のユーザに危害をおよぼす危険性をなくし, また,
他に影響を与えることなくユーザ自身の環境をカスタマイズすることを可能にしています.
</para>
<para>システムにアクセスするすべてのユーザは,
それぞれに一人一つのユーザアカウントを持つべきです.
こうすることで誰が何を行なっているかがわかりますし,
他の人の設定を壊してしまったり,
他人にメールを読まれてしまうようなことを避けることができます.</para>
<para>それぞれのユーザは快適にシステムを利用するため,
シェル, エディタ, キー設定, 言語など,
各自の環境をセットアップすることができます.</para>
</sect1>
<sect1 id="users-modifying">
<title>アカウント情報の変更</title>
<para>強力で柔軟性に富むアカウント情報の変更手段として,
<application>pw</application> があります.
しかし, 新しいアカウントをつくる場合は
<application>adduser</application> を,
アカウントを削除する場合は <application>rmuser</application>
を使うことが推奨されています.</para>
<para><application>chpass</application> を使うことで,
システム管理者, 通常のユーザはパスワード, シェル,
その他の個人情報を変更することができます.
また, 特にパスワードを変更する場合には,
通常 <application>passwd</application> の方が良く使われます.</para>
<sect2 id="users-adduser">
<title>adduser</title>
<para><application>adduser</application> は,
新しいユーザを登録するためのシンプルなプログラムです.
このプログラムは <filename>passwd</filename> と
<filename>group</filename>
に新しいユーザのエントリを作成するのと同時に,
ホームディレクトリを作成して <filename>/usr/share/skel</filename>
からデフォルトで使用されるドットファイル(訳注:
ホームディレクトリに存在する <quote>.</quote>
から始まるファイルのことで, 各種設定に用いられます)をコピーします.
また, 新しく作成されたユーザに対して,
ウェルカムメッセージをメールで送信することも可能です.
</para>
<para>初期設定ファイルを作成するには,
<command>adduser -s -config_create</command>.
とします<footnote>
<para>オプション <option>-s</option> をつけると,
デフォルトで詳細を表示しないように adduser を設定します.
この後に詳細を表示させるようにしたい場合は,
オプション <option>-v</option> を指定してください.</para>
</footnote>.
そして次に adduser のデフォルト設定を行ない,
最初のユーザアカウントを作成します.
システムを日常利用する際に root を用いるのは最悪です.</para>
<example>
<title>adduser の設定の変更</title>
<screen>&prompt.root; <userinput>adduser -v</userinput>
Use option ``-silent'' if you don't want to see all warnings and questions.
Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Enter your default shell: csh date no sh tcsh [sh]: <userinput>tcsh</userinput>
Your default shell is: tcsh -> /usr/local/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]: <userinput>no</userinput>
Do not send message
Use passwords (y/n) [y]: <userinput>y</userinput>
Write your changes to /etc/adduser.conf? (y/n) [n]: <userinput>y</userinput>
Ok, let's go.
Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username [a-z0-9_-]: <userinput>jru</userinput>
Enter full name []: <userinput>J. Random User</userinput>
Enter shell csh date no sh tcsh [tcsh]:
Enter home directory (full path) [/home/jru]:
Uid [1001]:
Enter login class: default []:
Login group jru [jru]:
Login group is ``jru''. Invite jru into other groups: guest no
[no]: <userinput>wheel</userinput>
Enter password []:
Enter password again []:
Name: jru
Password: ****
Fullname: J. Random User
Uid: 1007
Gid: 1007 (jru)
Class:
Groups: jru wheel
HOME: /home/jru
Shell: /usr/local/bin/tcsh
OK? (y/n) [y]: <userinput>y</userinput>
Added user ``jru''
Copy files from /usr/share/skel to /home/jru
Add another user? (y/n) [y]: <userinput>n</userinput>
Goodbye!
&prompt.root;</screen>
</example>
<para>簡単に上の操作を説明します.
まずデフォルトシェルを <application>tcsh</application>
(packages にある追加のシェルです) に変更し,
新しいユーザにウェルカムメッセージのメールを送付しないようにしました.
そしてその設定を保存し, <username>wheel</username>
グループ(後に,
これが重要な意味を持っていることがわかるでしょう)に所属する
<username>jru</username>
というアカウントを作成しています.
</para>
<note>
<para>入力したパスワードは画面に表示されません.
アスタリスク記号も表示されませんので,
パスワードを二回とも間違えて入力してしまわないように注意してください. :-)
</para>
</note>
<note>
<para>これ以降はオプション引数をつけず単に <command>adduser</command>
を起動します.
デフォルト設定を変更する必要はありません.
もし, adduser がデフォルト設定を変更するかどうか尋ねてきたら,
adduser を終了し, <option>-s</option>
オプションを使うようにしてください.</para>
</note>
</sect2>
<sect2 id="users-rmuser">
<title>rmuser</title>
<para><application>rmuser</application> は,
システムからユーザを削除します.
これにはユーザデータベースからの削除だけでなく,
その他, そのユーザに依存する情報すべてが含まれます.
</para>
<para><application>rmuser</application>
は次の手順を実行します.</para>
<procedure>
<step>
<para>指定されたユーザの &man.crontab.1; エントリを削除
(存在する場合).</para>
</step>
<step>
<para>指定されたユーザの &man.at.1; ジョブをすべて削除.</para>
</step>
<step>
<para>指定されたユーザが所有するすべてのプロセスを強制終了.</para>
</step>
<step>
<para>ローカルパスワードファイルから,
指定されたユーザのエントリを削除.</para>
</step>
<step>
<para>指定されたユーザのホームディレクトリを削除
(ディレクトリの所有者が指定されたユーザのものだった場合).</para>
</step>
<step>
<para><filename>/var/mail</filename>
から, 指定されたユーザの到着メールファイルを削除.</para>
</step>
<step>
<para><filename>/tmp</filename>
のような一時ファイル保存領域から,
指定されたユーザの所有するファイルを削除.</para>
</step>
<step>
<para>そして最後に,
<filename>/etc/group</filename> にある
すべてのグループから, 指定されたユーザを削除します.
<note>
<para>
指定されたユーザと同じ名前のグループで,
そのユーザが削除されると空のグループとなる場合は,
そのグループ自体が削除されます.
これは &man.adduser.8; によってユーザごとに作成される,
ユニークなグループに対応するものです.
</para>
</note>
</para>
</step>
</procedure>
<para>スーパユーザアカウントの削除に
<application>rmuser</application> を利用することはできません.
スーパユーザアカウントの削除はほとんどすべての場合,
大規模なシステムの破壊を意味するからです.
</para>
<para>デフォルトでは,
どういう操作を行なっているか確認できる対話モードが使われます.
</para>
<example>
<title>rmuser による対話的なアカウントの削除</title>
<screen>&prompt.root; <userinput>rmuser jru</userinput>
Matching password entry:
jru:*:1000:1000::0:0:J. Random User:/home/jru:/usr/local/bin/tcsh
Is this the entry you wish to remove? <userinput>y</userinput>
Remove user's home directory (/home/jru)? <userinput>y</userinput>
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.
&prompt.root;</screen>
</example>
</sect2>
<sect2 id="users-pw">
<title>pw</title>
<para><application>pw</application> は,
ユーザやグループの作成, 削除,
変更および表示を行なうことができ,
システムユーザファイルやシステムグループファイルの編集機能を持った
コマンドラインのユーティリティです.
</para>
<para>
これはシェルスクリプトからの利用や,
直接コマンドを実行する際に便利に使えるように設計されたものです.
</para>
<para>詳細はすべて &man.pw.8; に書かれています.</para>
</sect2>
<sect2 id="users-chpass">
<title>chpass</title>
<para><application>chpass</application> は,
パスワード, シェル, その他の個人情報といった,
ユーザデータベース情報を変更します.
</para>
<para>システム管理者に限りスーパユーザ権限で chpass を用い,
他のユーザの情報やパスワードを変更することが可能です.
</para>
<para>ユーザ名の他にオプションを指定しないと,
<application>chpass</application>
はユーザ情報を編集するエディタを表示します.
そのエディタを終了すると,
<application>chpass</application>
はユーザデータベース情報の変更を試みます.
</para>
<example>
<title>スーパユーザによる対話的な chpass</title>
<screen>#Changing user database information for jru.
Login: jru
Password: *
Uid [#]: 1000
Gid [# or name]: 1000
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/jru
Shell: /usr/local/bin/tcsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:</screen>
</example>
<para>通常のユーザは, この情報の限られた部分のみ変更が可能です.
また, 変更できるのはそのユーザ自身の情報のみです.
</para>
<example>
<title>通常のユーザによる対話的な chpass</title>
<screen>#Changing user database information for jru.
Shell: /usr/local/bin/tcsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:</screen>
</example>
<note>
<para><command>chfn</command>,
<command>chsh</command> はいずれも,
単に chpass へのハードリンクになっています.
また, <command>ypchpass</command>,
<command>ypchfn</command> および
<command>ypchsh</command> も同様です.
NIS のサポートは自動的に行なわれますので,
コマンドの先頭に <literal>yp</literal>
をつける必要はありません.
</para>
</note>
</sect2>
<sect2 id="users-passwd">
<title>passwd</title>
<para><application>passwd</application> は,
ユーザが自分のパスワードを変更する通常の方法です.
スーパユーザ権限では,
他のユーザのパスワードを変更するのに使われます.
</para>
<note>
<para>ユーザはパスワードを変更する前に,
もともと設定されていたパスワードを入力しなければなりません.
これはユーザがコンソールを離れた際に,
不審な人物によってパスワードが変更されることを防ぐためです.
</para>
</note>
<example>
<title>passwd</title>
<screen>&prompt.user; <userinput>passwd</userinput>
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done
&prompt.root; <userinput>passwd jru</userinput>
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: done</screen>
</example>
<note>
<para><command>yppasswd</command> は,
単に <command>yppasswd</command> へのハードリンクになっています.
NIS のサポートは自動的に行なわれますので,
コマンドの先頭に <literal>yp</literal>
をつける必要はありません.</para>
</note>
</sect2>
</sect1>
<sect1 id="users-limiting-and-personalizing">
<title>ユーザへの制限と設定</title>
<para>quota がシステムで有効化されていると,
システム管理者はディスク使用の上限を設定し,
ユーザは自身のディスク使用量をチェックできるようになります.
quota については, <link linkend="quotas">quota
の章</link>に書かれています.</para>
<para>地域化(localization)とは,
それぞれ異なる言語, キャラクタセット,
日付や時間の標準などに適応させるための環境設定を,
システム管理者やユーザが行なうことを指します.
地域化については,
<link linkend="l10n">地域化の章</link>に書かれています.</para>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->