セキュア・ユーザー・アカウントでの匿名 FTP のセットアップ

セキュア・ユーザー・アカウントで匿名 FTP をセットアップすることができます。

このシナリオでは、コマンド・ライン・インターフェースおよびスクリプトを使用して、セキュア・ユーザー・アカウントで匿名 FTP をセットアップします。

  1. 次のコマンドを入力して、 bos.net.tcp.client ファイルセットがシステムにインストールされていることを確認します。
    lslpp -L | grep bos.net.tcp.client
    コマンド出力が何もなかった場合、ファイルセットはインストールされていません。 インストール方法については、「 インストールおよびマイグレーション」を参照してください。
  2. root 権限で、 /usr/samples/tcpip ディレクトリーに移動します。 次に例を示します。
    cd /usr/samples/tcpip
  3. アカウントをセットアップするには、次のスクリプトを実行します。
    ./anon.ftp
  4. Are you sure you want to modify /home/ftp?のプロンプトが出されたら、 yesと入力します。 次のような出力が表示されます。
    Added user anonymous.                          
    Made /home/ftp/bin directory.                  
    Made /home/ftp/etc directory.                  
    Made /home/ftp/pub directory.                  
    Made /home/ftp/lib directory.                  
    Made /home/ftp/dev/null entry.                 
    Made /home/ftp/usr/lpp/msg/en_US directory.    
  5. /home/ftp ディレクトリーに移動します。 次に例を示します。
    cd /home/ftp
  6. 次のように入力して、 home サブディレクトリーを作成します。
    mkdir home
  7. 次のように入力して、 /home/ftp/home ディレクトリーの許可を drwxr-xr-xに変更します。
    chmod 755 home
  8. 次のように入力して、 /home/ftp/etc ディレクトリーに移動します。
    cd /home/ftp/etc
  9. 次のように入力して、 objrepos サブディレクトリーを作成します。
    mkdir objrepos
  10. 次のように入力して、 /home/ftp/etc/objrepos ディレクトリーの許可を drwxrwxr-xに変更します。
    chmod 775 objrepos
  11. 次のように入力して、 /home/ftp/etc/objrepos ディレクトリーの所有者とグループを root ユーザーとシステム・グループに変更します。
    chown root:system objrepos
  12. 次のように入力して、 security サブディレクトリーを作成します。
    mkdir security
  13. 次のように入力して、 /home/ftp/etc/security ディレクトリーの許可を drwxr-x---に変更します。
    chmod 750 security
  14. 次のように入力して、 /home/ftp/etc/security ディレクトリーの所有者とグループを root ユーザーとセキュリティー・グループに変更します。
    chown root:security security
  15. 次のように入力して、 /home/ftp/etc/security ディレクトリーに移動します。
    cd security
  16. 次の SMIT 高速パスを入力して、ユーザーを追加します。
    smit mkuser
    このシナリオでは、test という名前のユーザーを追加しています。
  17. SMIT フィールドに以下の値を入力します。
    User NAME                                          [test]       
    ADMINISTRATIVE USER?                                true       
    Primary GROUP                                      [staff]           
    Group SET                                          [staff]           
    Another user can SU TO USER?                        true        
    HOME directory                                     [/home/test]           
    変更を入力したら、Enter を押してユーザーを作成します。 SMIT プロセスが完了したら、SMIT を終了します。
  18. 次のコマンドで、このユーザーのパスワードを作成します。
    passwd test
    プロンプトが出されたら、希望するパスワードを入力します。 確認のために、新規パスワードをもう一度入力しなければなりません。
  19. 次のように入力して、 /home/ftp/etc ディレクトリーに移動します。
    cd /home/ftp/etc
  20. 次のコマンドを使用して、 /etc/passwd ファイルを /home/ftp/etc/passwd ファイルにコピーします。
    cp /etc/passwd /home/ftp/etc/passwd
  21. 任意のエディターを使用して、 /home/ftp/etc/passwd ファイルを編集します。 次に例を示します。
    vi passwd
  22. コピーした内容から、root、ftp、およびテスト・ユーザー以外のすべての行を除去します。 編集後、内容は次のようになります。
    root:!:0:0::/:/bin/ksh    
    ftp:*:226:1::/home/ftp:/usr/bin/ksh 
    test:!:228:1::/home/test:/usr/bin/ksh 
  23. 変更を保存し、エディターを終了します。
  24. 次のように入力して、 /home/ftp/etc/passwd ファイルのアクセス権を -rw-r--r--に変更します。
    chmod 644 passwd
  25. 次のように入力して、 /home/ftp/etc/passwd ファイルの所有者とグループを root ユーザーとセキュリティー・グループに変更します。
    chown root:security passwd
  26. 次のコマンドを使用して、 /etc/security/passwd ファイルの内容を /home/ftp/etc/security/passwd ファイルにコピーします。
    cp /etc/security/passwd /home/ftp/etc/security/passwd
  27. 任意のエディターを使用して、 /home/ftp/etc/security/passwd ファイルを編集します。 次に例を示します。
    vi ./security/passwd
  28. コピーした内容から、テスト・ユーザーに関するスタンザ以外のすべてのスタンザを除去します。
  29. テスト・ユーザー・スタンザから flags = ADMCHG 行を削除します。 編集後、内容は次のようになります。
    test:                        
            password = 2HaAYgpDZX3Tw
            lastupdate = 990633278  
  30. 変更を保存し、エディターを終了します。
  31. 次のように入力して、 /home/ftp/etc/security/passwd ファイルのアクセス権を -rw-------に変更します。
    chmod 600 ./security/passwd
  32. 次のように入力して、 /home/ftp/etc/security/passwd ファイルの所有者とグループを root ユーザーとセキュリティー・グループに変更します。
    chown root:security ./security/passwd
  33. 任意のエディターを使用して、 /home/ftp/etc/group ファイルを作成および編集します。 次に例を示します。
    vi group
  34. 次の行をファイルに追加します。
    system:*:0: 
    staff:*:1:test 
  35. 変更を保存し、エディターを終了します。
  36. 次のように入力して、 /home/ftp/etc/group ファイルのアクセス権を -rw-r--r-–に変更します。
    chmod 644 group
  37. 次のように入力して、 /home/ftp/etc/group ファイルの所有者とグループを root ユーザーとセキュリティー・グループに変更します。
    chown root:security group
  38. 任意のエディターを使用して、 /home/ftp/etc/security/group ファイルを作成および編集します。 次に例を示します。
    vi ./security/group
  39. 次の行をファイルに追加します。
    system:
    	admin = true
    staff
    	admin = false
  40. 変更を保存し、エディターを終了します。
    これを行うには、以下のステップを実行します。
    1. 次のように入力して、/etc/security/user ファイルを /home/ftp/etc/security ディレクトリーにコピーします。
      cp /etc/security/user /home/ftp/etc/security
      cd /home/ftp/etc/
    2. エディターを使用し、次のように入力して、コピーした内容から、test ユーザーに関するスタンザ以外のすべてのスタンザを除去します。
      vi ./security/user
    3. 変更を保存し、エディターを終了します。
  41. 次のように入力して、 /home/ftp/etc/security/group ファイルの許可を -rw-r-----に変更します。
    chmod 640 ./security/group
  42. 次のように入力して、/home/ftp/etc/security/group ファイルの所有者とグループを、root ユーザーとセキュリティー・グループに変更します。
    chown root:security ./security/group
  43. 以下のコマンドを使用して、適切な内容を /home/ftp/etc/objrepos ディレクトリーにコピーします。
    cp /etc/objrepos/CuAt ./objrepos
    cp /etc/objrepos/CuAt.vc ./objrepos
    cp /etc/objrepos/CuDep ./objrepos
    cp /etc/objrepos/CuDv ./objrepos
    cp /etc/objrepos/CuDvDr ./objrepos
    cp /etc/objrepos/CuVPD ./objrepos
    cp /etc/objrepos/Pd* ./objrepos
  44. 次のように入力して、 /home/ftp/home ディレクトリーに移動します。
    cd ../home
  45. 次のように入力して、ユーザー用に新しいホーム・ディレクトリーを作成します。
    mkdir test
    これが新しい ftp ユーザーのホーム・ディレクトリーになります。
  46. 次のように入力して、 /home/ftp/home/test ディレクトリーの所有者とグループを test ユーザーとスタッフ・グループに変更します。
    chown test:staff test
  47. 次のように入力して、 /home/ftp/home/test ファイルのアクセス権を -rwx------に変更します。
    chmod 700 test
  48. 次のように入力して、テスト・ユーザーのリモート・ログインとコンソール・ログインを使用不可にします。
    chuser login=false rlogin=false test
