# 설치

## FEK.SFEKSAMP(FEKSET01) 사용자 정의 및 제출

`FEKSET01` 작업이 사용자 정의를 위해 `FEK.#CUST.PROCLIB(LOCKD)`에 샘플 잠금 디먼 시작 타스크 JCL을 작성합니다. 원래 버전을 `FEK.SFEKSAMP(FEKLOCKD)`로 사용할 수 있습니다.

    //*
    //* RSE LOCK DAEMON
    //*
    //LOCKD    PROC HOME='/usr/lpp/rdz',
    //            CNFG='/etc/rdz',
    //            LOG=1
    //*
    //LOCKD    EXEC PGM=BPXBATSL,REGION=0M,TIME=NOLIMIT,
    //            PARM='PGM &HOME/bin/lockd.sh &CNFG &LOG'
    //STDOUT   DD SYSOUT=*
    //STDERR   DD SYSOUT=*
    //         PEND
    //*

또한 `FEKSET01` 작업은 활성 `/etc/rsed.envvars`를 갱신하고 파일의 끝에 다음 잠금 디먼 관련 명령문을 추가합니다.

    _RSE_LOCKD_PORT=4036
    _RSE_JAVAOPTS="$_RSE_JAVAOPTS -Dlock.daemon.port=$_RSE_LOCKD_PORT"
    _RSE_JAVAOPTS="$_RSE_JAVAOPTS -Dlock.daemon.cleanup.interval=1440"
    _RSE_LOCKD_CLASS=com.ibm.ftt.rse.mvs.server.miners.MVSLockDaemon

`_RSE_LOCKD_PORT`는 잠금 디먼에서 사용된 포트를 지정합니다. 기본 포트는 `4036`입니다. 이 포트에서의 통신은 호스트로 제한됩니다. 나머지 변수는 수정할 수 없습니다.

## PROCLIB 갱신

`FEK.#CUST.PROCLIB(LOCKD)`를 사용자 정의하고 구성원을 `SYS1.PROCLIB` 또는 다른 올바른 PROCLIB 데이터 세트에 복사합니다.

## PARMLIB 갱신

사용자의 잠금 요청을 추적할 수 있도록 사용자가 RSE 디먼에 로그온하기 전에 잠금 디먼을 시작해야 합니다. 따라서 시스템을 시작할 때 잠금 디먼을 시작하는 것이 좋습니다(예: `SYS1.PARMLIB(COMMNDxx)`에 시작 명령 추가).

## 보안 설정

잠금 디먼에는 특수 보안 허용이 필요하지 않습니다. 제한된 환경의 경우 서버에 다음이 필요합니다.

- Java 라이브러리에 대한 읽기/실행 권한
- `/usr/lpp/rdz/*`에 대한 읽기/실행 권한
- `/etc/rdz/*`에 대한 읽기 권한
- `rsed.envvars` STEPLIB 연결의 데이터 세트에 대한 읽기 권한
- `SYS1.LINKLIB`를 보호하는 `PROGRAM` 클래스에 대한 읽기 권한(>Rational Developer for System z Host Configuration Guide(SC23-7658)에 있는 샘플에서 프로파일 `**` 사용)

시작 타스크로 사용하는 경우 서버를 보안 소프트웨어에 정의해야 합니다.

    LISTUSER STCLOCK OMVS
    ADDUSER STCLOCK NOPASSWORD DFLTGRP(STCGROUP) +
      OMVS(UID(9) HOME(/tmp) PROGRAM(/bin/sh)) +
      NAME('RDZ LOCK DAEMON') +
      DATA('RATIONAL DEVELOPER FOR SYSTEM Z')

    RLIST STARTED LOCKD.* ALL STDATA
    RDEFINE STARTED LOCKD.* +
      STDATA(USER(STCLOCK) GROUP(STCGROUP) TRUSTED(NO)) +
      DATA('RDZ LOCK DAEMON')
    SETROPTS RACLIST(STARTED) REFRESH

상위 주제: RSE 잠금 디먼