[Memo2020][ITPASS]OSの各種設定
- chikuwaX アカウントの作成
- テストユーザの削除
- アカウントリスト
- sudo の設定
- APT の設定
- APT-LINE の修正
- GPG 鍵の登録
- セキュリティアップデート
- パスワード認証の拒否と root ログインの拒否設定
- /etc/init.d/ 以下の不要なネットワークサービスの停止
- その他の /etc/init.d 以下から起動される不要なネットワークサービスの停止
- /usr/sbin/inetd によって起動されるネットワークサービスの停止
- NetworkManager の停止
- OS が認識しているメモリの確認
- 時刻の設定
- debianパッケージの引き継ぎ
- システムの文字コードの設定
- mksigen のインストール
- システムログの保管期間を 3 ヶ月にする
chikuwaX アカウントの作成
テストユーザ "test" でログインし, chikuwa0 アカウントを作成した.
$ su root パスワード:適切なパスワードを入力 # adduser chikuwa0 --uid 40000
テストユーザの削除
OS のインストール時に作成したテストユーザ "test" を uid も含めて削除した.
chikuwa0 でログインし, /etc/deluser.conf を編集した.
$ su root パスワード:適切なパスワードを入力 # vi /etc/deluser.conf
/etc/deluser.conf を以下のように書き換えた.
REMOVE_HOME = 1 REMOVE_ALL_FILES = 1
この後,
# deluser test
を実行して test を削除した.
アカウントリスト
- chikuwa0 (40000): 高橋
- chikuwa1 (40001): 白濱
- chikuwa2 (40002): 岩谷
- chikuwa3 (40003): 岡田
- chikuwa4 (40004): 杉本
- chikuwa5 (40005): 丸山
- chikuwa6 (40006):
- chikuwa7 (40007):
- chikuwa8 (40008):
- chikuwa9 (40009):
- chikuwa10 (40010):
APT の設定
APT の設定および, セキュリティアップデートを行う.
APT-LINE の修正
既にある sources.list を sources.list.org としてバックアップした.
# cp /etc/apt/sources.list /etc/apt/sources.list.org
sources.list を編集して下のように記述した.
# 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
deb http://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou buster main deb-src http://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou buster main
GPG 鍵の登録
地球流体電脳倶楽部のパッケージを取得するには apt-key によって鍵を登録する必要がある. APT-LINE の修正と同様, このページを参考にして GPG 鍵を登録した.
debian-keyring を取得した.
# apt install debian-keyring
その後 keyring から公開鍵を取り出し apt-key へ登録した.
# gpg --keyring /usr/share/keyrings/debian-maintainers.gpg \ --export -a 891D7E07 | sudo apt-key add -
セキュリティアップデート
利用できる Debian のパッケージのリストを更新した.
# apt update
セキュリティアップデートを行った.
# apt upgrade
パスワード認証の拒否と root ログインの拒否設定
ssh サーバの設定を変更する. 公開鍵認証を有効にし, パスワード認証と PAM を無効にした. また root ログインを無効にした.
# vi /etc/ssh/sshd_config PermitRootLogin no : PasswordAuthentication no : UsePAM no
最後に ssh デーモンを再起動した.
# systemctl restart ssh.service
その他の /etc/init.d 以下から起動される不要なネットワークサービスの停止
下のコマンドにより nfs が起動しているかどうか確認した.
# systemctl | lv
"nfs" の文字を含むサービスは起動していなかった.
/usr/sbin/inetd によって起動されるネットワークサービスの停止
openbsd-inetd をインストールした.
# apt install openbsd-inetd
/etc/inetd.conf のすべてがコメントアウトされていることを確認して, inetd を再起動した.
# systemctl restart inetd
NetworkManager の停止
サーバー運用上, NetworkManager では Network の詳細な設定が難しいと考えられるため, NetworkManager を停止して従来の方法で Network の設定を行う. 以下のように NetworkManager を停止させる.
まず, ネットワーク関係の様々なコマンドを使うために, net-tools, resolvconf パッケージをインストールした.
# apt install net-tools resolvconf
そして, ネットワークインターフェース名を確認した.
# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b4:2e:99:d2:9b:14 brd ff:ff:ff:ff:ff:ff 3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 68:05:ca:b9:e0:b2 brd ff:ff:ff:ff:ff:ff inet 133.30.109.21/24 brd 133.30.109.255 scope global noprefixroute enp2s0 valid_lft forever preferred_lft forever inet6 fe80::6a05:caff:feb9:e0b2/64 scope link noprefixroute valid_lft forever preferred_lft forever
enp2s0 がグローバルネットワークに接続されていることがわかる.
起動時に NetworkManager が立ち上がらないようにした.
# systemctl disable NetworkManager.service
次に, NetworkManager を使わずにネットワークに接続するために, /etc/network/interfaces に以下を追記した.
allow-hotplug enp2s0 iface enp2s0 inet static address 133.30.109.21 netmask 255.255.255.0 network 133.30.109.0 broadcast 133.30.109.255 gateway 133.30.109.254 dns-nameservers 133.30.14.2 133.30.14.3 133.30.8.2 dns-search scitec.kobe-u.ac.jp auto eno1 iface eno1 inet static address 10.35.19.151 netmask 255.255.255.0 post-up ip rule add from 10.35.19.0/24 table 100 prio 10000 post-up ip route add default via 10.35.19.254 dev enp8s0 table 100 post-down ip route del default table 100 post-down ip rule del table 100 prio 10000
enp2s0 はグローバルネットワークに繋がるインターフェースで, eno1 はプライベートネットワークに繋がるインターフェースである.
/etc/network/interfaces の編集後に OS を再起動する. 再起動後に, 以下によりネットワークに繋がっていることを確認した.
# ping 133.30.109.22 # ping 133.30.109.203
また, NetworkManager が起動していないことを確認した.
# systemctl
の表示に NetworkManager.service が含まれていなかった.
- なお, この時, 起動しているネットワークサービスは, networking.service である. と思っていたけれど, networking.service は動いていない. network-online.target とやらが動いているけれど... どういうことでしょう?
OS が認識しているメモリの確認
top コマンドを使って OS が認識しているメモリ容量を確認した.
$ top
として,
top - 15:24:08 up 13 min, 1 user, load average: 0.00, 0.01, 0.00 Tasks: 121 total, 1 running, 120 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 32104.6 total, 31678.6 free, 250.1 used, 175.8 buff/cache MiB Swap: 122070.0 total, 122070.0 free, 0.0 used. 31494.8 avail Mem
より, 32 GB のメモリが認識されている.
時刻の設定
コンピュータ内の時刻を定常的に正しくしておくための設定を行う.
ntpdate パッケージのインストール
以下のコマンドで ntpdate パッケージをインストールした.
# apt install ntpdate
時刻の修正(手動)
次に, 以下のコマンドで時刻を修正した.
# /usr/sbin/ntpdate-debian
date コマンドで時刻が正しいことを確認した.
cron の設定
次に, /etc/cron.daily/ntpdate を作成し, 上記のような時刻修正コマンドを毎日実行するように設定した.
/etc/cron.daily/ntpdate の内容は以下.
#!/bin/bash /usr/sbin/ntpdate-debian > /dev/null 2>&1
最後に, このファイルのパーミッションを以下のように設定した.
# chmod 755 /etc/cron.daily/ntpdate
debianパッケージの引き継ぎ
ika に導入されている debian パッケージを全て tako に導入する.
準備
dselect パッケージをインストールした.
# apt install dselect
古いマシンでのインストールパッケージリスト作成
ika に install されている debian パッケージの一覧を取得した.
[ika] $ dpkg --get-selections > old_list.txt
リストの新しいマシンへの転送
リストを tako にコピーした.
リストを元にインストール
tako において, ika で導入されているパッケージをインストールする.
[tako] $ sudo -s [tako] # dpkg --set-selections < old_list.txt
ここで,
dpkg: 警告: package not in status nor available database at line xx: (パッケージ名)
という警告が大量に表示されたので,
# dselect update
を実行し, パッケージ情報を更新して, OS を再起動した. その後, 再度
[tako] # dpkg --set-selections < old_list.txt
を実行した.
dpkg: warning: package not in status nor available database at line 2260: tracker-gui dpkg: warning: package not in status nor available database at line 2262: transfig dpkg: warning: package not in status nor available database at line 2277: uim-common dpkg: warning: package not in status nor available database at line 2282: uim-qt
という警告が再び表示されたが, 続行した.
[tako] # apt-get dselect-upgrade
GNOME の再インストール (必要に応じて)
パッケージの引き継ぎを行うとき,
[tako] # apt-get dselect-upgrade
上記の作業を行うと, gnome 関連のパッケージが削除されることがある, とのことなので, 念の為に
# apt install gnome
を行った. gnome がインストールされた. 再起動した.
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
これによって OS 起動時に gdm が起動しなくなった.
システムの文字コードの設定
デフォルトでは文字コードが UTF-8 にしか対応していないため, EUC にも対応するようにする.
下のようにして文字コード (ロケール) の設定の変更した.
# dpkg-reconfigure locales
"ja_JP.EUC-JP EUC-JP" をチェックして有効にした. その後, デフォルトロケールに "ja_JP.UTF-8" を選択した.
mksigen のインストール
mksigen とは
mksigen は地球流体電脳倶楽部で使われているディレクトリデータベースマネージャである. SIGEN を拡張子に持つファイルやディレクトリ (たとえば hoge というディレクトリには hoge.SIGEN を書く) に所定の書式でメモを書いておくと, mksigen がクロールして目次となる html ファイルを作成してくれる. ITPASS サーバでは, 複数人で共有する資源については, SIGEN ファイルに資源の概要や取扱い上の注意を書いておくようにすること.
mksigen の詳細は mksigen homepage を参照のこと.
システムログの保管期間を 3 ヶ月にする
rsyslog の設定
ログが 3 ヶ月間保存されるように, ローテーションを設定した.
/etc/logrotate.d/rsyslog を開き
rotate 7 daily = 中略 = rotate 4 weekly
の部分を
rotate 90 daily = 中略 = rotate 12 weekly
に変更した.
aptitude の設定
念のため /etc/logrotate.d/aptitude を開き
rotate 6 monthly
となっていることを確認した.
dpkg の設定
念のため /etc/logrotate.d/dpkg, /etc/logrotate.d/alternatives を開き, dpkg.log, alternatives.log のどちらも
monthly rotate 12
となっていることを確認した.
Keyword(s):
References:[[ITPASS2020]2020年度サーバ構築ログ]