• ベストアンサー

"su -"でスーパーユーザになったときの設定ファイルはどこ?

solaris8を利用しているのですが、 "su -"でスーパーユーザになったときの設定ファイルはどこなのでしょうか? pathを設定したいのですが、 /etc/default/suのSUPATHを変更しても、"su -"した時に 設定したはずのpathが有効になりません。 ご教授いただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • gaktank
  • ベストアンサー率65% (23/35)
回答No.4

Solaris8でrootのログインシェルがデフォルト(/bin/sh)のままでしたら、 /etc/profile /.profile の順に設定が参照されます。 /etc/profileは全てのユーザ(正確にはログインシェルがBシェル系に設定されている全てのユーザ)に反映されるので、rootユーザのみに設定したいPATHの場合は/.profileに書くとよいでしょう。 ちなみにログインシェルをbashに変更していた場合は、 /etc/profile /.profile /.bash_profile /.bashrc の順に設定が参照されます。

niwaka_kanrisya
質問者

お礼

ありがとうございます。 言葉足らずな質問に、丁寧にご回答いただき 非常に助かりました。

その他の回答 (3)

  • e-marimo
  • ベストアンサー率24% (9/37)
回答No.3

みなさんおっしゃってるように root ディレクトリの .bashrc に書けば良いって事かと 思います。無ければ自分で書くという事です。 > PATHの設定が異なるので、どこで設定しているか知りたいのですm(--)m .bashrc を使うということだと bash を使うって事ですよね? UNIX系 OS の PATH 設定は統一されています

  • kuma-ku
  • ベストアンサー率54% (1558/2845)
回答No.2

こんにちは 以前の質問で、参考になりそうなものを見つけましたので紹介しておきますね。 一度ご覧ください。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=646219
niwaka_kanrisya
質問者

補足

ご回答いただきありがとうございます。 質問に詳細を書きそびれたのですが、 "/"(ルートのホームディレクトリ)に".bashrc"がありませんでした。 別のサーバでも.basrcは無いが、 PATHの設定が異なるので、どこで設定しているか知りたいのですm(--)m

回答No.1

Solaris10でBashを使っていますが、/etc/passwdで指定したホームの ~.bashrc を参照しているので、suしたシェルのloginシェルに追加してみては如何ですか?

niwaka_kanrisya
質問者

補足

ご回答いただきありがとうございます。 質問に詳細を書きそびれたのですが、 "/"(ルートのホームディレクトリ)に".bashrc"がありませんでした。 別のサーバでも.basrcは無いが、 PATHの設定が異なるので、どこで設定しているか知りたいのですm(--)m

