この何ヶ月か限りなく忙しかったため、久しぶりに更新・・ あるスクリプトをrootユーザーが実行するが、実際は別アカウントとして実行させたい時のメモ #!/usr/bin/perl use strict; use POSIX; # この場合は実際にはhogehogeアカウントとしてスクリプトが実行される my $account = "hogehoge"; # アカウント名からuid, gid取得 my($uid, $gid) = (getpwnam $account)[2,3]; # 後で root 権限を取り戻せるように real UID を root に ($<, $>) = ($>, $<); $> = $<; # 先にsetgidしないとsetuidできないよ。ここでちょっとはまった。 POSIX::setgid($gid); POSIX::setuid($uid); # ここで作成