No.1
- 回答日時:
> 一度投入したSearch pathを解除する方法
ちょっとご質問の意味がよくわからないのですが、これは単に
export PATH=
で良いのではないでしょうか。
> このパスを電源を再投入した後も効力を持たせるにはどこに書き込めば良いでしょうか。
おっしゃるように .bash_profile で良いと思いますが、root 権限で CGI を動作させておられるのでしょうか?
これは、極めて危険です。
CGI 実行用のアカウントを別に作って、そのユーザの権限で実行するようにしましょう。
ちょっとご質問の意味がよくわからないのですが、これは単に
export PATH=
で良いのではないでしょうか
export PATH=$PATH:/bin/xxxと言う方法でpathを設定しました。同じ設定を解除するにはexport PATH=とすれば良いと言うことでよろしいのでしょうか。
CGIの危険性に付いてコメントいただきまして有り難うございます。今後もよろしく御願いいたします。
No.2ベストアンサー
- 回答日時:
おひさしぶりです、yostyです。
最初の質問ですが、環境変数PATHをを元に戻す方法ということでしょうか。
下の方の書かれた方法ですと、元々設定されていたPATHまで消えてしまいます。
まず、
echo $PATH
としてください。すると、
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/myname/bin:/home/myname/cgi-bin/
のような表示が出ると思います。
この「:」で区切られたそれぞれがディレクトリですので、
最後に追加した:/home/myname/cgi-bin/だけを除いて、
export PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/myname/bin
のようにしてやると、PATHが元のように指定し直されます。
なお、PATHという環境変数の存在自体を消すには、
「export PATH=」ではなく、「unset PATH」とします。
次に、起動時の自動設定は、.bash_profileが一般的でしょうが、
rootに適用するのか、mynameさんに適用するのかでファイルの場所が違います。
/root/.bash_profileでは、当然、rootとしてログインしたか、
- または -l 付きのsuでrootになった場合しか適用されません。
mynameさんに適用したい場合は、/home/myname/.bash_profileに書いてください。
redhat7.1ですと、ちょうど
PATH=$PATH:$HOME/bin という行がありますので、そこを
PATH=$PATH:$HOME/bin:/home/myname/cgi-bin
とするといいでしょう。
細かいことですが、一般的にPATHのディレクトリ指定には最後に「/」は付けません。
以降は、補足として...
1行目に、shellと書かれていますが、
PATHを見ると、cgi-binに置かれているようです。
cgi-binはもともと、apacheのScriptAlias指示子で、
例外的にCGIが使えるディレクトリとして指定されるものです。
シェルスクリプトは、ホームディレクトリ直下に、
binというディレクトリを作ってまとめておくことが多いです。
実際、redhat7.1でも、$HOME/binにパスが通っています。
(ただし、ディレクトリ自体は作られていません)
もし、shellで書かれたCGIということでしたら、
WEBから利用するだけの場合はPATHの設定の必要はありません。
なお、管理用のシェルスクリプトなどは、
rootでしか実行できないコマンドを利用することも多く、
root所有が一般的だと思います。
redhat7.1のapacheは標準でsuexecがonですが、
委譲できるアカウントのuidが100以上に固定されているため、
root権限でCGIが実行されることはありません。
(rootがアクセスしても、rootでしか実行できないコマンドは失敗します。)
ソースから普通にsuexecがoffでインストールした場合、
全てのCGIはnobody権限で動きますので、さらに安全です。
また、スクリプトはsuidも立ちませんので、
一般ユーザがコマンドラインからroot権限で実行ということもできません。
したがって、apache自体がroot権限として起動するといった特殊な設定さえしなければ、
下の方が書かれているような危険性はありません。
Yosty様、いつも御世話になります。説明が詳細で行き届いておりまして、Linux初心者には大変わかりやすいものとなっております。どのように学習されたのかお聞きしたいものです。今後ともよろしくお願い申し上げます。有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 pathが通らない 2 2023/03/27 11:28
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
- その他(プログラミング・Web制作) ログインシェル時のSHELL環境変数 1 2022/06/08 19:21
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/10/26 17:14
- Windows 7 power automateが不人気な理由 1 2022/05/21 19:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
自動パスワード入力でscpするス...
-
bashでシングルクォート内の変...
-
クーロンでシェル実行、JAVAコ...
-
Bシェルで文字列が日付として正...
-
シェルスクリプト実行で”そのよ...
-
JAVAの環境変数が初期化されて...
-
Linux 月を英語表示したい
-
CygwinでX Windiws Systemが起...
-
crontabでjavaだけが上手く動い...
-
Cシェルのかっこいいプロンプト...
-
cron設定で正常に動作しない
-
Dirコマンドでフォルダ内ファイ...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
-
batである文字列内に特定の文字...
-
Linux環境 grepで改行コード(CR...
-
iqoo neo 9と言うスマホがある...
-
シェルスクリプトでエラーが出ます
-
AIXでの文字コード、改行コード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
自動パスワード入力でscpするス...
-
crontabでsql/plusの起動
-
cronの@rebootでのdateコマンド...
-
Linuxで自作バッチファイルの置...
-
apachectl start command not f...
-
Cronジョブの終了時刻を簡単に...
-
cron設定で正常に動作しない
-
UNIXのbashエラーでnot a valid
-
sudoでシェルスクリプトを実行...
-
crontabでjavaだけが上手く動い...
-
macのターミナルからemacsを開...
-
crontabで実行されない部分があ...
-
Cシェルのかっこいいプロンプト...
-
Linuxでシェルスクリプトがフル...
-
hp-uxで時間(時計)を合...
-
bad interpreterで、シェルが使...
おすすめ情報