{AJS構築}21.1.3 上位ユニット属性継承機能と実行ユーザー固定機能の設定手順

  • 物理ホスト

--1. 設定

cp -p /etc/opt/jp1ajs2/conf/ajsprof_AJSROOT1_unit.conf.model /etc/opt/jp1ajs2/conf/ajsprof_AJSROOT1_unit.conf

chmod +w /etc/opt/jp1ajs2/conf/ajsprof_AJSROOT1_unit.conf
vim /etc/opt/jp1ajs2/conf/ajsprof_AJSROOT1_unit.conf

@SYS_PROFILE_START
unit_path=/
InheritUnitAttr=all
FixedExecUser=all
@SYS_PROFILE_END

--ユニット属性プロファイルの設定を反映する
/opt/jp1ajs2/bin/ajsprofalter -F AJSROOT1 -t unit -m set


--ユニット属性プロファイルの状態確認
/opt/jp1ajs2/bin/ajsprofstatus -F AJSROOT1 -t unit -s
/opt/jp1ajs2/bin/ajsprofstatus -F AJSROOT1 -t unit -p


--ユニット属性プロファイルの設定を一時的に無効化する
/opt/jp1ajs2/bin/ajsprofalter -F AJSROOT1 -t unit -m unset

※JP1/AJS3サービスを再起動すると有効化される。完全に無効化するためにはユニット属性プロファイルを削除する必要がある

--2. 動作確認環境整備

--OSユーザ追加
--エージェントでの作業
useradd user01
echo user01 | passwd --stdin user01

--JP1ユーザ追加
--マネージャでの作業
/opt/jp1base/bin/jbsadduser jp1user01
/opt/jp1base/bin/jbslistuser

--JP1ユーザ権限設定
--マネージャでの作業

vim /etc/opt/jp1base/conf/user_acl/JP1_UserLevel
jp1user01:*=JP1_AJS_Admin,JP1_JPQ_Admin,JP1_AJSCF_Admin,JP1_HPS_Admin,JP1_PFM_Admin,JP1_Console_Admin,JP1_CF_Admin,JP1_CM_Admin,JP1_Rule_Admin,JP1_ITSLM_Admin,JP1_Audit_Admin,JP1_DM_Admin,JP1_SSO_Admin,Cosminexus_vMNG_Admin,HCS_UserMng_Admin,HCS_HDvM_Admin,HCS_HRpM_Admin,HCS_HTSM_Admin,HCS_HSNM2_Modify,HCS_HFSM_Admin,HCS_HCSM_Admin,HCS_HGLM_Admin,HCS_HTnM_Admin,JP1_AO_Admin,JP1_IMNP_Admin,UCNP_Admin,HNP_Admin,JP1_Analytics_Admin,JP1_ITDM_Admin,ISCF_Admin

/opt/jp1base/bin/jbsaclreload
/opt/jp1base/bin/jbslistacl


--ユーザマッピング設定
--エージェントでの作業
vim /etc/opt/jp1base/conf/user_acl/jp1BsUmap.conf
jp1user01:*:user01

/opt/jp1base/bin/jbsmkumap
/opt/jp1base/bin/jbsgetumap

--3. 上位ユニット属性継承機能の動作確認

vim /root/unitbackup.txt

unit=jg1,,jp1admin,sigen1;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,sigen1;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job11,,jp1admin,sigen1;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
ex="mmm182";
}
}
}
unit=jg2,,jp1user01,sigen2;
{
ty=g;
cm="jg2";
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
}

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1

/opt/jp1ajs2/bin/ajsprofalter -F AJSROOT1 -t unit -m unset
/opt/jp1ajs2/bin/ajsdefine -F AJSROOT1 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprofalter -F AJSROOT1 -t unit -m set

/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

/opt/jp1ajs2/bin/ajscopy -F AJSROOT1 -c -o "/jg2" /jg1/jobnet1
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"


プロファイルが無効の場合

ジョブネット"/jg2/jobnet1"の所有者はコピー元のまま


プロファイルが有効の場合

ジョブネット"/jg2/jobnet1"の所有者はjp1user01、資源グループはsigen2となる

--4. 実行ユーザー固定機能の動作確認

touch /tmp/job1.log
chmod 777 /tmp/job1.log

--
vim /tmp/job1.sh
#!/bin/bash
id >> /tmp/job1.log
--

chmod 777 /tmp/job1.sh

vim /root/unitbackup.txt

unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/tmp/job1.sh";
tho=0;
ex="mmm182";
}
}
}

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsdefine -F AJSROOT1 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -R /jg1/jobnet1
cat /tmp/job1.log

export JP1_USERNAME=jp1user01
/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -R /jg1/jobnet1
cat /tmp/job1.log

プロファイルが無効の場合

jp1adminユーザでジョブ実行時、実行OSユーザはroot
jp1user01ユーザでジョブ実行時、実行OSユーザはuser01

 

プロファイルが有効の場合

jp1adminユーザでジョブ実行時、実行OSユーザはroot
jp1user01ユーザでジョブ実行時、ジョブネットの所有者であるjp1adminで実行され、実行OSユーザはroot


※上位ユニット属性継承機能が有効の場合ルートジョブグループに所有者を設定しておく必要がある

 

  • 論理ホスト

--1. 設定

cp -p /mnt/sdc2/jp1ajs/jp1ajs2/conf/ajsprof_AJSROOT1_unit.conf.model /mnt/sdc2/jp1ajs/jp1ajs2/conf/ajsprof_AJS3SCHEDULE001_unit.conf

