ハラダです。 以下のファイルを VineSeed に put しました。 self-build-setup-0.9.1-1vl5.src.rpm self-build-setup-0.9.1-1vl5.noarch.rpm 第2回 定例IRCミーティングで話が出た、ビルド用のユーザーを 別に作る、という件の対応を入れてます。 具体的には (1).self-build-setup.spec の %pre で %{_sbindir}/useradd -c 'Self build rpm' -u %{user_uid} \ -d '/usr/lib/rpm' selfbuild 2> /dev/null || : として 'selfbuild' というユーザーを作成。 (%{user_uid}=110 としてマクロで冒頭で定義) (2).self-build-rpm.sh の中では su コマンドでユーザー指定で rpmbuild コマンドを実行。 --- self-build-rpm.sh.orig 2009-05-27 23:48:07.000000000 +0900 +++ self-build-rpm.sh 2009-05-27 23:47:04.000000000 +0900 @@ -60,7 +60,9 @@ echo $"Building rpm packages..." echo -n " " echo $"(see /var/tmp/$_NAME.log for detail.)" -if rpmbuild -bb --define="_topdir $_TOPDIR/rpm" /usr/share/$_NAME/$_SPEC > /var/tmp/$_NAME.log 2>&1; then +# now rpmbuild done by non-root user 'selfbuild' +chown -R selfbuild:selfbuild $_TOPDIR +if su selfbuild -c "rpmbuild -bb --define=\"_topdir $_TOPDIR/rpm\" /usr/share/$_NAME/$_SPEC > /var/tmp/$_NAME.log 2>&1"; then echo -n " " echo $"rpm packages are successfully built." if ls $_TOPDIR/rpm/RPMS/$_ARCH | grep -e "\.rpm$" > /dev/null ; then という風にしてみました。 ただし、別ユーザー権限でコマンドを実行する方法についてはあまり 詳しくなく、色々調べてみた結果このようなやり方にしてみましたが、 もっと良い(ないしは安全な)方法があれば教えて下さい。 # 正直ちょっと不安だったりします。 -- -------------------------------------- Kazutaka HARADA e-mail:kazutaka@xxxxxxxxxxxxxxxx --------------------------------------