関連するQ&A

  • Solaris9をシングルユーザモードで立ち上げた際に参照するPATH

    Solaris9をシングルユーザモードで立ち上げた際に参照するPATHが記述された設定ファイルはどこにあるのでしょうか? suコマンド時で参照しているのは/etc/default/suのようですが、シングルユーザーモードの時も同じものを参照しているのでしょうか? 分かる方いらっしゃいましたらご教示ください。

  • SSH接続時のスーパーユーザー(su?)について

    Linuxは完全な初心者です。 サーバ内のにある、SSHで保護されたデータベースにアクセスしようとしております。 手順として、 (1)SSHでサーバに接続 (2)スーパユーザーになる (3).設定ファイルを編集 /etc/httpd/conf.d/phpmyadmin.conf (4)Allow from (自分の使用しているIP) という一行を追加 (5)Apache(HTTP)の再起動 /etc/rc.d/init.d/httpd reload という事を教えて頂けました。 見よう見まねでなんとかTeraTermでSSH接続するところまで出来ましたが、 (2)のスーパーユーザーになる、という段階で止まっております。 調べたところ【su】【su -】【su - root】あたりのコマンドで、root権限は持てているようなんですが、 (3)のコマンドを打つと【許可がありません】と出てしまいます。 何が間違っているのでしょうか? どなたかご教授頂けましたら幸いです。 宜しくお願いします。

  • UNIXシェルの設定ファイルについて

    solaris8使用してるのですが2つほど質問があります。 1. rootのシェルの設定ファイル(.cshrcとか.profileにあたるもの?) ってどこにあるのでしょうか? su でroot になったときや、rootでcshと打ち込んだときなど はどこのファイルの設定を読むのでしょうか? 2. 一般ユーザを新規に追加した場合にその新規ユーザの シェルの設定ファイルってどこからもってきたものなんでしょうか? デフォルトのファイルのようなものをコピーしてくる感じなのでしょうか? ご存知の方よろしくお願いします。

  • rootでSSHできないように設定しても他のユーザーからsuできてしまう

    Fedora Core 6 で /etc/ssh/sshd_conig 内のデフォルト値 #PermitRootLogin yes を PermitRootLogin no にして案の定外部からSSHでのルートでのログインはできないようにしたのですが、Puttyなどで、他のユーザーでログインした後、su を使うとパスワードを入れればrootに切り替えられます。 これは正常なのでしょうか?リモートの場合はrootにsuできないようにしたいのですが特別な設定が必要になるのでしょうか? ご存知の方どうぞよろしくお願いいたします。

  • su できません

    /etc/passwd内のrootのログインシェルを書き間違えてしまい,su時に su: No shellといわれてしまいます. 一般ユーザで ln コマンドを使用し,書き間違えたファイル名にして実行しようととしました. しかし,/sbin/ 内のファイルのため,一般ユーザでは書き込めません. また,su -s /sbin/sh としてもできませんでした. どのようにすれば su することができるのでしょうか. 使用しているOSはsoraris7です. なにとぞよろしくお願いします.

  • suでバーナーを出なくする方法

    su - ユーザ名 -c コマンド名 をbshスクリプトから実行したら、必要の無い 「Sun Microsystems Inc. SunOS 5.8 Generic Patch October 2001」 のバーナーがでてしまいます。 /etc/motdで定義されているのは知っているのですが、ログイン時だけでsu時は出さなくする方法を教えて下さい。 ちなみにsuするユーザはcshがデフォルトです。

  • suになれない

    FreBSDを勉強しようと初めてインストール(4.4)したのですが一般ユーザーからsuになろうとしてもsu: you are not in the correct group (wheel) to su root.というメッセージが出てなれないのですがどうしてなのでしょうか?あとrootでログインの際に入力でコマンドなどの途中でTABキーを押せば残りが出てくるのですが、これを一般ユーザーでログインしてやるとrootの時のようにならないのですがなぜなのでしょうか?ご教授頂けたら幸いです。

  • パス(PATH)の設定ファイルについて

    OSはRed Hat Linux 9 を使用しております。 また、シェルはbashを使用しております。 ユーザがシステムにログインする際は、通常ですと /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ファイルを読込、パス(PATH)の設定を行うと思いますが、 sshでrootユーザでシステムにログインした際は、 「echo $PATH」の結果は以下でした。 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin su -で再度rootユーザでログインした際、もしくは、他ユーザからsu -でログインすると 「echo $PATH」の結果は以下でした。 /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/sbin ログインの仕方でパス(PATH)に違いがあります。 また、「/usr/local/bin」をパス(PATH)として設定している記述が 上記ファイルに見当たりません。 http://sakaguch.com/PastBBS/0038/B0018808.html http://oshiete1.goo.ne.jp/kotaeru.php3?q=800405 等のサイトを参考に、以下ディレクトリ配下を確認しましても /etc/profile.d /etc/rc.d/init.d /etc/rc.d/rc3.d 「/usr/local/bin」をパス(PATH)として設定している記述が 見当たりません。 ログインの仕方でパス(PATH)に何故違いがあるのか、 また「/usr/local/bin」をパス(PATH)として設定している記述がある ファイルをご存知の方ご教授頂きたく思います。 宜しくお願いします。

  • 自動起動シェルで「su - user -c "command"」が実行できない

    初めて質問いたします。 よろしくお願いします。 OS:solaris8 OSの起動・停止時に自動起動させたいコマンドがあったので、 以下のシェル(testsh)を作成し、/etc/init.dに置き、 /etc/rc0.dにtestshに対しK99testshの名称でシンボリックリンクを作成、 /etc/rc3.dにtestshに対しS99testshの名称でシンボリックリンクを作成しました。 OS起動時には、iii.txtが削除され、 OS停止時には、jjj.txtが削除されると思うのですが、 削除されていませんでした。 OSの起動・停止時ではなく、sh -x testshで起動した場合は、 正常に動作しました。 又、suでユーザーを変更しないスクリプトに変えた場合は、OSの起動・停止時にiii.txt、及びjjj.txtが削除されていたので、 起動・停止時のsuが正常に動作していないように思います。 どなたが原因などお分かりでしょうか? 又は、手順で何か間違いなどありますでしょうか? ご教授よろしくお願いします。 以下シェル(testsh)の内容 #!/bin/sh case "$1" in start) su - user -c "rm /export/home/user/test/iii.txt" ;; stop) su - user -c "rm /export/home/user/test/jjj.txt" ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0

  • リモートログインの停止方法について

    Solaris10において、rootユーザについては、 /etc/default/login ファイルに「CONSOLE=/dev/console」 を設定すれば、リモートから直接ログインできずに 別のユーザでログインした後に、su で変更しないといけない (コンソールでは直接ログイン可能)ことはわかったのですが、 rootユーザ以外の特定ユーザをリモートから直接ログインすることを 禁止することはできるのでしょうか? (すべてのアカウントがリモート接続できなくするわけではなく、  個人ごとに付与されるアカウントでリモートからログインしたのち、  su で特定のユーザに変更する ということを実現したい) ※同じ端末から異なる個人ユーザでリモートからログインされるため、  IPではじくこともできない状態です。