AIXのバックグラウンドでスクリプトを実行すると、bgの実行中に/ tmpディレクトリにコピーが作成されます。この動作をどのように変更できますか?

AIXのバックグラウンドでスクリプトを実行すると、bgの実行中に/ tmpディレクトリにコピーが作成されます。この動作をどのように変更できますか?

スクリプトがバックグラウンドで実行され、親プロセスIDを使用して/ tmpディレクトリにコピーを作成すると、プロセスが完了するとすぐにコピーが削除されますが、この実行中にすべてのユーザーがサーバーにアクセスでき、次の操作を実行できます。資格情報を表示します。

私の質問は、/ tmpディレクトリにコピーを作成するためにこの動作をどのように変更できますか?変更できない場合は、/ tmpディレクトリのコピーに640権限しかないかどうかを確認できますか?

以下は、PID 32702884を使用してバックグラウンドで実行され、/ tmpディレクトリにsh32702884.1を使用してコピーを生成するスクリプトです。アドバイスしてください。

  oracle@orcl:/users/cmsc/oracle>nohup ./rman_del_obsolete_090616.ksh>rman_del_obsolete_090616.ksh.log &
  [1]     32702884
  oracle@orcl:/users/cmsc/oracle>ps -ef|grep ksh
  oracle 32702884 21627666   0 16:23:16  pts/0  0:00 sh -- ./rman_del_obsolete_090616.ksh 

oracle@orcl:/users/cmsc/oracle>cd /tmp
oracle@orcl:/tmp>ls -ltr sh*
-rwxrwxrwx    1 root     system         3340 Jan 03 2012  sharch_root.sh 
-rwxrwxrwx    1 ctmagent controlm       3340 Jan 03 2012  sharch_ctmagent.sh
-rw-r--r--    1 oracle   cdba         343185 Sep 06 16:23 sh32702884.1



  oracle@orcl:/tmp>head sh32702884.1
  connect target /
  connect catalog xxdfd/sscsxxxx@db1
  run{

  delete force  noprompt  backuppiece 'RMAN-ORV1-ARCH-20160718-474184-1';
  delete force  noprompt  backuppiece 'RMAN-ORV1-ARCH-20160718-474180-1';
  delete force  noprompt  backuppiece 'RMAN-ORV1-ARCH-20160718-474179-1';
  delete force  noprompt  backuppiece 'RMAN-ORV1-ARCH-20160718-474183-1';
  delete force  noprompt  backuppiece 'RMAN-ORV1-ARCH-20160717-474066-1';
  delete force  noprompt  backuppiece 'RMAN-ORV1-ARCH-20160717-474063-1';
  oracle@orcl:/tmp>

ベストアンサー1

あなたできるumaskたとえば、スクリプトで設定します。

umask 037

ただし、それでも役に立たない場合は、/tmpスクリプトの終了時に一時サブディレクトリを削除して権限を設定できます。それ読むのを防ぐために。ほとんどのアプリケーションではこれを知ることができますTMPDIR(これを実行するようにスクリプトを変更できます)。 AIXにはこの機能はありませんがmktemp(アドオンパッケージを除く)、シェルスクリプトを使用してこれを実行できます。たとえば、次のようになります。

umask 037
mytemp=/tmp/mytemp
mkdir $mytemp || exit 1
trap "cd /tmp;rm -rf $mytemp" EXIT HUP INT QUIT
TMPDIR="$mytemp"
export TMPDIR

$TMPDIRスクリプトがそれを意味する場合にのみ一貫して使用されます/tmp

名前の選択は単なる例です。良いスクリプトは、mktempシンボリックリンク攻撃から保護するためにこのようなものを使用します。

直接編集できない場合それスクリプトでは、スクリプトを生成したプログラムを目立たない場所にラップして同様の操作を実行できる必要があります$TMPDIR

おすすめ記事