AIXでユーザー別に環境変数を設定する方法は?

このQ&Aのポイント
  • AIXでユーザー別に環境変数を設定する方法について教えてください。
  • AIXで既存のユーザーへ一度に環境変数を登録する方法には何がありますか?
  • AIXで新規でユーザーを作成する際に環境変数を設定する方法はありますか?
回答を見る
  • ベストアンサー

環境変数について質問です。

AIXでユーザー別に環境変数を設定したいと思っています。 PATHで/usr/local/bin、/usr/local/sbin を設定したいのですが、 既存のユーザーへ一度に登録する方法はありますでしょうか? やはり$HOME/.profile ヘ上記のPATHを記載するしかないでしょうか。 また、これから新規でユーザーを作成した際に上記のPATHを設定する方法はありませんでしようか。 AIXではログイン時は/etc/profile → $HOME/.profile となるようですが、 /etc/profile に記載した内容は上書きされてしまうということでしょうか。 すみませんが、どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

/etc/environment にデフォルトのパスを設定し、$HOME/.profile からパス設定を 削除すればよいと思います。 もしくは、全てのユーザの.profileに PATH を追加するか。 例えばこんな感じのスクリプトで実現できると思います。 awk 'BEGIN { FS=":" } { print $6 }' /etc/passwd | while read home; do test -f $home/.profile || continue mv $home/.profile $home/.profile~ sed -e '$a \ PATH=/usr/local/bin:/usr/local/sbin:$PATH' $home/.profile~ > $home/.profile done

y-u-n-a
質問者

お礼

遅くなりましてすみません。 ご回答ありがとうございました。 スクリプトまで教えてくださり、とても助かります。 今事情でその環境が使えないのですが、使えるようになったら試したいと思います。 本当にどうもありがとうございました。

