1

ClearCaseを実行している2台のマシン(検討中)があります-ClearCaseの異なるバージョンです。それ以外の点では、セットアップはほぼ同じです。同じLinux x86/64カーネルなどです。

1台のマシンでは、ビュー内のSUIDルートプログラムはSUIDルートプログラムとして機能します。

他のマシンでは、ビュー内のSUIDルートプログラムがSUID特権で機能しないため、予期しない結果が発生します。

これまでに見つけた唯一の違いは次のとおりです。

  • 作業ビュー:CC 7.0.1
  • 動作しないビュー:CC 7.1.1.1

重要な場合は完全な出力を提供できますが、cleartool -versionそうではないと思います。これらはリストされている最初のバージョンです。

質問

  1. これはClearCaseのバージョン間の既知の違いですか、それとも構成アイテムか何か他のものですか?
  2. SUIDルートプログラムが「適切に」実行できるように、新しいバージョンのClearCase(MVFS)を構成することは可能ですか?
  3. 構成可能である場合、構成を変更して、新しいバージョンでSUIDプログラムを許可するにはどうすればよいですか?

多くの異なるプラットフォームでClearCaseを実行している無数のマシンがあります。一部のマシンでは、SUIDソフトウェアを「ビュー外」で実行して動作させる必要があるという噂があります。今、誰かがバグを報告していました-そして、違いを絞り込むのに一日のほとんどを要しました。質問で扱われた問題はもっともらしい説明のようです。それが何か他のものであるなら、そうです。今日また失った髪がまだ必要です!


追加情報

すべてのビューは動的であり、スナップショットではありません。

これは、cleartool lsview -l -full -pro -cviewClearCase 7.0.1を実行している、SUIDプログラムが機能するマシンでの出力です。

Tag: idsdb00222108.jleffler.toru
  Global path: /net/toru/work4/atria/idsdb00222108.jleffler.toru.vws
  Server host: toru
  Region: lenexa
  Active: YES
  View tag uuid:6dac5149.2d7511e0.8c62.00:14:5e:69:25:d0
View on host: toru
View server access path: /work4/atria/idsdb00222108.jleffler.toru.vws
View uuid: 6dac5149.2d7511e0.8c62.00:14:5e:69:25:d0
View owner: lenexa.pd/jleffler

Created 2011-01-31T11:58:11-08:00 by jleffler.rd@toru
Last modified 2011-02-26T22:32:49-08:00 by jleffler.rd@toru.lenexa.ibm.com
Last accessed 2011-02-26T22:44:55-08:00 by jleffler.rd@toru.lenexa.ibm.com
Last read of private data 2011-02-26T22:44:55-08:00 by jleffler.rd@toru.lenexa.ibm.com
Last config spec update 2011-02-26T01:10:36-08:00 by jleffler.rd@toru.lenexa.ibm.com
Last view private object update 2011-02-26T22:32:49-08:00 by jleffler.rd@toru.lenexa.ibm.com
Text mode: unix
Properties: dynamic readwrite shareable_dos
Owner: lenexa.pd/jleffler : rwx (all)
Group: lenexa.pd/rd     : rwx (all)
Other:                  : rwx (all)
Additional groups: lenexa.pd/RAND lenexa.pd/ccusers lenexa.pd/ccids lenexa.pd/ccos

これは、ClearCase 7.1.1.1を実行している、SUIDプログラムが「機能しない」マシンでの出力です。

Tag: new.jleffler.zeetes
  Global path: /tmp/jl/new.jleffler.zeetes.vws
  Server host: zeetes
  Region: lenexa
  Active: YES
  View tag uuid:f62b7c80.414111e0.9cec.00:14:5e:de:1b:44
View on host: zeetes
View server access path: /tmp/jl/new.jleffler.zeetes.vws
View uuid: f62b7c80.414111e0.9cec.00:14:5e:de:1b:44
View owner: lenexa.pd/informix

Created 2011-02-25T18:40:11-06:00 by informix.informix@zeetes
Last modified 2011-02-25T18:49:56-06:00 by informix.informix@zeetes
Last accessed 2011-02-25T18:50:31-06:00 by informix.informix@zeetes
Last read of private data 2011-02-25T18:50:31-06:00 by informix.informix@zeetes
Last config spec update 2011-02-25T18:49:37-06:00 by informix.informix@zeetes
Last view private object update 2011-02-25T18:49:56-06:00 by informix.informix@zeetes
Text mode: unix
Properties: dynamic readwrite shareable_dos
Owner: lenexa.pd/informix : rwx (all)
Group: lenexa.pd/informix : r-x (read)
Other:                  : r-x (read)
Additional groups: lenexa.pd/RAND lenexa.pd/ccids lenexa.pd/ccos

SUIDプログラムが機能していないことの検出

問題は、SUIDプログラムの実行に関するオペレーティングシステムからのエラーメッセージがあることではありません。問題は、プログラムがsetuid rootであるように見えても、実行すると、プログラムが実際にはsetuidではないことです。

