Debian GNU/Linux 10.0 (buster) の設定

概要

Debian GNU/Linux 10.0 (buster) のインストール 後の設定を行います.

OS インストール後に再起動しても起動が途中で止まる (GUI ログイン画面が表示されない) 場合の対処

対処方法

一般ユーザの作成

以下のコマンドで root になってください. このときハイフン (-) を忘れないようにしてください.

$ su -

adduser コマンドで, 担当の TA にアカウントを作成させてください. <username> には新しく作るアカウント名が入ります.

# adduser <username>
Adding user <username>...
Adding new group <username> (1001).
Adding new user <username> (1001) with group <username>.
Creating home directory /home/<username>.
Copying files from /etc/skel
Enter new UNIX password: (パスワード入力)
Retype new UNIX password: (パスワード入力)
passwd: password updated successfully
Changing the user information for samson
Enter the new value, or press return for the default
         Full Name []: (氏名を入力)

その後, 部屋番号, 勤め先の電話番号, 自宅の電話番号, その他の情報について 問われますが, これについての入力は任意です. 最後に

Is the information correct? [Y/n]

と問われますので, 上記入力が問題ないことを確認し, Y を入力してください. 問題があれば n を入力して最初からやり直してください.

vi の使用に関して

テキストエディタとして, 以下では vi を使用するようにしています. 使用方法に関しては エディタ vi を参照してください.

sudo の設定

sudo の意義

情報実験のように複数の人間で PC を管理することを考えましょう. この場合, 複数の人間がルートになる必要がありますが, ルートのパスワードを共有する のはセキュリティ上危険です. このような場合は sudo コマンドを用いて, 特 定のユーザが自分のパスワードでルート権限でコマンドを実行できるようにし ましょう.

ここで注意しておきたいことは, 今後 Linux にログインするときには, root でログインしてはいけません. root は何でもできますので, 誤って重要なファ イルを消してしまう可能性があります. 作法として, 本当に必要な場合にだけ root になるようにしましょう.

sudo 設定の作業

ここでは sudo を用いることで, 例えば hoge さんが, 自分のパスワードを用 いて別のユーザ (例えば, 以下の設定では root) の権限でコマンドを実行で きるようします.

まずは /etc/sudoers を編集します. このファイルを編集する際には, visudo という コマンドを用います (visudo コマンドは複数同時の編集を禁止したり, 文法 エラーをチェックしてくれます). では root でログインして, まずは以下のコマンドを実行してください.

# export EDITOR=vi

visudo は環境変数 EDITOR で設定されているエディタが立ち上がるコマンドですが, 最近のデフォルトは vi ではないので vi に設定しておきます. その後で, visudo コマンドを実行しましょう.

# visudo

以下の 1 行を# User privilege specificationの下に追加します.

hoge ALL=(ALL:ALL) ALL

各フィールドの意味は次の通りです.

| hoge 

sudo できるユーザのアカウント名. "%" を付けると特定のグループを指す.

|      ALL

ホストに対する許可 (/etc/sudoers にホストに対するエイリアスを 書かない限り ALL にしておけば良い)

|          (ALL:ALL)

sudo によって成り替わることが可能なユーザ (最初の ALL) とグループ (後の ALL) (ALLの場合には全てのユーザ, グループに成り替わることが可能)

|                    ALL

利用できるコマンドの制限 (ALL ならば, 上記の丸括弧で 括ったユーザの使える全てのコマンドを利用できる)

この情報実験では, 今回アカウントを作ったユーザが全員管理者なので, 自分のアカウントだけでなく, TA のアカウントについても sudo の設定を行ってください. (もちろん普段サーバ等を運用する際にはむやみやたらと上記の設定を してはいけません).

sudo の使い方

使い方は, 使いたいコマンドの前に sudo と付け加えるだけです. 例えば /etc/shadow は root しか見ることの出来ないファイルですが, sudo でルー ト権限が与えられているユーザの場合は

$ sudo cat /etc/shadow

とすることで見ることが可能です. 但しパスワードを聞かれますので, その時 は自分自身のパスワードを入力して下さい.

また, root に成り代わって作業を行う際には

$ sudo -s

としてください. プロンプトが '#' となり, 以後は root で作業する ことが可能です. root から一般ユーザに戻る際には

