2009年12月31日木曜日

sudo suについて

sudoの使い方について、「ちょっと著者のレベルを疑った」という記述を見つけた。当該記事を書いたわけじゃないですが、この書き方を編集部に広めてしまったのは(多分)私なので、レベルを疑われるのは私でしょう。


私が「sudo -i」ではなくて「sudo su -」という方法を紹介していたのは、読者が余計なことを覚えなくて済むと思ったからです。「Ubuntuではsudoを使う」というルールと、「su -」という既存の書式さえ知っていれば、その組み合わせで目的の事柄が達成できるわけですから。それに加えて、記事ではFedoraでの作業方法も併記することが多いので、それとの(記述の)整合性というか類似性を保ちたかったというのもあります。


しかし、冗長なのは確かではありますし、そもそもsuの使い方を知らない読者にとっては上記のメリットも存在しません。また、Fedoraとの件についても自己満足以上のものではないわけですから、今後はご指摘通り、「sudo -i」(もしくは「sudo -s」)に切り替えることにします。こうして再考するきっかけになったので、ご指摘ありがたいです。


この手の話はいろいろあって、ちょっと前は、GNU tarの「z」とか「j」オプションを使うと叱られたりしたもんです(後者は特に)。私は日常良く使うコマンドの便利なオプションは積極的に使っていこうという立場を取っていたので、その意味からもsudoの件は良くなかったですね。

4 件のコメント:

匿名 さんのコメント...

Ubuntu使わないのですが、"sudo -i"はローカル書式なんでしょうか。ディストリビューション依存の書式を覚える方が冗長な気がします。

sueyasu さんのコメント...

「sudo -i」はローカル書式ではありません。Linuxに限らず、SolarisとかBSD系とかでも利用可能です。というのも普及しているsudoの実装は単一なので、オプション類も基本的にそのままなのです。ですから「sudo -i」や「sudo -s」を覚えるのは無駄にならないと思います。

Unknown さんのコメント...

そもそも Ubuntu は「なるべく su を使わせない」という設計思想でつくられているので、それを易々と無視させる手順を他人に広めちゃうのはどうかと思います。sudo だとどうにも云々、という困った理由がある場合は、結局 /etc/sudoers いじればどうにかなっちゃうはずなので。

sueyasu さんのコメント...

そういった原則は分かるのですが、Fedora用とUbuntu用の図を共用しないといけなかったりして、なかなか難しいんですよね。一応、su環境を抜ける所まで記述するようにするなど、注意はしているのですが、これがもっともうまい方法だとも思っていません。いい方法があれば、ご提案くださると助かります。