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