Apacheサーバを運用する時に作業効率を100倍にする方法にツッコミを頂いた
ありがたい事に昨日書いたエントリにマジレス(?)貰えたので、それについてマジレスというか、お詫びします。
http://b.hatena.ne.jp/amari3/20110921#bookmark-59906142
amari3 「apache セキュリティを考えるなら sudo -e とか sudoedit の方がいいぜ 2011/09/21」
む?(・ω・)
と思い、「sudo vi 危険」とかで調べると・・・チョー危ない!��(゚Д゚;)
http://kaworu.jpn.org/kaworu/2008-05-04-2.php
こちらのサイトにも書かれていますが
sudo viで起動したroot権限を持つviは、root権限でコマンドを 実行することができます。viからコマンドが起動されるため、 sudoコマンドの設定の影響を受けません。 ようするに、何もかも許しているのとなんら変わりません。
・・・・・・・セキュリティホールを広げるような記事を書いてしまいお詫びします><
安全に100倍にするには
alias htvi='sudoedit /etc/httpd/conf/httpd.conf '
ですね・・・!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
http://b.hatena.ne.jp/tagomoris/20110921#bookmark-59906142
tagomoris 「apacheの設定ファイルが /etc にあるか /usr/local にあるかわからないという荒野では100倍になれません」
まず、真っ当に設定ファイルを探すなら、以下のコマンドを実行してHTTPD_ROOTを探します。
起動時に指定しているんなら、起動スクリプト見て下さい。
# /usr/sbin/httpd -V Server version: Apache/2.2.3 Server built: May 4 2011 06:51:15 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 64-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
はい、これでインストールされているhttpdのデフォルトconfigパスが分かりましたね。
じゃあ、このパスを自動で取りましょう。
/usr/sbin/httpd -V| grep -e "HTTPD_ROOT\|SERVER_CONFIG_FILE" |\ /bin/sed "s/[^a-z\./]//g" |paste -s| /bin/sed "s/[\t\| ]/\//"
とれたかな。
で、これをaliasにする所で何やらで挫折!!
なので、環境がちょこちょこある所は
alias htvi='sudoedit /etc/httpd/conf/httpd.conf ' alias htvi2='sudoedit /usr/local/apache/conf/httpd.conf ' ※/usr/localの時パスこうだっけ?
で50倍の生産性向上を味わって下さい!
以上、あんなエントリにツッコミありがとうございました!!