sudoさん

#sudo

会社のGitHub EnterpriseのIssueに書いたやつを、一部ちょっと表現を足して掲載。

深い理由があってCentOS 4をpackerでpackingしてるんですが、そのままbox作ってvagrant upしようとすると、sudoのバージョンが古く、sudo -Eオプションが無くてログイン出来なくなります。

CentOS 6.5のman sudoより

-E (preserve environment) オプションは sudoers(5) ファイルの env_reset オプションを無効にする。これが使用できるのは、マッチするコマンドに SETENV タグが付いているときか、 sudoers(5) で setenv オプションがセットされているときだけである。

@lamanotramaさんから教えていただいたのですが、これはVagrant 1.4系から起こる問題のようです。

どうしたものかと思ったら、なんとsudoの公式に大量のバイナリとソースが。

CentOS 4のi386, x86_64アーキテクチャのRPMまである親切さ。

sudoさんありがとうございますという話でした。

余談

以下のメーリングリストによると、sudoに-Eオプションがついたのは1.6.9 rc1からのようですね。

[sudo-users] sudo 1.6.9 rc1 is now available

o Added a -E flag to preserve the environment if the SETENV tag or the setenv option has been set.

ちなみにCentOS 4系では…

# cat /etc/redhat-release
CentOS release 4.9 (Final)
# sudo -V | grep version
Sudo version 1.6.7p5

とほほ。