関連するQ&A

  • 環境変数の設定(PATH)

    今、環境変数の設定(PATHの設定)を行っています。 OSは、RedHat9です。 スーパーユーザーのPATHは、 echo $PATHコマンドで見ると /usr/local/sbin:/usr/bin:/home/user1/test となっている。 しかし.bash_profileをみると PATHには、/usr/local/sbin:/usr/binしか 設定しておらず、 ユーザー(user1)の.bash_profileにも /home/user1/testをPATHに設定していない。 どこかでPATH設定を行っていると思いますが わかりません。 PATHの設定は、.bash_profileを設定するとは わかっているのですが、 スーパーユーザーの.bash_profileの記述と echo $PATHで見たPATHの構成がことなるのは なぜでしょうか? よろしくお願い致します。

  • パス(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)として設定している記述がある ファイルをご存知の方ご教授頂きたく思います。 宜しくお願いします。

  • 環境変数PATH

    $PATHの中を変更したいです。 [root@****]# echo $PATH /usr/kerberos/sbin: /usr/kerberos/bin: /usr/local/bin: /bin:/usr/bin: /usr/java/jre1.6.0_14/bin: /home/takosu/bin: /usr/java/jre1.6.0_14/bin 「# echo $PATH」を行うと上記の様に表示されますが、 何故か「/usr/java/jre1.6.0_14/bin」が二つ表示されているので 一つを消したいんですが如何すれば良いでしょうか? ご回答宜しくお願い致します。

  • JAVAの環境変数が初期化されてしまいます

    Linux初心者です。 JDK6.0をインストールして、環境変数を次のように設定しました。 export JAVA_HOME=/usr/local/jdk1.6.0 export PATH=$JAVA_HOME/bin:$PATH これで一旦はjavacやjavaコマンドが使えるようになるのですが、 bashを再起動すると、また使えなくなるので再設定しなければなりません。 調べてみた所、homeディレクトリの.bash_profileを変更すると 再設定の必要がなくなると書いていたので、 # set PATH so it includes user's private bin if it exists if [ -d ~/bin ] ; then PATH=~/bin:"${PATH}" → export JAVA_HOME=/usr/local/jdk1.6.0 → export PATH=$JAVA_HOME/bin:$PATH fi と記述してみたのですが、やはりbash再起動後のPATHに 上記のパスは含まれていません。 私の記述方法が間違っているのでしょうが、 どうすれば自動的にパスを通すように設定できるのでしょうか? ターミナルはubuntu6.10からGNOME端末を使用しています。 よろしくお願いします。

  • シェル変数(path)の挙動がわかりません

    シェル変数の挙動がわからなくて困っています。 以下のような3ファイルがあります。 % cat /tmp/test_config.sh #!/opt/local/bin/zsh path=($path /tmp) % cat /tmp/test.sh #!/opt/local/bin/zsh . /tmp/test_config.sh echo $PATH echo $path /tmp/test2.sh % cat /tmp/test2.sh #!/opt/local/bin/zsh echo $PATH echo $path which test.sh これを、所有者のユーザで実行するのとsu -c で実行するので挙動が変わります。 % /tmp/test.sh /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /tmp/test.sh % sudo su - hogehoge -c /tmp/test.sh /bin:/usr/bin:/usr/ucb:/usr/local/bin:/tmp /bin /usr/bin /usr/ucb /usr/local/bin /tmp /bin:/usr/bin:/usr/ucb:/usr/local/bin /bin /usr/bin /usr/ucb /usr/local/bin test.sh not found この挙動の違いは、何から産まれるんでしょう? .zshrc でそういう設定ができるんでしょうか? .zshenv は使ってません。 (なお、環境変数$PATHを使えば目的は果たせると言うのはわかっています)

  • 環境変数の設定

    OS:MacOS10.4.7 ant version:1.6.5 antの設定で困っています。macでの環境変数の設定(パスを通す)はどうすれば良いのか困っています。 現段階ではantをusr/localで展開し、シンボリックリンクを作成。 次段階の環境変数の設定で~/etc/csh.cshrcに setenv ANT_HOME /usr/local/ant set path=( $path $ANT_HOME/bin ) を加えたのですがantが動作しません。 どなたか解決方法・間違え点ありましたら教えてください。 宜しくお願いします!!

  • qmail Part2

    /var/qmail/rc の中身を ./Maildir に変更しました。 #/var/qmail/bin/maildirmake /etc/skel/Maildir を実行して #useradd user00 を作成し中身を確認すると /home/user00/Maildir /home/user00/.qmail は正常に作成されておりました。 #/var/qmail/rc & を実行すると 「1」 685 #PATH=/var/qmail/bin:/bin:/sbin:/usr/bin:/var/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin と出ます。(これって動いていないんですよね?) BINDは動作している様子です。

  • 環境変数pathについて

    環境変数pathについてお聞きしたいことがあります。たとえば /usr/local/bin:/bin:/usr/bin: このような場合、/usr/local/binと/binと/usr/binに入力されたコマンドのプログラム ファイルを探しに行くというような解釈をしているのですが、 /usr/local/binがあるならば/binや/usr/binといったようなpathは必要ないような気がします。なぜこのような書き方をするのでしょうか? お忙しいところ申し訳ございませんがよろしくお願いします。

  • javacと打つとgcj: no input filesとなります。

    初めまして。 /etc/profileへ以下のようにPATHを設定して あります。 export JAVA_HOME=/usr/local/j2sdk1.4.2 export PATH=$PATH:$JAVA_HOME/bin #source /etc/profile # javac gcj: no input files となりPATHがうまく通りません。 この現象を回避する方法をご教授頂ければ と思います。 よろしくお願い致します。 RedHat9 kernel-2.4.26

    • ベストアンサー
    • Java
  • crontabの自動実行について (Debian3.0)

    OSはDebian GNU/Linux 3.0です。 /etc/cron.daily の中にviで記述した下記のものを 保存しました。ファイル名back.sh #!/bin/sh rsync -acouv --stats /home/www /backup/back-all ;; しかし、自動実行できていませんでした。 www、back-all共に実在するディレクトリです。 crontabは下記のとおり、初期のままです。 SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 25 6 * * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily 47 6 * * 7 root test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly 52 6 1 * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly # 何か間違いがあるのでしょうか?