2011年1月26日

[ubuntu-jp:3340] Re:root(スーパー)ユーザーについて

荻野です。

Dezawa said the following on 11/01/25 21:45:
> ところで、これですと
>> $ sudo bash
>
> su - と実質同じですね。

いえ、sudo bash は su - (sudo su -, sudo -i)とは違います。しつこくて済み
ません。

ogino@xxxxx:~$ sudo bash
[sudo] password for ogino:
root@xxxxx:~# echo $HOME ← 環境変数が sudo を実行した一般ユーザのそれ
/home/ogino

ogino@xxxxx:~$ su -
Password:
root@xxxxx:~# echo $HOME ← 環境変数が root でログインした状態に
/root

ogino@xxxxx:~$ sudo -i
root@xxxxx:~# echo $HOME ← 環境変数が root でログインした状態に
/root

昔、Solaris の FTP が /bin/ls を実行していたころ、LANG=C の状態で inetd
を起動しなければいけないとこと su してから起動してしまう失敗が繰り返され
たおかげで、su や sudo bash は su - の代わりにならないというトラウマ?が
形成されました。

一般ユーザから su してから inetd を起動すると、FTP クライアントの dir
(LIST) に対して EUC が吐かれて当時の GUI FTP クライアントではにっちも
さっちもいかないとか、MS-DOS (ShiftJIS) 環境の FTP クライアントも画面が
おかしくなったりしていました。


なお確認しておりませんが、root にパスワードを設定し、最初から root でロ
グインした場合と、su - などでは環境変数などは一緒でも ulimit -n などの値
が異なる可能性があります。またログインを経ていない /etc/init.d 以下のス
クリプトが OS 起動時に起動されるときも、PAM 関連での設定がないなど su -
とは異なる箇所があると思います。普通は su -, sudo -i で十分ですが、時々
落とし穴になるようです。

--
荻野 充 (おぎの みつる) ... 「萩(はぎ)」にあらず
Key fingerprint = 7F26 5414 1805 F31B 1617 10B7 C117 07AE 1691 9BD1


投稿者 xml-rpc : 2011年1月26日 23:23
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/101634
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。