Zeetes IX: ls -l asroot
-r-sr-xr-x 1 root informix 24486 Feb 25 18:49 asroot
Zeetes IX: ./asroot id
asroot: not installed SUID root
Zeetes IX: 

これは、asrootSUIDroot権限でインストールされていない場合の出力です。他のマシンの場合:

Toru JL: ls -l asroot
-r-sr-xr-x 1 root informix 26297 2011-02-27 00:11 asroot
Toru JL: ./asroot id
uid=0(root) gid=1240(rd) groups=1240(rd),1360(RAND),8714(ccusers),8803(ccids),8841(ccos)
Toru JL:

これは多かれ少なかれ、プログラムがSUIDroot権限でインストールされている場合に期待する出力です。


マウント情報

2つの主要なVOBは、tristarpとtristarmです。SUIDがOKのマシン(スクロールバーを避けるために手動でラッピングが行われる):

aether:/vobs/tristarm.vbs on /vobs/tristarm.vbs type nfs \
     (rw,hard,intr,bg,addr=9.25.149.151)
charon:/vobs/tristarp.vbs on /vobs/tristarp.vbs type nfs \
     (rw,hard,intr,bg,addr=9.25.149.147)
charon:/vobs/tristarp.vbs on /vobs/tristarp type mvfs \
     (uuid=684ef023.2dd111d0.b696.08:00:09:b1:a4:c5)
aether:/vobs/tristarm.vbs on /vobs/tristarm type mvfs \
     (uuid=b74900ef.814511cf.afee.08:00:09:b1:54:d5)

SUIDがOKでないマシンの場合:

aether:/vobs/tristarm.vbs on /vobs/tristarm type mvfs \
     (uuid=b74900ef.814511cf.afee.08:00:09:b1:54:d5,nosuid)
aether:/vobs/tristarm.vbs on /vobs/tristarm.vbs type nfs \
     (rw,hard,intr,bg,addr=9.25.149.151)
charon:/vobs/tristarp.vbs on /vobs/tristarp.vbs type nfs \
     (rw,hard,intr,bg,addr=9.25.149.147)
charon:/vobs/tristarp.vbs on /vobs/tristarp type mvfs \
     (uuid=684ef023.2dd111d0.b696.08:00:09:b1:a4:c5)

そして、悪党がいます!(そして、私は情報を見たと思いましたmount。明らかに。私は十分に正確に見ていなかったか、1台のマシン(動作中のマシン)か何かでしか見ていませんでした。)これら2つのVOBの1つだけがnosuid;でマウントされているのは奇妙です。非常に奇妙な。

理由があります!

ありがとう、VonC。


探検

スクリプトには、 SUIDが許可されるかどうかを制御するためにファイルを使用するためのスクリプト/etc/init.d/clearcase/etc/clearcaseプログラムが用意されています。root:root:000の権限を持つ空のファイルとして、両方のマシンに存在します。しかし、ここに潜んでいる重要な他のいくつかの違いがあるかもしれません-私はこれについて居住者のClearCaseGuruに尋ねました。ただし、バージョン固有の機能変更よりも、2台のマシンの構成に違いがある可能性が高いようです。どちらのバージョンもそのオプションを表面的にサポートしていますが、7.1.1.1バージョンが7.0.1バージョンではない場合にそれを呼び出すことができていることを除いて、どちらもそのオプションを自明に呼び出していません。/opt/rational/clearcase/var/adm/rational/clearcase/suid_mounts_allowednosuid

4

1 に答える 1

1

知っておくと面白いでしょう:

  • 両方の種類のビューがスナップショットまたは動的ビューの場合。MVFSに関連する問題があり、動的だと思います。
  • どちらの場合も' cleartool lsview -l -full -pro -cview'が返すもの(各ビュー内で実行された場合、SUIDが機能する場合と機能しない場合)
  • SUIDビットを試したときに各ビュー内のローカルパスが同じである場合(ローカルパスは、のようにビュー内のパスです</path/toView>/vobs/MyVob/.../path/to/a/directory

そして主に、このスレッドのように、正確なエラーメッセージがありますか?

LinuxとSunOSではVOBが異なるオプションでマウントされていることがわかります。特に、Linuxでは「nosuid」マウントオプションが追加され、SunOSでは「setuid」が追加されています。

これにより、Linuxマシンでの分散ビルド中に問題が発生します。これは、VOBの1つからsuidルートバイナリを実行しようとすると、リモートマシンで「操作が許可されていません」エラーが発生するためです。

cleartool mountオプションを参照してください:

UNIXおよびLinux :nodev、、nosuidsuid

cleartoolprotectコマンドを使用したスティッキービットの設定」も参照してください。

次の構文を使用して、cleartoolprotectコマンドを使用して「スティッキービット」を適切に設定します。

cleartool protect -chmod u=rxs <file>
于 2011-02-26T09:15:52.360 に答える