# exit

とします.

以後の作業は root でログインするのではなく, 一般ユーザでログインした後, sudo を用いて root に成り代わって作業してください.

不要なネットワークサービスを止める

セキュリティ対策の基本として, 不必要なネットワークサービスを立ち上げな いようにすることが挙げられます. 必要ないネットワークサービスを立ち上げ ていると, それを踏み台にクラックされる可能性が出てきます. 必要ないサー ビスを極力停止しておくことは, 簡単にできる上, 確実に効果を期待できる対 策です.

Debian GNU/Linux では, ネットワークサービスは以下の二つの方法で起動されます.

  • /usr/sbin/inetd (設定ファイルは /etc/inetd.conf) によって起動される
  • /etc/init.d/ の下にあり, OS が起動した時に起動する

なお /usr/sbin/inetd 自体も OS が起動する際に /etc/init.d/openbsd-inetd から起動されます.

/etc/init.d/ 以下のネットワークサービスの停止

/etc/init.d/ の下に関しては管理者がしっかりと把握し, 常におかしなもの が起動していないかどうかチェックする必要があります. ps コマンドでどの ようなデーモンが動いているか調べることが必要となります. 特に何の設定も なしに NFS (Network File System; ネットワーク越しに別のコンピュータの ハードディスクを ローカルのハードディスクのように扱うための技術), NIS (Network Information Service; ネットワーク環境で UNIX の設定を集中管理 する技術) を立ち上げた状態にしてはいけません.

exim4 の再設定

以下のコマンドで exim4 を設定し直します.

# export LANG=C
# dpkg-reconfigure exim4-config

設定画面で, 1.local 配送のみにする. 2.ローカルメールの配送方式をmbox形式からMaildir形式にする. 他はデフォルトのままで良いです.

ただしコマンド実行後, exim4-config はインストールされていない等のメッセージ(英語)が表示された場合は, 何もせずに次に進んでください.

GNOMEをデフォルトで立ち上げない

ディスプレイマネージャの設定を変更することで, 起動時に テキストログインできるようにします.

まず /etc/X11/default-display-manager を編集します.

# vi /etc/X11/default-display-manager

ファイル中の下の行

/usr/sbin/gdm3

を下のようにコメントアウト (行頭に # を挿入する) ことで, 設定を変更します.

#/usr/sbin/gdm3

さらに, ディスプレイマネージャの起動設定を変更します.

# cd /lib/systemd/system
# mv gdm.service gdm.service.bk

APT の設定修正

以下のコマンドで apt-line (APT によるダウンロード先の設定) の修正 を行います.

# cp /etc/apt/sources.list /etc/apt/sources.list.org
# vi /etc/apt/sources.list

既にある行を編集して以下のようにしてください.

deb http://ftp.jp.debian.org/debian buster main contrib non-free
deb-src http://ftp.jp.debian.org/debian buster main contrib non-free

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

apt-line の修正後, 以下のコマンドでパッケージリストを更新します.

# apt-get update

時刻の設定

コンピュータ内の時刻を定常的に正しくしておくための設定を行います.

まず, 以下のコマンドで ntpdate パッケージをインストールします.

# apt-get install ntpdate

次に, 以下のコマンドで時刻を修正します. コマンド入力後しばらくすると NTP (Network Time Protocol) サーバより返答が返り, 時刻が修正されます.

# /usr/sbin/ntpdate-debian

下記のように date コマンドで時刻が正しくなっていることを確認してください.

# date
2019年  8月  4日 月曜日 15:10:04 JST

次に, 上記のような時刻修正コマンドを毎日実行するための設定を 行います.

# vi /etc/cron.daily/ntpdate

この ntpdate ファイルには以下のように書き込んでください.

#!/bin/sh
/usr/sbin/ntpdate-debian > /dev/null 2>&1

最後に, このファイルのパーミッションを以下のように設定してください.

# chmod 755 /etc/cron.daily/ntpdate

再起動を行う

以下のコマンドを入力して, root から一般ユーザーに戻りましょう.

# exit

画面右上のメニューから再起動しましょう. すると, CUI のログイン画面が表示されます. ログイン後に以下のコマンドを入力すると, GUI の画面になります.

$ startx

参考文献