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倍の生産性向上を味わって下さい!
以上、あんなエントリにツッコミありがとうございました!!