検索

18.4. 設定の例

download PDF

18.4.1. CDK の設定

この例では、簡単な CVS 設定と、リモートアクセスを可能にする SELinux 設定を説明します。ここでは、ホスト名が 192.168.1.1cvs-srv の CVS サーバーと、ホスト名が cvs-client で IP アドレスが 192.168.1.100 のクライアント の 2 つのホストが使用されます。両方のホストが同じサブネット (192.168.1.0/24) にあります。これは一例で、cvs パッケージと xinetd パッケージがインストールされ、SELinux targeted ポリシーが使用され、SELinux が実施モードで実行されていることを前提としています。
この例では、完全な DAC パーミッションを使用しても、SELinux はファイルラベルに基づくポリシールールを強制でき、CVS によるアクセスのラベルが付けられた特定の領域へのアクセスのみを許可することを示しています。
注記
手順 1-9 は、CVS サーバー cvs-srv 上で実行されているはずです。
  1. この例では、cvs パッケージと xinetd パッケージが必要です。パッケージがインストールされていることを確認します。
    [cvs-srv]$ rpm -q cvs xinetd
    package cvs is not installed
    package xinetd is not installed
    
    インストールされていない場合は、root で yum ユーティリティーを使用してインストールします。
    [cvs-srv]# yum install cvs xinetd
  2. root で次のコマンドを実行して、CVS という名前のグループを作成します。
    [cvs-srv]# groupadd CVS
    これは、system-config-users ユーティリティーを使用しても実行できます。
  3. ユーザー名が cvsuser のユーザーを作成し、作成したユーザーを CVS グループのメンバーにします。これは、system-config-users を使用して実行できます。
  4. /etc/services を編集し、CVS サーバーに、以下のようなコメント解除されたエントリーがあることを確認します。
    cvspserver	2401/tcp			# CVS client/server operations
    cvspserver	2401/udp			# CVS client/server operations
    
  5. ファイルシステムの root 領域に CVS リポジトリーを作成します。SELinux を使用する場合は、root ファイルシステムにリポジトリーを置いて、他のサブディレクトリーに影響を及ぼさずに再帰的なラベルを付けられるようにすることが最善の方法です。たとえば、root で、リポジトリーを格納する/cvs/ ディレクトリーを作成します。
    [root@cvs-srv]# mkdir /cvs
  6. すべてのユーザーに、/cvs/ ディレクトリーの完全なパーミッションを付与します。
    [root@cvs-srv]# chmod -R 777 /cvs
    警告
    これは単なる例で、このような権限は実稼働システムでは使用できません。
  7. /etc/xinetd.d/cvs ファイルを編集し、CVS セクションがコメント解除されており、/cvs/ ディレクトリーを使用するように設定されていることを確認します。ファイルは以下のようになります。
    service cvspserver
    {
    	disable	= no
    	port			= 2401
    	socket_type		= stream
    	protocol		= tcp
    	wait			= no
    	user			= root
    	passenv			= PATH
    	server			= /usr/bin/cvs
    	env			= HOME=/cvs
    	server_args		= -f --allow-root=/cvs pserver
    #	bind			= 127.0.0.1
    
  8. xinetd デーモンを起動します。
    [cvs-srv]# systemctl start xinetd.service
  9. system-config-firewall ユーティリティーを使用して、ポート 2401 で TCP 経由での着信接続を許可する規則を追加します。
  10. クライアントで、cvsuser ユーザーとして以下のコマンドを実行します。
    [cvsuser@cvs-client]$ cvs -d /cvs init
  11. この時点で、CVS は設定されていますが、SELinux はログインとファイルアクセスを拒否します。これを実証するには、cvs-client$CVSROOT 変数を設定し、リモートでログインを試みます。cvs-client では、以下の手順を行う必要があります。
    [cvsuser@cvs-client]$ export CVSROOT=:pserver:cvsuser@192.168.1.1:/cvs
    [cvsuser@cvs-client]$
    [cvsuser@cvs-client]$ cvs login
    Logging in to :pserver:cvsuser@192.168.1.1:2401/cvs
    CVS password: ********
    cvs [login aborted]: unrecognized auth response from 192.168.100.1: cvs pserver: cannot open /cvs/CVSROOT/config: Permission denied
    
    SELinux がアクセスをブロックしました。SELinux にこのアクセスを許可させるために、次のステップは cvs-srv で実行されることになっています。
  12. /cvs/ディレクトリーのコンテキストを root 権限で変更し、/cvs/ディレクトリーの既存データーおよび新規データーに再帰的にラベル付けするcvs_data_tタイプを指定します。
    [root@cvs-srv]# semanage fcontext -a -t cvs_data_t '/cvs(/.*)?'
    [root@cvs-srv]# restorecon -R -v /cvs
  13. クライアント cvs-client は、このリポジトリーにログインし、すべての CVS リソースにアクセスできるようになります。
    [cvsuser@cvs-client]$ export CVSROOT=:pserver:cvsuser@192.168.1.1:/cvs
    [cvsuser@cvs-client]$
    [cvsuser@cvs-client]$ cvs login
    Logging in to :pserver:cvsuser@192.168.1.1:2401/cvs
    CVS password: ********
    [cvsuser@cvs-client]$
    
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.