IT pass HikiWiki - [Memo2014][ITPASS] gate-toroku-system のインストールと設定 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
= 作業用アカウントの作成
* gate-toroku-system 管理用アカウント: gate を作成した.
ユーザ ID は 500 とした.
# adduser --uid 500 --disabled-password gate
登録の際, フルネームは「Administrator of gate-toroku-system」とした.
* gate グループに gate 管理者を加えた.
gate 管理者は, ((<[ITPASS2012]gate-toroku-systemの開発とメンテナンス>))に書かれている開発メンバーと, gate のインストールを行ったメンバー(ryohori, mmiyuki)とした.
= 必要なソフトウェアのインストール
gate に必要なパッケージをインストールした.
== パッケージの確認
dpkg コマンドを用いて, 必要なパッケージがインストールされていることを確認した.
以下に示す実行例の "hoge" をパッケージ名に読み替えて実行した.
$ dpkg -l | grep hoge
* 必要なパッケージ: perl-suid, rsync, wget, htroff, cvs, libjcode-pm-perl, libcrypt-passwdmd5-perl, libdatetime-perl, libdatetime-format-strptime-perl
* perl-suid, htroff が存在しないと表示されたが, htroff は ika サーバの /home/murashin 以下に置いてあったものをコピーした.
= gate ユーザ宛のメールを転送する
* /home/gate/.qmail に管理者のメールアドレスを書き込んだ.
# vi /home/gate/.qmail
&itpadmin
= gate-toroku-system のソースの取得と展開
ika の /home/gate から gate-toroku-system のソース(gate-toroku-system.tar.gz)
を tako の /home/gate にコピーし, 展開した. 展開は以下のコマンドで行える.
$ tar xvfz gate-toroku-system.tar.gz
= 設定ファイルの編集
== gate.conf
ika の /etc/gate/ の下から gate.conf をコピーし /etc/gate/ の下に置いた.
gate.conf 内の $DBSERVER を以下のように編集した.
$DBSERVER = “tako-itpass.scitec.kobe-u.ac.jp";
また, %DB_SHARE_HOSTS が以下のようになっていることを確認した.
%DB_SHARE_HOSTS = (
'ika-itpass.scitec.kobe-u.ac.jp','wheel:itpadmin'
# 'dennou-k.kugi.kyoto-u.ac.jp','wheel:dcstaff',
# 'dennou-h.ees.hokudai.ac.jp','wheel:dcstaff',
# 'dennou-q.geo.kyushu-u.ac.jp','wheel:dcstaff'
);
== gate-user.conf
同様にして gate-user.conf をコピーし, $WHEELUSER が 'itpadmin' になって
いるか確認した.
$WHEELUSER = 'itpadmin';
= gate-toroku-system CGI を動作させるための apache2 設定
CGI の動作に関して, apache2 の設定を確認した.
* apache を動作させるユーザ, グループ
* apache がどのユーザ, グループの権限で動作するかは /usr/local/apache2/conf/httpd.conf 内の「 User 」 と「 Group 」で指定される.
以下はその一例.
User www-data
Group www-data
* 「 User 」,「 Group 」に指定されているユーザやグループが gate.conf の
$CGIUSER に指定されているユーザと一致していることを確認した.
$CGIUSER = "www-data”;
* /usr/local/apache2/cgi-bin/ の CGI が動作するために /usr/local/apache2/conf/httpd.conf で下記の記述があることを確認した.
</IfModule>
<IfModule cgid_module>
#
# ScriptSock: On threaded servers, designate the path to the UNIX
# socket used to communicate with the CGI daemon of mod_cgid.
#
Scriptsock cgisock # <-- この行のコメントアウトを解除し, 有効にする
</IfModule>
#
# "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/usr/local/apache2/cgi-bin/">
AllowOverride AuthConfig Limit
Options +ExecCGI +FollowSymLinks +IncludesNoExec
Require all granted
</Directory>
* さらに, /usr/local/apache2/conf/httpd.conf において, 以下の行もコメントアウトを解除し, 有効にする.
LoadModule cgid_module modules/mod_cgi.so
= make とインストール
make とインストールを行った.
# su gate
$ cd ~gate/gate-toroku-system/
$ perl ./config.pl
$ make
$ exit
$ sudo -s
# cd ~gate/gate-toroku-system
# make install
== cgi のシンボリックリンク作成
/usr/local/gate/lib/cgi-bin 以下にインストールされる cgi のシンボリックリンクを /usr/local/apache2/cgi-bin 以下に作成した.
# cd /usr/local/apache2/cgi-bin
# ln -s ../../gate/lib/cgi-bin/gate-*.cgi .
== gate-db-to-sudoers の編集
* /usr/local/gate/sbin/gate-db-to-sudoers を Defaults で始まる 4 行を追加し, 以下のようにした.
# This is /etc/sudoers file, generated by gate-db-to-sudoers.
# If you are to edit this file, do not edit it directly.
Defaults env_reset
Defaults mail_badpass
Defaults
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/
Defaults mailfrom=root
root ALL=(ALL) ALL
= 実行ファイルへのパスの設定
インストールした gate-toroku-system の実行ファイル群へパスを通した.
= マニュアルへのパスの設定
/etc/manpath.config に以下の行を追加した.
MANDATORY_MANPATH /usr/local/gate/man/ja
MANPATH_MAP /usr/local/gate/bin /usr/local/gate/man/ja
MANPATH_MAP /usr/local/gate/sbin /usr/local/gate/man/ja
MANDB_MAP /usr/local/gate/man/ja /usr/local/gate/man/ja
= Web インターフェースのチェック
* https://tako-itpass.scitec.kobe-u.ac.jp/~gate/ にアクセスし, gate 登録システムのインデックスページが見えるか確認した.
* 上記のページからリンクされている個人申請(https://tako-itpass.scitec.kobe-u.ac.jp/cgi-bin/gate-user-apply.cgi) などに移動し, CGI が動作しているかチェックした.
= ユーザの作成
== root ログインの準備
以下の作業では ika から tako へ root ログインする必要がある.
そのため, root ログイン用の鍵の生成・設置と root ログインの許可を行う.
=== 鍵の生成と設置
root ログイン用の鍵を作成・設置する.
* ika に残った, 再構築前の tako の情報を削除
* ika の /root/.ssh/known_hosts の中の tako に該当する行を削除する
ssh-keygen -F tako-itpsass.scitec.kobe-u.ac.jp
で何行目に該当すかが表示される
#Host tako-itpass.scitec.kobe-u.ac.jp found: Line 4 type RSA
と表示されたので4行目を削除した
* ika で 鍵を生成する
* 鍵の置き場とファイル名は, デフォルトの /root/.ssh/id_rsa とした
* パスフレーズは空にする
ika-itpass# ssh-keygen -t rsa
* 公開鍵の設置
ika で作成した公開鍵 ika:/root/.ssh/id_rsa.pub を tako:/root/.ssh/authorized_keys にコピーする.
ika:/root/.ssh/id_rsa.pub の内容を cat 表示し, メールで tako に送信する.
/root/.ssh/authorized_keys のパーミッションを変更した
tako-itpass# chmod 600 /root/.ssh/authorized_keys
authorized_keys に改行が残っていたので削除した
=== root ログインの許可
* tako への root ログインの許可を設定する
# vi /etc/ssh/sshd_config
PermitRootLogin yes
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動する.
# /etc/init.d/ssh restart
== ユーザデータベースのコピー
ika の /home/gate/userdb を tako の /home/gate/userdb にコピーする
* まず, -n オプションを付けて rsync の動作チェックを行う.
ika-itpass# rsync -n -av -e ssh --delete /home/gate/userdb/ tako-itpass:/home/gate/userdb/
ここで一度うまくいかなかったのでもう一度 ssh-keygen -F コマンドで確認したところ, まだ構築前の tako の情報が残っており
#Host tako-itpass.scitec.kobe-u.ac.jp found: Line 3 type RSA
と表示されたので /root/.ssh/known_hosts の 3 行目を削除した.
このあともう一度動作チェックを行ったところ問題なかった.
* 実際にコピーを行った.
ika-itpass# rsync -av -e ssh --delete /home/gate/userdb/ tako-itpass:/home/gate/userdb/
== root ログインの設定を戻す
tako への root ログインを不許可に設定し直した
# vi /etc/ssh/sshd_config
PermitRootLogin no
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動する.
# /etc/init.d/ssh restart
== /etc/shadow のコピー
* ika の /etc/shadow のうち UID 1000 ~ 29999 の gate-toroku-system で管理されるユーザーについて, そのアカウント名の行をコピーして tako の/etc/shadow のファイルに追加した. 各ユーザに対する uid は /etc/passwd に書かれているものを確認した.
== 最初の保証人ユーザ作成
* 個人申請
(https://tako-itpass.scitec.kobe-u.ac.jp/cgi-bin/gate-user-apply.cgi) にアクセスし, ユーザ登録申請を行う (テスト用なので適当なユーザーでよい)
* 保証人は先に作ったユーザ "gate" とした
* 登録申請後, /home/gate/userdb/pending の下に申請者の (申請ログイン名がついたファイル) が生成されているか確認した
* 承認を行うために保証人 "gate" の登録システム用パスワードを設定する
* gate ユーザに成り代わり, 登録システム用パスワードを設定する
# su gate
$ cd
$ htpasswd -cd ~gate/.gate gate
* ここで設定したパスワードを使い, "gate" ユーザとして登録申請中のテストユーザを承認する
* https://new-itpass.scitec.kobe-u.ac.jp/cgi-bin/gate-user-accept.cgi にアクセスして行った
* その後, 承認したテストユーザのデータベースファイルが /home/gate/userdb/stable へ移動していることを確認した
= アカウント生成
/home/gate/userdb の中にあるデータベースファイルをシステムに反映させるために, root 権限で /usr/local/gate/lib/gate-daily を実行した
* gate-daily は /etc/gate/gate.conf を参照するため, 起動前に gate.conf内の 'ika-itpass' を 'tako-itpass' と書き換えた(二ヵ所)
* その後以下を実行した
# perl /usr/local/gate/lib/gate-daily
* /etc/{passwd, group, shadow} に, 登録したユーザの情報が新たに書き込まれていることを確認した.
また /home に /home/gate/userdb 以下に存在するユーザのディレクトリができていることを確認した.
= bind の所有グループの変更
((<[ITPASS2012]bindのインストールと設定#編集したファイルのパーミッション設定>)) にあるように,
bind 関連のファイルの所有グループを itpadmin に変更した.
root@tako:/usr/local/bind/etc# chgrp -R itpadmin .
= /etc/aliases の変更
/etc/aliases の root に対応するユーザは, インストール時に作ったユーザになっているはずである.
test という名前のユーザを作った場合は, 以下の行が存在するはずである.
vim/etc/alias
root: test
これを itpadmin に書き換える.
root: itpadmin
設定を反映するため,
# newaliases
を実行する.
ここで許可がないというメッセージが出たが, マニュアルには問題ないとあった
のでそのまま次の作業に移った.
= デーモンモードでの運用
ユーザ, ホストのデータベースをシステムに反映させるため, デーモンモードで
の運用の設定を行った.
* gate-sys.conf の設定
/etc/gate/gate-sys.conf 中の $USE_DAEMON 変数が 1 であることを確かめた.
$USE_DAEMON = 1;
* gate-toroku-system 用のポートの作成
/etc/inetd.conf に以下の一行を付け足した.
gate stream tcp nowait root /usr/sbin/tcpd /usr/local/gate/lib/gate-daily -N
* ポート番号の設定
/etc/services に以下の行を付け足した.
gate 8888/tcp # gate-toroku-system
* TCP wrapper によるセキュリティ強化
そのため, TCP wrapper を使用してアクセスを登録サーバからのものに限定する.
ITPASS サーバは 1 台での運用なので, 自身からのアクセスのみ許可した.
* /etc/hosts.deny の編集
まず, 全てのホストからの gate ポートへのアクセスを拒否するよう /etc/hosts.deny に以下の一行を追加した.
gate-daily: ALL
* /etc/hosts.allow の編集
登録サーバ自身 (tako) からのアクセスは許可するよう, /etc/hosts.allow に以下の一行を追加する.
gate-daily: 127.0.0.1
* 登録サーバ以外のホストからのアクセスが拒否されるか確認する.
以下は google.com で試した場合.
root@tako-itpass:/home/gate# tcpdmatch gate-daily google.com
client: hostname nrt04s01-in-f99.1e100.net
client: address 66.249.89.99
server: process gate-daily
matched: /etc/hosts.deny line 21
access: denied
client: hostname nrt04s01-in-f104.1e100.net
client: address 66.249.89.104
server: process gate-daily
matched: /etc/hosts.deny line 21
access: denied
denied とあれば拒否されている.
次に, 登録サーバ自身からのアクセスが許可されているか確認する.
root@tako-itpass:/home/gate# tcpdmatch gate-daily localhost
client: hostname localhost
client: address 127.0.0.1
server: process gate-daily
matched: /etc/hosts.allow line 14
access: granted
granted とあったので許可されていることを確認した.
* inetd を再起動した
# /etc/init.d/openbsd-inetd restart
Restarting internet superserver: inetd.
* 確認
CGI から適当なユーザの申請および認証を行った. 認証して数分後に /etc 以下のシステムファイル(passwd ファイルと shadow ファイル)が更新されていることを確認した.
= gate-toroku-system ソースの移動
ソースのバックアップを残す.
* 以下のように名前を変更してコピーしておく
cp -r gate-toroku-system gate-toroku-system_2014-11-13
= doc ディレクトリのシンボリックリンク作成
/usr/local/gate/ にある doc ディレクトリのシンボリックリンクを/home/gate/public_html/ に作成した.
# cd /home/gate/public_html/
# ln -s /usr/local/gate/doc
# ls -l
root@tako-itpass:/home/gate/public_html# ls -l
合計 64
lrwxrwxrwx 1 root root 19 2010-10-15 19:40 doc -> /usr/local/gate/doc
= 日々の開発・メンテナンスのための準備
== 必要なパッケージのインストール
以下のコマンドで, 開発やメンテナンスに必要なパッケージをインストールした.
# apt-get install cvs
# apt-get install kcc
# apt-get install nkf
# apt-get install libjcode-pm-perl
# apt-get install libcrypt-passwdmd5-perl
# apt-get install libdatetime-perl
# apt-get install libdatetime-format-strptime-perl
== 余分なファイルの削除, 文字コードの修正
* 新たに cvsroot を作成するために, gate-toroku-system 内の余計なディレクトリやファイルを削除した.
* ls -aR でディレクトリ内の不要なドットファイルなども削除した.
# su gate
$ cd gate-toroku-system
$ rm -frv `find -name CVS`
* 文字コードを 1 種類に統一したいため, kcc で文字コードのチェックを行った.
$ kcc -c `find -name '*'`
:
./make-smtppasswd/Makefile: ASCII
./make-smtppasswd/gate-make-smtppasswd.PL: 7-bit JIS [ESC$B,ESC(B]
./user-status/gate-user-status.PL: EUC
./user-status/Makefile: ASCII
# $ nkf -e -Lu -d ./make-smtppasswd/gate-make-smtppasswd.PL
確認したところ問題なかった
== CVS リポジトリの作成
# su gate
$ umask 002
$ cd
$ cvs -d /home/gate/cvsroot init
作成した.
== グループ書き込み許可の設定
: リポジトリ cvsroot パーミッションの設定
cvsroot 以下で作成されるファイル, ディレクトリのグループを gate にするため, cvsroot に s ビットを立て, 書き込み権限を与えた.
念のためにグループも gate に設定した.
$ chmod g+s cvsroot
$ chmod g+w cvsroot
$ chgrp gate cvsroot
: 管理用ディレクトリ CVSROOT 内のパーミッションの設定
CVSROOT, およびそれ以下の特定のファイルに関してグループの変更と書き込み
権限変更をおこなう.
* CVSROOT ディレクトリ本体
グループを gate とし, グループに書き込み権限を与えた.
$ cd cvsroot
$ chgrp gate CVSROOT
$ chmod g+s CVSROOT
$ chmod g+w CVSROOT
* history, val-tags へグループ書き込み権限を与える
CVSROOT 以下にある history, val-tags にグループ書き込み権限を与えた.
$ cd CVSROOT
$ chmod g+w history
val-tags は検索を高速化するために, 有効なタグ名をキャッシュしているファイルである.
GATE プロジェクトではタグも使用するので, これにもグループ書き込み権限を与えた.
$ chmod g+w val-tags
== gate-toroku-system プロジェクト開始
* gate-toroku-system ディレクトリ内に移動し, cvs import でプロジェクトを開始する.
# su gate
$ umask 002
$ cd gate-toroku-system
$ export CVSROOT=/home/gate/cvsroot
$ cvs import -m "gate-toroku-system" gate-toroku-system gate Initial
=== プロジェクトのパーミッションの確認
プロジェクトのディレクトリのパーミッションを確認した.
$ ls -l /home/gate/cvsroot
drwxrwsr-x 3 gate gate 4096 2007-08-15 17:18 CVSROOT
drwxrwsr-x 39 gate gate 4096 2007-08-15 17:44 gate-toroku-system
上記のようにグループが gate で権限が rws のとなっていることを確認した.
== CVS リポジトリのカスタマイズ
((<URL:http://www.gfd-dennou.org/library/cc-env/cvs/>)) を参考に, 以下の
作業を行った.
* CVSROOT のチェックアウト
chikuwa4 に適当なディレクトリを作成し CVSROOT のチェックアウトを行った
# mkdir ~chikuwa4/cvs
# cd ~chikuwa4/cvs
# export CVSROOT=/home/gate/cvsroot
# cvs checkout CVSROOT
# cd CVSROOT
* cvs リポジトリのカスタマイズ
* commit をメール通知する設定
/CVSROOT/loginfo に以下の一行を追加した
DEFAULT (echo ""; id; echo %{sVv}; date; cat) | mail -s gate-toroku-system-commit gate@itpass.scitec.kobe-u.ac.jp
* バイナリファイルを安全に登録するために
/CVSROOT/cvswrappers に以下の記述を加えた
# Treat Image and Archive and Data file as Binary Data
*.gif -k 'b'
*.GIF -k 'b'
*.jpg -k 'b'
*.JPG -k 'b'
*.jpeg -k 'b'
*.JPEG -k 'b'
*.png -k 'b'
*.PNG -k 'b'
*.tif -k 'b'
*.TIF -k 'b'
*.tiff -k 'b'
*.TIFF -k 'b'
*.xpm -k 'b'
*.XPM -k 'b'
*.pbm -k 'b'
*.PBM -k 'b'
*.ico -k 'b'
*.ICO -k 'b'
*.eps -k 'b'
*.EPS -k 'b'
*.o -k 'b'
*.O -k 'b'
*.a -k 'b'
*.A -k 'b'
*.mod -k 'b'
*.MOD -k 'b'
*.nc -k 'b'
*.NC -k 'b'
*.obj -k 'b'
*.OBJ -k 'b'
*.ai -k 'b'
*.AI -k 'b'
*.psd -k 'b'
*.PSD -k 'b'
*.fla -k 'b'
*.FLA -k 'b'
*.swf -k 'b'
*.SWF -k 'b'
*.dvi -k 'b'
*.DVI -k 'b'
*.pdf -k 'b'
*.PDF -k 'b'
*.bz2 -k 'b'
*.BZ2 -k 'b'
*.gz -k 'b'
*.GZ -k 'b'
*.tar -k 'b'
*.TAR -k 'b'
*.tgz -k 'b'
*.TGZ -k 'b'
*.tar.gz -k 'b'
*.TAR.GZ -k 'b'
*.cab -k 'b'
*.CAB -k 'b'
*.lzh -k 'b'
*.LZH -k 'b'
*.zip -k 'b'
*.ZIP -k 'b'
*.sea -k 'b'
*.SEA -k 'b'
*.dat -k 'b'
*.DAT -k 'b'
*.ppt -k 'b'
*.PPT -k 'b'
*.doc -k 'b'
*.DOC -k 'b'
*.xls -k 'b'
*.XLS -k 'b'
* euc のファイルのみ登録するには
dennou サーバから kanjichecker.pl を入手し, 特定の文字コードのファイルのみをコミット可能にした
# wget http://www.gfd-dennou.org/library/cc-env/cvs/customize/euc-tools/kanjichecker.pl
# cvs add kanjichecker.pl
# cvs commit -m "Kanji code checker." kanjichecker.pl
CVSROOT/checkoutlist に以下の一行を追加する
kanjichecker.pl unable to check out / update kanjichecker.pl in CVSROOT
commit した
# cvs commit -m "Add kanjichecker.pl" checkoutlist
CVSROOT/commitinfo に以下のように追記する
DEFAULT perl $CVSROOT/CVSROOT/kanjichecker.pl euc %r/%p %s
* commit メッセージを euc のみに
dennou サーバからmsgchecker.pl を入手する
# wget http://www.gfd-dennou.org/library/cc-env/cvs/customize/euc-tools/msgchecker.pl
# cvs add msgchecker.pl
# cvs commit -m "log message code checker." msgchecker.pl
CVSROOT/checkoutlist に以下の一行を追加する
msgchecker.pl unable to check out / update msgchecker.pl in CVSROOT
commit した
# cvs commit -m "Add msgchecker.pl" checkoutlist
verifymsg に以下のように追記する
gate-toroku-system perl $CVSROOT/CVSROOT/msgchecker.pl euc %l
DEFAULT perl $CVSROOT/CVSROOT/msgchecker.pl ASCII %l
なお, メール通知の際の宛先は ITPASS サーバの gate-toroku-system 開発グループ とし, ファイルの文字コードは EUC とした.
= gate-db-to-ezmlm の設定
root になりかわり, /usr/local/gate/bin/gate-db-to-ezmlm の「0. 実行ファイル, ドメインの指定」の項目を以下のように変更した.
変更前
$domainname='gfd-dennou.org';
$ezmlmlist='/usr/bin/ezmlm-list';
$ezmlmsub='/usr/bin/ezmlm-sub';
$ezmlmunsub='/usr/bin/ezmlm-unsub';
変更後
$domainname='itpasss.scitec.kobe-u.ac.jp';
$ezmlmlist='/usr/local/ezmlm/bin/ezmlm-list';
$ezmlmsub='/usr/local/ezmlm/bin/ezmlm-sub';
$ezmlmunsub='/usr/local/ezmlm/bin/ezmlm-unsub';
== 前回作業のミスの修正
* /etc/gate/gate.conf にミスがあった
%DB_SHARE_HOSTS = (
'ika-itpass.scitec.kobe-u.ac.jp','wheel:epaadmin'
# 'dennou-k.kugi.kyoto-u.ac.jp','wheel:dcstaff',
# 'dennou-h.ees.hokudai.ac.jp','wheel:dcstaff',
# 'dennou-q.geo.kyushu-u.ac.jp','wheel:dcstaff'
);
二行目の 'wheel:epaadm' を 'wheel:itpadmin'に修正した.
* /etc/gate/gate-user.conf にミスがあった
$WHEELUSER = 'epaadmin';
の epaadmin を itpadmin に修正した
* 先日作成した CVSROOT を削除した(念のために昨日のログは残しておいた)
tako: # mv ~chikuwa4/cvs ~chikkuwa4/cvs.OLD
# mv ~gate/ mv cvsroot cvsroot.OLD
tako への root ログインを許可に設定した
# vi /etc/ssh/sshd_config
PermitRootLogin yes
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動した
# /etc/init.d/ssh restart
rsync する
ika: rsync -n -av -e ssh --delete /home/gate/cvsroot/ tako-itpass:/home/gate/cvsroot/
tako への root ログインを不許可に設定した
# vi /etc/ssh/sshd_config
PermitRootLogin no
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動した.
# /etc/init.d/ssh restart
= 動作確認
予め動作確認を行い, 設定ファイルの修正を行う.
== 確認作業
((<ITPASS サーバユーザ登録システム|URL:https://tako-itpass.scitec.kobe-
u.ac.jp/~gate/>))のページから登録情報の更新をする.
htpasswd -d ~hogehoge/.gate hogehoge
New password:
その後 /var/log/syslog を見て gate が作動したことを確認した.
Nov 17 15:04:17 tako-itpass gate-daily[20445]: connect from 127.0.0.1 (127.0.0.1)
また, 同時刻に sudoers ファイルが書き換えられているか確認した.
$ ls -la /etc/sudoers
-r--r----- 1 root root 710 11月 17 15:04 /etc/sudoers
sudoers ファイルに以下の行があることを確認した.
$ sudo less /etc/sudoers
(省略)
%itpadmin ALL=(ALL) ALL
(省略)
念のため, itpadmin グループのユーザが実際に root になれることを確認した.
$ su mmiyuki
$ sudo -s
# exit
* gate-toroku-system 管理用アカウント: gate を作成した.
ユーザ ID は 500 とした.
# adduser --uid 500 --disabled-password gate
登録の際, フルネームは「Administrator of gate-toroku-system」とした.
* gate グループに gate 管理者を加えた.
gate 管理者は, ((<[ITPASS2012]gate-toroku-systemの開発とメンテナンス>))に書かれている開発メンバーと, gate のインストールを行ったメンバー(ryohori, mmiyuki)とした.
= 必要なソフトウェアのインストール
gate に必要なパッケージをインストールした.
== パッケージの確認
dpkg コマンドを用いて, 必要なパッケージがインストールされていることを確認した.
以下に示す実行例の "hoge" をパッケージ名に読み替えて実行した.
$ dpkg -l | grep hoge
* 必要なパッケージ: perl-suid, rsync, wget, htroff, cvs, libjcode-pm-perl, libcrypt-passwdmd5-perl, libdatetime-perl, libdatetime-format-strptime-perl
* perl-suid, htroff が存在しないと表示されたが, htroff は ika サーバの /home/murashin 以下に置いてあったものをコピーした.
= gate ユーザ宛のメールを転送する
* /home/gate/.qmail に管理者のメールアドレスを書き込んだ.
# vi /home/gate/.qmail
&itpadmin
= gate-toroku-system のソースの取得と展開
ika の /home/gate から gate-toroku-system のソース(gate-toroku-system.tar.gz)
を tako の /home/gate にコピーし, 展開した. 展開は以下のコマンドで行える.
$ tar xvfz gate-toroku-system.tar.gz
= 設定ファイルの編集
== gate.conf
ika の /etc/gate/ の下から gate.conf をコピーし /etc/gate/ の下に置いた.
gate.conf 内の $DBSERVER を以下のように編集した.
$DBSERVER = “tako-itpass.scitec.kobe-u.ac.jp";
また, %DB_SHARE_HOSTS が以下のようになっていることを確認した.
%DB_SHARE_HOSTS = (
'ika-itpass.scitec.kobe-u.ac.jp','wheel:itpadmin'
# 'dennou-k.kugi.kyoto-u.ac.jp','wheel:dcstaff',
# 'dennou-h.ees.hokudai.ac.jp','wheel:dcstaff',
# 'dennou-q.geo.kyushu-u.ac.jp','wheel:dcstaff'
);
== gate-user.conf
同様にして gate-user.conf をコピーし, $WHEELUSER が 'itpadmin' になって
いるか確認した.
$WHEELUSER = 'itpadmin';
= gate-toroku-system CGI を動作させるための apache2 設定
CGI の動作に関して, apache2 の設定を確認した.
* apache を動作させるユーザ, グループ
* apache がどのユーザ, グループの権限で動作するかは /usr/local/apache2/conf/httpd.conf 内の「 User 」 と「 Group 」で指定される.
以下はその一例.
User www-data
Group www-data
* 「 User 」,「 Group 」に指定されているユーザやグループが gate.conf の
$CGIUSER に指定されているユーザと一致していることを確認した.
$CGIUSER = "www-data”;
* /usr/local/apache2/cgi-bin/ の CGI が動作するために /usr/local/apache2/conf/httpd.conf で下記の記述があることを確認した.
</IfModule>
<IfModule cgid_module>
#
# ScriptSock: On threaded servers, designate the path to the UNIX
# socket used to communicate with the CGI daemon of mod_cgid.
#
Scriptsock cgisock # <-- この行のコメントアウトを解除し, 有効にする
</IfModule>
#
# "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/usr/local/apache2/cgi-bin/">
AllowOverride AuthConfig Limit
Options +ExecCGI +FollowSymLinks +IncludesNoExec
Require all granted
</Directory>
* さらに, /usr/local/apache2/conf/httpd.conf において, 以下の行もコメントアウトを解除し, 有効にする.
LoadModule cgid_module modules/mod_cgi.so
= make とインストール
make とインストールを行った.
# su gate
$ cd ~gate/gate-toroku-system/
$ perl ./config.pl
$ make
$ exit
$ sudo -s
# cd ~gate/gate-toroku-system
# make install
== cgi のシンボリックリンク作成
/usr/local/gate/lib/cgi-bin 以下にインストールされる cgi のシンボリックリンクを /usr/local/apache2/cgi-bin 以下に作成した.
# cd /usr/local/apache2/cgi-bin
# ln -s ../../gate/lib/cgi-bin/gate-*.cgi .
== gate-db-to-sudoers の編集
* /usr/local/gate/sbin/gate-db-to-sudoers を Defaults で始まる 4 行を追加し, 以下のようにした.
# This is /etc/sudoers file, generated by gate-db-to-sudoers.
# If you are to edit this file, do not edit it directly.
Defaults env_reset
Defaults mail_badpass
Defaults
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/
Defaults mailfrom=root
root ALL=(ALL) ALL
= 実行ファイルへのパスの設定
インストールした gate-toroku-system の実行ファイル群へパスを通した.
= マニュアルへのパスの設定
/etc/manpath.config に以下の行を追加した.
MANDATORY_MANPATH /usr/local/gate/man/ja
MANPATH_MAP /usr/local/gate/bin /usr/local/gate/man/ja
MANPATH_MAP /usr/local/gate/sbin /usr/local/gate/man/ja
MANDB_MAP /usr/local/gate/man/ja /usr/local/gate/man/ja
= Web インターフェースのチェック
* https://tako-itpass.scitec.kobe-u.ac.jp/~gate/ にアクセスし, gate 登録システムのインデックスページが見えるか確認した.
* 上記のページからリンクされている個人申請(https://tako-itpass.scitec.kobe-u.ac.jp/cgi-bin/gate-user-apply.cgi) などに移動し, CGI が動作しているかチェックした.
= ユーザの作成
== root ログインの準備
以下の作業では ika から tako へ root ログインする必要がある.
そのため, root ログイン用の鍵の生成・設置と root ログインの許可を行う.
=== 鍵の生成と設置
root ログイン用の鍵を作成・設置する.
* ika に残った, 再構築前の tako の情報を削除
* ika の /root/.ssh/known_hosts の中の tako に該当する行を削除する
ssh-keygen -F tako-itpsass.scitec.kobe-u.ac.jp
で何行目に該当すかが表示される
#Host tako-itpass.scitec.kobe-u.ac.jp found: Line 4 type RSA
と表示されたので4行目を削除した
* ika で 鍵を生成する
* 鍵の置き場とファイル名は, デフォルトの /root/.ssh/id_rsa とした
* パスフレーズは空にする
ika-itpass# ssh-keygen -t rsa
* 公開鍵の設置
ika で作成した公開鍵 ika:/root/.ssh/id_rsa.pub を tako:/root/.ssh/authorized_keys にコピーする.
ika:/root/.ssh/id_rsa.pub の内容を cat 表示し, メールで tako に送信する.
/root/.ssh/authorized_keys のパーミッションを変更した
tako-itpass# chmod 600 /root/.ssh/authorized_keys
authorized_keys に改行が残っていたので削除した
=== root ログインの許可
* tako への root ログインの許可を設定する
# vi /etc/ssh/sshd_config
PermitRootLogin yes
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動する.
# /etc/init.d/ssh restart
== ユーザデータベースのコピー
ika の /home/gate/userdb を tako の /home/gate/userdb にコピーする
* まず, -n オプションを付けて rsync の動作チェックを行う.
ika-itpass# rsync -n -av -e ssh --delete /home/gate/userdb/ tako-itpass:/home/gate/userdb/
ここで一度うまくいかなかったのでもう一度 ssh-keygen -F コマンドで確認したところ, まだ構築前の tako の情報が残っており
#Host tako-itpass.scitec.kobe-u.ac.jp found: Line 3 type RSA
と表示されたので /root/.ssh/known_hosts の 3 行目を削除した.
このあともう一度動作チェックを行ったところ問題なかった.
* 実際にコピーを行った.
ika-itpass# rsync -av -e ssh --delete /home/gate/userdb/ tako-itpass:/home/gate/userdb/
== root ログインの設定を戻す
tako への root ログインを不許可に設定し直した
# vi /etc/ssh/sshd_config
PermitRootLogin no
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動する.
# /etc/init.d/ssh restart
== /etc/shadow のコピー
* ika の /etc/shadow のうち UID 1000 ~ 29999 の gate-toroku-system で管理されるユーザーについて, そのアカウント名の行をコピーして tako の/etc/shadow のファイルに追加した. 各ユーザに対する uid は /etc/passwd に書かれているものを確認した.
== 最初の保証人ユーザ作成
* 個人申請
(https://tako-itpass.scitec.kobe-u.ac.jp/cgi-bin/gate-user-apply.cgi) にアクセスし, ユーザ登録申請を行う (テスト用なので適当なユーザーでよい)
* 保証人は先に作ったユーザ "gate" とした
* 登録申請後, /home/gate/userdb/pending の下に申請者の (申請ログイン名がついたファイル) が生成されているか確認した
* 承認を行うために保証人 "gate" の登録システム用パスワードを設定する
* gate ユーザに成り代わり, 登録システム用パスワードを設定する
# su gate
$ cd
$ htpasswd -cd ~gate/.gate gate
* ここで設定したパスワードを使い, "gate" ユーザとして登録申請中のテストユーザを承認する
* https://new-itpass.scitec.kobe-u.ac.jp/cgi-bin/gate-user-accept.cgi にアクセスして行った
* その後, 承認したテストユーザのデータベースファイルが /home/gate/userdb/stable へ移動していることを確認した
= アカウント生成
/home/gate/userdb の中にあるデータベースファイルをシステムに反映させるために, root 権限で /usr/local/gate/lib/gate-daily を実行した
* gate-daily は /etc/gate/gate.conf を参照するため, 起動前に gate.conf内の 'ika-itpass' を 'tako-itpass' と書き換えた(二ヵ所)
* その後以下を実行した
# perl /usr/local/gate/lib/gate-daily
* /etc/{passwd, group, shadow} に, 登録したユーザの情報が新たに書き込まれていることを確認した.
また /home に /home/gate/userdb 以下に存在するユーザのディレクトリができていることを確認した.
= bind の所有グループの変更
((<[ITPASS2012]bindのインストールと設定#編集したファイルのパーミッション設定>)) にあるように,
bind 関連のファイルの所有グループを itpadmin に変更した.
root@tako:/usr/local/bind/etc# chgrp -R itpadmin .
= /etc/aliases の変更
/etc/aliases の root に対応するユーザは, インストール時に作ったユーザになっているはずである.
test という名前のユーザを作った場合は, 以下の行が存在するはずである.
vim/etc/alias
root: test
これを itpadmin に書き換える.
root: itpadmin
設定を反映するため,
# newaliases
を実行する.
ここで許可がないというメッセージが出たが, マニュアルには問題ないとあった
のでそのまま次の作業に移った.
= デーモンモードでの運用
ユーザ, ホストのデータベースをシステムに反映させるため, デーモンモードで
の運用の設定を行った.
* gate-sys.conf の設定
/etc/gate/gate-sys.conf 中の $USE_DAEMON 変数が 1 であることを確かめた.
$USE_DAEMON = 1;
* gate-toroku-system 用のポートの作成
/etc/inetd.conf に以下の一行を付け足した.
gate stream tcp nowait root /usr/sbin/tcpd /usr/local/gate/lib/gate-daily -N
* ポート番号の設定
/etc/services に以下の行を付け足した.
gate 8888/tcp # gate-toroku-system
* TCP wrapper によるセキュリティ強化
そのため, TCP wrapper を使用してアクセスを登録サーバからのものに限定する.
ITPASS サーバは 1 台での運用なので, 自身からのアクセスのみ許可した.
* /etc/hosts.deny の編集
まず, 全てのホストからの gate ポートへのアクセスを拒否するよう /etc/hosts.deny に以下の一行を追加した.
gate-daily: ALL
* /etc/hosts.allow の編集
登録サーバ自身 (tako) からのアクセスは許可するよう, /etc/hosts.allow に以下の一行を追加する.
gate-daily: 127.0.0.1
* 登録サーバ以外のホストからのアクセスが拒否されるか確認する.
以下は google.com で試した場合.
root@tako-itpass:/home/gate# tcpdmatch gate-daily google.com
client: hostname nrt04s01-in-f99.1e100.net
client: address 66.249.89.99
server: process gate-daily
matched: /etc/hosts.deny line 21
access: denied
client: hostname nrt04s01-in-f104.1e100.net
client: address 66.249.89.104
server: process gate-daily
matched: /etc/hosts.deny line 21
access: denied
denied とあれば拒否されている.
次に, 登録サーバ自身からのアクセスが許可されているか確認する.
root@tako-itpass:/home/gate# tcpdmatch gate-daily localhost
client: hostname localhost
client: address 127.0.0.1
server: process gate-daily
matched: /etc/hosts.allow line 14
access: granted
granted とあったので許可されていることを確認した.
* inetd を再起動した
# /etc/init.d/openbsd-inetd restart
Restarting internet superserver: inetd.
* 確認
CGI から適当なユーザの申請および認証を行った. 認証して数分後に /etc 以下のシステムファイル(passwd ファイルと shadow ファイル)が更新されていることを確認した.
= gate-toroku-system ソースの移動
ソースのバックアップを残す.
* 以下のように名前を変更してコピーしておく
cp -r gate-toroku-system gate-toroku-system_2014-11-13
= doc ディレクトリのシンボリックリンク作成
/usr/local/gate/ にある doc ディレクトリのシンボリックリンクを/home/gate/public_html/ に作成した.
# cd /home/gate/public_html/
# ln -s /usr/local/gate/doc
# ls -l
root@tako-itpass:/home/gate/public_html# ls -l
合計 64
lrwxrwxrwx 1 root root 19 2010-10-15 19:40 doc -> /usr/local/gate/doc
= 日々の開発・メンテナンスのための準備
== 必要なパッケージのインストール
以下のコマンドで, 開発やメンテナンスに必要なパッケージをインストールした.
# apt-get install cvs
# apt-get install kcc
# apt-get install nkf
# apt-get install libjcode-pm-perl
# apt-get install libcrypt-passwdmd5-perl
# apt-get install libdatetime-perl
# apt-get install libdatetime-format-strptime-perl
== 余分なファイルの削除, 文字コードの修正
* 新たに cvsroot を作成するために, gate-toroku-system 内の余計なディレクトリやファイルを削除した.
* ls -aR でディレクトリ内の不要なドットファイルなども削除した.
# su gate
$ cd gate-toroku-system
$ rm -frv `find -name CVS`
* 文字コードを 1 種類に統一したいため, kcc で文字コードのチェックを行った.
$ kcc -c `find -name '*'`
:
./make-smtppasswd/Makefile: ASCII
./make-smtppasswd/gate-make-smtppasswd.PL: 7-bit JIS [ESC$B,ESC(B]
./user-status/gate-user-status.PL: EUC
./user-status/Makefile: ASCII
# $ nkf -e -Lu -d ./make-smtppasswd/gate-make-smtppasswd.PL
確認したところ問題なかった
== CVS リポジトリの作成
# su gate
$ umask 002
$ cd
$ cvs -d /home/gate/cvsroot init
作成した.
== グループ書き込み許可の設定
: リポジトリ cvsroot パーミッションの設定
cvsroot 以下で作成されるファイル, ディレクトリのグループを gate にするため, cvsroot に s ビットを立て, 書き込み権限を与えた.
念のためにグループも gate に設定した.
$ chmod g+s cvsroot
$ chmod g+w cvsroot
$ chgrp gate cvsroot
: 管理用ディレクトリ CVSROOT 内のパーミッションの設定
CVSROOT, およびそれ以下の特定のファイルに関してグループの変更と書き込み
権限変更をおこなう.
* CVSROOT ディレクトリ本体
グループを gate とし, グループに書き込み権限を与えた.
$ cd cvsroot
$ chgrp gate CVSROOT
$ chmod g+s CVSROOT
$ chmod g+w CVSROOT
* history, val-tags へグループ書き込み権限を与える
CVSROOT 以下にある history, val-tags にグループ書き込み権限を与えた.
$ cd CVSROOT
$ chmod g+w history
val-tags は検索を高速化するために, 有効なタグ名をキャッシュしているファイルである.
GATE プロジェクトではタグも使用するので, これにもグループ書き込み権限を与えた.
$ chmod g+w val-tags
== gate-toroku-system プロジェクト開始
* gate-toroku-system ディレクトリ内に移動し, cvs import でプロジェクトを開始する.
# su gate
$ umask 002
$ cd gate-toroku-system
$ export CVSROOT=/home/gate/cvsroot
$ cvs import -m "gate-toroku-system" gate-toroku-system gate Initial
=== プロジェクトのパーミッションの確認
プロジェクトのディレクトリのパーミッションを確認した.
$ ls -l /home/gate/cvsroot
drwxrwsr-x 3 gate gate 4096 2007-08-15 17:18 CVSROOT
drwxrwsr-x 39 gate gate 4096 2007-08-15 17:44 gate-toroku-system
上記のようにグループが gate で権限が rws のとなっていることを確認した.
== CVS リポジトリのカスタマイズ
((<URL:http://www.gfd-dennou.org/library/cc-env/cvs/>)) を参考に, 以下の
作業を行った.
* CVSROOT のチェックアウト
chikuwa4 に適当なディレクトリを作成し CVSROOT のチェックアウトを行った
# mkdir ~chikuwa4/cvs
# cd ~chikuwa4/cvs
# export CVSROOT=/home/gate/cvsroot
# cvs checkout CVSROOT
# cd CVSROOT
* cvs リポジトリのカスタマイズ
* commit をメール通知する設定
/CVSROOT/loginfo に以下の一行を追加した
DEFAULT (echo ""; id; echo %{sVv}; date; cat) | mail -s gate-toroku-system-commit gate@itpass.scitec.kobe-u.ac.jp
* バイナリファイルを安全に登録するために
/CVSROOT/cvswrappers に以下の記述を加えた
# Treat Image and Archive and Data file as Binary Data
*.gif -k 'b'
*.GIF -k 'b'
*.jpg -k 'b'
*.JPG -k 'b'
*.jpeg -k 'b'
*.JPEG -k 'b'
*.png -k 'b'
*.PNG -k 'b'
*.tif -k 'b'
*.TIF -k 'b'
*.tiff -k 'b'
*.TIFF -k 'b'
*.xpm -k 'b'
*.XPM -k 'b'
*.pbm -k 'b'
*.PBM -k 'b'
*.ico -k 'b'
*.ICO -k 'b'
*.eps -k 'b'
*.EPS -k 'b'
*.o -k 'b'
*.O -k 'b'
*.a -k 'b'
*.A -k 'b'
*.mod -k 'b'
*.MOD -k 'b'
*.nc -k 'b'
*.NC -k 'b'
*.obj -k 'b'
*.OBJ -k 'b'
*.ai -k 'b'
*.AI -k 'b'
*.psd -k 'b'
*.PSD -k 'b'
*.fla -k 'b'
*.FLA -k 'b'
*.swf -k 'b'
*.SWF -k 'b'
*.dvi -k 'b'
*.DVI -k 'b'
*.pdf -k 'b'
*.PDF -k 'b'
*.bz2 -k 'b'
*.BZ2 -k 'b'
*.gz -k 'b'
*.GZ -k 'b'
*.tar -k 'b'
*.TAR -k 'b'
*.tgz -k 'b'
*.TGZ -k 'b'
*.tar.gz -k 'b'
*.TAR.GZ -k 'b'
*.cab -k 'b'
*.CAB -k 'b'
*.lzh -k 'b'
*.LZH -k 'b'
*.zip -k 'b'
*.ZIP -k 'b'
*.sea -k 'b'
*.SEA -k 'b'
*.dat -k 'b'
*.DAT -k 'b'
*.ppt -k 'b'
*.PPT -k 'b'
*.doc -k 'b'
*.DOC -k 'b'
*.xls -k 'b'
*.XLS -k 'b'
* euc のファイルのみ登録するには
dennou サーバから kanjichecker.pl を入手し, 特定の文字コードのファイルのみをコミット可能にした
# wget http://www.gfd-dennou.org/library/cc-env/cvs/customize/euc-tools/kanjichecker.pl
# cvs add kanjichecker.pl
# cvs commit -m "Kanji code checker." kanjichecker.pl
CVSROOT/checkoutlist に以下の一行を追加する
kanjichecker.pl unable to check out / update kanjichecker.pl in CVSROOT
commit した
# cvs commit -m "Add kanjichecker.pl" checkoutlist
CVSROOT/commitinfo に以下のように追記する
DEFAULT perl $CVSROOT/CVSROOT/kanjichecker.pl euc %r/%p %s
* commit メッセージを euc のみに
dennou サーバからmsgchecker.pl を入手する
# wget http://www.gfd-dennou.org/library/cc-env/cvs/customize/euc-tools/msgchecker.pl
# cvs add msgchecker.pl
# cvs commit -m "log message code checker." msgchecker.pl
CVSROOT/checkoutlist に以下の一行を追加する
msgchecker.pl unable to check out / update msgchecker.pl in CVSROOT
commit した
# cvs commit -m "Add msgchecker.pl" checkoutlist
verifymsg に以下のように追記する
gate-toroku-system perl $CVSROOT/CVSROOT/msgchecker.pl euc %l
DEFAULT perl $CVSROOT/CVSROOT/msgchecker.pl ASCII %l
なお, メール通知の際の宛先は ITPASS サーバの gate-toroku-system 開発グループ とし, ファイルの文字コードは EUC とした.
= gate-db-to-ezmlm の設定
root になりかわり, /usr/local/gate/bin/gate-db-to-ezmlm の「0. 実行ファイル, ドメインの指定」の項目を以下のように変更した.
変更前
$domainname='gfd-dennou.org';
$ezmlmlist='/usr/bin/ezmlm-list';
$ezmlmsub='/usr/bin/ezmlm-sub';
$ezmlmunsub='/usr/bin/ezmlm-unsub';
変更後
$domainname='itpasss.scitec.kobe-u.ac.jp';
$ezmlmlist='/usr/local/ezmlm/bin/ezmlm-list';
$ezmlmsub='/usr/local/ezmlm/bin/ezmlm-sub';
$ezmlmunsub='/usr/local/ezmlm/bin/ezmlm-unsub';
== 前回作業のミスの修正
* /etc/gate/gate.conf にミスがあった
%DB_SHARE_HOSTS = (
'ika-itpass.scitec.kobe-u.ac.jp','wheel:epaadmin'
# 'dennou-k.kugi.kyoto-u.ac.jp','wheel:dcstaff',
# 'dennou-h.ees.hokudai.ac.jp','wheel:dcstaff',
# 'dennou-q.geo.kyushu-u.ac.jp','wheel:dcstaff'
);
二行目の 'wheel:epaadm' を 'wheel:itpadmin'に修正した.
* /etc/gate/gate-user.conf にミスがあった
$WHEELUSER = 'epaadmin';
の epaadmin を itpadmin に修正した
* 先日作成した CVSROOT を削除した(念のために昨日のログは残しておいた)
tako: # mv ~chikuwa4/cvs ~chikkuwa4/cvs.OLD
# mv ~gate/ mv cvsroot cvsroot.OLD
tako への root ログインを許可に設定した
# vi /etc/ssh/sshd_config
PermitRootLogin yes
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動した
# /etc/init.d/ssh restart
rsync する
ika: rsync -n -av -e ssh --delete /home/gate/cvsroot/ tako-itpass:/home/gate/cvsroot/
tako への root ログインを不許可に設定した
# vi /etc/ssh/sshd_config
PermitRootLogin no
:
PasswordAuthentication no
:
UsePAM no
ssh デーモンを再起動した.
# /etc/init.d/ssh restart
= 動作確認
予め動作確認を行い, 設定ファイルの修正を行う.
== 確認作業
((<ITPASS サーバユーザ登録システム|URL:https://tako-itpass.scitec.kobe-
u.ac.jp/~gate/>))のページから登録情報の更新をする.
htpasswd -d ~hogehoge/.gate hogehoge
New password:
その後 /var/log/syslog を見て gate が作動したことを確認した.
Nov 17 15:04:17 tako-itpass gate-daily[20445]: connect from 127.0.0.1 (127.0.0.1)
また, 同時刻に sudoers ファイルが書き換えられているか確認した.
$ ls -la /etc/sudoers
-r--r----- 1 root root 710 11月 17 15:04 /etc/sudoers
sudoers ファイルに以下の行があることを確認した.
$ sudo less /etc/sudoers
(省略)
%itpadmin ALL=(ALL) ALL
(省略)
念のため, itpadmin グループのユーザが実際に root になれることを確認した.
$ su mmiyuki
$ sudo -s
# exit