Re: Help!フリーソラリスが変
いいじまです。
> > でも、Solaris の csh にはカーソルの上下で以前のコマンドを参照したりする
> > 機能はなかったはずですので、tcsh のインストールをお勧めします :-)
>
> 仕事で使ってるUnixがcsh動かしてるので、しばらくcshで頑張ります。。
tcsh はコマンドラインエディタの機能を除いては完全に csh の上位互換ですから、
tcsh にしちゃっていいと思いますよ。
> /bin/shではできるけど、cshではできない、ということもあるのでしょうか?
> なければルートのシェルもcshにしてしまいたいのですが。。。。
日常業務は csh で大抵間に合います。
が、標準出力と標準エラーを別々のデバイスに書き出す機能、たとえば
find / -name httpd 1> stdout.txt 2> stderr.txt
というのは csh ではできないので、csh から sh を起動してこのコマンドを打
ち込むか、あるいは私なら
sh -c 'find / -name httpd 1> stdout.txt 2> stderr.txt'
とします。
もうひとつ、csh 系には「関数定義」という機能が欠けているのですが、これは
まあ小島さんの今の段階では考える必要はないでしょう。私自身も、システム標
準の sh スクリプトをコピペして関数を書くことはたまにあって、これはシステ
ム管理の目的にはいろいろ重宝するのですが、自分のスクリプトで関数を書いた
ことは一度もありません。それで間に合っています。なぜなら、そこまで面倒な
仕事になると Perl に逃げてしまうから。
root のシェルも csh にして特に問題ないと思いますが、/usr が / と別パーテ
ィションになっている場合は、Solaris では csh は /usr/bin/ にあったはずで
すので、「/usr が壊れたので復旧のために root になりたいけど、csh が起動
しない!」というパニックになる可能性がありますから、緊急起動用の CD を常
備しておく程度の対策は必要です。
というわけで、root のシェルは sh のままにしておくのが定石です。
特に、tcsh 使いと bash/zsh 使いの管理人がいる場合には、どちらの贔屓にも
ならないように sh にしたりします。root になってから exec csh と入力して
csh を起動すればそれで事足ります。
すぐ csh が動いてほしい、というのであれば、croot とかいう別のユーザー
(UID は root と同じ 0 にする)を作って、そのシェルを csh にするという方
法があります。Linux だと、bash を使う toor というユーザーが存在していた
りしますよね。
あとは、むやみに root にならないで sudo を使うことも検討しましょう。
・コマンドラインで指定したコマンドひとつだけを root 権限で実行する
・ログが残る
・root パスワード不要で、本人のログインパスワードだけで実行可能できるので、
root パスワードを大人数で共有する必要がない
・誰それには○○を許可、誰それには××は不許可、という指定ができるので、
たとえば自分以外のユーザーは shutdown、reboot、mount、umount だけ許可、
という指定ができる
といった特徴があります。
sudo は Solaris 用のパッケージとして存在しているはずですよ。
========================================================================
飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delmonta@ht.sakura.ne.jp
───【宣伝/ADVERTISEMENT】──────────────────────
fj.os.ms-windows.server2003 または fj.os.ms-windows.server の新設の可否
を問う投票を実施中です。
fj.news.group.comp をご参照のうえ、ふるってご投票ください。
投票期限は 8/25(月)です。
────────────────────────────────────
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735