chmod +w /mnt/sdc2/jp1ajs/jp1ajs2/conf/ajsprof_AJS3SCHEDULE001_unit.conf
vim /mnt/sdc2/jp1ajs/jp1ajs2/conf/ajsprof_AJS3SCHEDULE001_unit.conf

@SYS_PROFILE_START
unit_path=/
InheritUnitAttr=all
FixedExecUser=all
@SYS_PROFILE_END

--ユニット属性プロファイルの設定を反映する
/opt/jp1ajs2/bin/ajsprofalter -F AJS3SCHEDULE001 -t unit -m set


--ユニット属性プロファイルの状態確認
/opt/jp1ajs2/bin/ajsprofstatus -F AJS3SCHEDULE001 -t unit -s
/opt/jp1ajs2/bin/ajsprofstatus -F AJS3SCHEDULE001 -t unit -p

 

--ユニット属性プロファイルの設定を一時的に無効化する
/opt/jp1ajs2/bin/ajsprofalter -F AJS3SCHEDULE001 -t unit -m unset

※JP1/AJS3サービスを再起動すると有効化される。完全に無効化するためにはユニット属性プロファイルを削除する必要がある

--2. 動作確認環境整備

--OSユーザ追加
--エージェントでの作業
useradd user01
echo user01 | passwd --stdin user01

--JP1ユーザ追加
--マネージャでの作業
/opt/jp1base/bin/jbsadduser -h mmm190 jp1user01
/opt/jp1base/bin/jbslistuser -h mmm190

--JP1ユーザ権限設定
--マネージャでの作業

vim /mnt/sdc2/jp1ajs/jp1base/conf/user_acl/JP1_UserLevel
jp1user01:*=JP1_AJS_Admin,JP1_JPQ_Admin,JP1_AJSCF_Admin,JP1_HPS_Admin,JP1_PFM_Admin,JP1_Console_Admin,JP1_CF_Admin,JP1_CM_Admin,JP1_Rule_Admin,JP1_ITSLM_Admin,JP1_Audit_Admin,JP1_DM_Admin,JP1_SSO_Admin,Cosminexus_vMNG_Admin,HCS_UserMng_Admin,HCS_HDvM_Admin,HCS_HRpM_Admin,HCS_HTSM_Admin,HCS_HSNM2_Modify,HCS_HFSM_Admin,HCS_HCSM_Admin,HCS_HGLM_Admin,HCS_HTnM_Admin,JP1_AO_Admin,JP1_IMNP_Admin,UCNP_Admin,HNP_Admin,JP1_Analytics_Admin,JP1_ITDM_Admin,ISCF_Admin

/opt/jp1base/bin/jbsaclreload -h mmm190
/opt/jp1base/bin/jbslistacl -h mmm190


--ユーザマッピング設定
--エージェントでの作業
vim /mnt/sdc2/jp1ajs/jp1base/conf/user_acl/jp1BsUmap.conf
jp1user01:*:user01

/opt/jp1base/bin/jbsmkumap -h mmm194
/opt/jp1base/bin/jbsgetumap -h mmm194

--3. 上位ユニット属性継承機能の動作確認

vim /root/unitbackup.txt

unit=jg1,,jp1admin,sigen1;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,sigen1;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job11,,jp1admin,sigen1;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
un="root";
tho=0;
ex="mmm194";
}
}
}
unit=jg2,,jp1user01,sigen2;
{
ty=g;
cm="jg2";
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
}

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1

/opt/jp1ajs2/bin/ajsprofalter -F AJS3SCHEDULE001 -t unit -m unset
/opt/jp1ajs2/bin/ajsdefine -F AJS3SCHEDULE001 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprofalter -F AJS3SCHEDULE001 -t unit -m set

/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

/opt/jp1ajs2/bin/ajscopy -F AJS3SCHEDULE001 -c -o "/jg2" /jg1/jobnet1
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"


プロファイルが無効の場合

ジョブネット"/jg2/jobnet1"の所有者はコピー元のまま


プロファイルが有効の場合

ジョブネット"/jg2/jobnet1"の所有者はjp1user01、資源グループはsigen2となる

 

 


--4. 実行ユーザー固定機能の動作確認

mkdir -p /mnt/sdc2/tmp
chmod 777 /mnt/sdc2/tmp
touch /mnt/sdc2/tmp/job1.log
chmod 777 /mnt/sdc2/tmp/job1.log

--
vim /mnt/sdc2/tmp/job1.sh
#!/bin/bash
id >> /mnt/sdc2/tmp/job1.log
--

chmod 777 /mnt/sdc2/tmp/job1.sh

vim /root/unitbackup.txt

unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/tmp/job1.sh";
tho=0;
ex="mmm194";
}
}
}

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsdefine -F AJS3SCHEDULE001 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -R /jg1/jobnet1
cat /mnt/sdc2/tmp/job1.log

export JP1_USERNAME=jp1user01
/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -R /jg1/jobnet1
cat /mnt/sdc2/tmp/job1.log


プロファイルが無効の場合

jp1adminユーザでジョブ実行時、実行OSユーザはroot
jp1user01ユーザでジョブ実行時、実行OSユーザはuser01

 

プロファイルが有効の場合

jp1adminユーザでジョブ実行時、実行OSユーザはroot
jp1user01ユーザでジョブ実行時、ジョブネットの所有者であるjp1adminで実行され、実行OSユーザはroot

※上位ユニット属性継承機能が有効の場合ルートジョブグループに所有者を設定しておく必要がある