この時点で、ftp サブログインがマシンに設定されました。 以下の手順で、これをテストできます。
  1. ftp を使用して、test ユーザーを作成したホストに接続します。 次に例を示します。
    ftp MyHost
  2. anonymous としてログインします。 パスワードを求めるプロンプトが出されたら、Enter を押します。
  3. 次のコマンドを使って、新規に作成された test ユーザーに切り替えます。
    user test
    パスワードを求めるプロンプトが出されたら、ステップ 18 で作成したパスワードを使用します。
  4. pwd コマンドを使用して、ユーザーのホーム・ディレクトリーが存在するかどうかを検査します。 次に例を示します。
    ftp> pwd
         /home/test
    この出力では、/home/testftp サブディレクトリーとして示されています。 ホスト上の絶対パス名は、実際には /home/ftp/home/test です。
注:
  • ftp サブユーザーに対してのみユーザーを切り替えることができます。 例えば、test は ftp サブユーザーです。
  • スクリプト anon.users.ftp を使用して ftp anonymous ユーザーを作成すると、スクリプトの username を置き換えて、任意の名前をユーザーに割り当てることができます。
  • anonymous ユーザーの場合、サーバーがユーザー・アカウントのホーム・ディレクトリーで chroot コマンドを実行するので、fileftpaccess.ctl などの構成に関連したすべてのファイルは、それぞれの匿名ユーザーの ~/etc/ などのホーム・ディレクトリー内になければなりません。 /etc/ftpaccess.ctl ファイルでの「書き込み専用」、「読み取り専用」、および「読み取り/書き込み」の制約事項として、chrooted パスに関連するパスがある必要があります。