Debianインストール後すべき初期設定のうち、今回は次の項目を設定する。
・suできるユーザーを制限する
・Debian リポジトリ ミラー設定編集
・ locateコマンドを利用できるようにする
・ロケールの設定
・タイムゾーンの設定
・システムパッケージのアップデート
Contents
1. suできるユーザーを制限する
Debianではデフォルト設定の場合"su"コマンドでどのユーザーでもrootユーザーに移行することができます。
複数のユーザーがサーバーに作成されている場合、どれか一つでもユーザーのログイン情報が分かってしまうと不正アクセス後にsuコマンドでrootユーザー権限を奪取されてしまうため、できる限りsuコマンドを実行できるユーザーを制限します。
wheelグループに属するユーザーのみにsuを実行できる権限を与えることができるようにします。
1.1 wheelグループへのユーザー追加
まず、次のコマンドでwheelグループを作成する
1 |
# groupadd wheel |
usermodコマンドを実行してwheelグループへユーザーを追加します。例として追加したいユーザーをexampleとします。
1 |
# usermod -g wheel example |
idコマンドを利用してwheelグループへ追加されていることを確認。
1 2 |
# id example uid=1000(testuser01) gid=1001(wheel) groups=1001(wheel) |
1.2 suコマンドの設定ファイルを編集
suコマンドの設定ファイルは/etc/pam.d/suになります。
1 2 3 4 5 6 7 8 9 10 11 12 |
# vi /etc/pam.d/su # Uncomment this to force users to be a member of group root # before they can use `su'. You can also add "group=foo" # to the end of this line if you want to use a group other # than the default "root" (but this may have side effect of # denying "root" user, unless she's a member of "foo" or explicitly # permitted earlier by e.g. "sufficient pam_rootok.so"). # (Replaces the `SU_WHEEL_ONLY' option from login.defs) #auth required pam_wheel.so コメントアウト解除 ↓ auth required pam_wheel.so |
これで、exampleユーザーは「su -」コマンドを利用してroot権限に移行できます。
2. Debian リポジトリ ミラー設定編集
リポジトリ ミラー 設定ファイルは/etc/apt/sources.listです、コピーをとってから編集します。
1 2 |
# cd /etc/apt/ # cp sources.list sources.list_back |
1 |
# vi /etc/apt/sources.list |
ファイル内容は
deb http://ftp.jp.debian.org/debian/ buster main
deb-src http://ftp.jp.debian.org/debian/ buster maindeb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main
# buster-updates, previously known as 'volatile'
deb http://ftp.jp.debian.org/debian/ buster-updates main
deb-src http://ftp.jp.debian.org/debian/ buster-updates main
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
一番上のは、インストール時に使ったメディアです。もう使わないので、コメントアウトしています。
日本で使う場合は、jpの付いたミラーにしておきます。
3. locateコマンドを利用できるようにする
Linuxシステム全体を対象として、特定のファイルを検索するにはfindコマンドを利用しますが、findはオプションの指定がやや分かりにくいところがあります。
locateコマンドは指定したファイル名をもつファイルを全て抽出することが可能です。
事前にファイルとフォルダ名のデータベースを作成しなければなりませんが、高速にファイルが検索出来て、使い勝手が良いというメリットがあります。ここでは"locate"コマンドを利用できるようにします。
3.1 locateパッケージのインストール
1 |
# apt install -y locate |
1 2 |
# dpkg -l | grep locate ii locate 4.6.0+git+20190209-2 amd64 maintain and query an index of a directory tree |
3.2 データベースを作成
1 |
# updatedb |
3.3 locateコマンドの実行
例として「sshd」という名前のファイルを全て検索します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# locate sshd /etc/pam.d/sshd /etc/ssh/sshd_config /etc/systemd/system/sshd.service /run/sshd /run/sshd.pid /usr/sbin/sshd /usr/share/man/man5/sshd_config.5.gz /usr/share/man/man8/sshd.8.gz /usr/share/openssh/sshd_config /usr/share/openssh/sshd_config.md5sum /usr/share/vim/vim81/syntax/sshdconfig.vim /var/lib/systemd/deb-systemd-helper-enabled/sshd.service /var/lib/ucf/cache/:etc:ssh:sshd_config |
sshdを含むファイル名のリストが表示されました。
4. ロケールの設定
Linuxシステムの言語設定です。Debianのインストール時にロケールとして日本語を選択している場合には、元々が日本語環境になっていますので、変更する必要はありません。
もしご利用の環境で「英語ロケール」で、尚且つ、日本語ロケールの方が良いという場合には実施してください。
4.1 現在のロケール確認
システムで設定されているロケールを確認します。ロケールを確認するには"localectl status"コマンドを利用します。
1 2 3 4 5 |
# localectl status System Locale: LANG=C.UTF-8 VC Keymap: n/a X11 Layout: jp X11 Model: pc105 |
上記の場合、「C.UTF-8」がロケールになりますので、Cロケール(POSIXロケール)ということになります。
4.2 日本語ロケールへ変更
Debianではロケールのリストは"localectl list-locales"コマンドで確認できます。実行してシステムで利用できるロケールを表示してみます。
1 2 3 |
# localectl list-locales C.UTF-8 ja_JP.utf8 |
2つのロケールが表示されました。表示された結果の「ja_JP.utf8」が日本語のロケールになりますので、「ja_JP.utf8」ロケールの設定を行います。
ロケールを設定するためには"localectl set-locale"コマンドを利用します。以下のように実行します。
1 |
# localectl set-locale LANG=ja_JP.utf8 |
確認する
1 2 3 4 5 |
# localectl status System Locale: LANG=ja_JP.utf8 VC Keymap: n/a X11 Layout: jp X11 Model: pc105 |
上記のように「ja_JP.utf8」ロケールが設定されていることが確認できました。
5. タイムゾーンの設定
Debian 10のタイムゾーンはインストール時に設定されている場合がほとんどですが、もし日本のタイムゾーンである「JST」が指定されていない場合には"timedatectl"コマンドで変更できます。
5.1 現在のタイムゾーンの表示
サーバーに設定されているタイムゾーンを確認するには"timedatectl status"コマンドを実行します
1 2 3 4 5 6 7 8 |
# timedatectl status Local time: 金 2019-11-01 15:49:16 JST Universal time: 金 2019-11-01 06:49:16 UTC RTC time: 金 2019-11-01 06:49:17 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no |
上記のようにタイムゾーンが「Asia/Tokyo (JST)」に設定されています。
5.2 タイムゾーンを日本に変更
もし、「Asia/Tokyo (JST)」になっていない場合は、"timedatectl set-timezone"コマンドでタイムゾーンを変更できます。
1 |
# timedatectl set-timezone Asia/Tokyo |
確認します
1 2 3 4 5 6 7 8 |
# timedatectl status Local time: 金 2019-11-01 15:50:23 JST Universal time: 金 2019-11-01 06:50:23 UTC RTC time: 金 2019-11-01 06:50:23 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no |
6. システムパッケージのアップデート
メディアからインストールされたDebianシステムは含まれているパッケージが古いことがあります。基本的な設定が完了した時点でシステムに含まれている パッケージを全て、新しいものに更新します。Debianでは全てのパッケージを更新するためにも"apt"を利用します。
パッケージの更新を実行しないで、更新されるパッケージのリストだけを確認するには"apt update"コマンドを実行します。以下のように実行します。
1 2 3 4 5 6 7 8 |
# apt update ヒット:1 http://deb.debian.org/debian buster InRelease ヒット:2 http://deb.debian.org/debian buster-updates InRelease ヒット:3 http://security.debian.org/debian-security buster/updates InRelease パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 パッケージはすべて最新です。 |
パッケージのアップデートには"apt upgrade"コマンドを実行します。
1 2 3 4 5 6 |
# apt upgrade -y パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 アップグレードパッケージを検出しています... 完了 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 |
今回は更新するパッケージが無かったために更新は行われていません。