2014年4月30日水曜日
2014年4月25日金曜日
Apache Struts2 の脆弱性対策について(CVE-2014-0094)(S2-020)
https://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html■概要: Apache Struts のバージョン 2.0.0 から 2.3.16 には、ClassLoader を操作される脆弱性が存在(CVE-2014-0094)が存在しますが、同様の脆弱性がApache Struts 1.Xにおいても存在することを確認された。
デフォルト状態のStruts1.X及びStruts1.Xを拡張したフレームワークが本脆弱性の影響を受ける可能性。
過去、Struts2に関する攻撃は脆弱性公表後に早期に行われている傾向がある。
今回のStruts1.Xに対する脆弱性についても、同様に攻撃が行われる可能性があるため、早急な対策を推奨。
■対象となるアプリケーションとバージョン Struts1.X (検証済バージョンはStruts 1.3.8、Struts1.3.10のみですが、他のバージョンも影響を受けると想定される。)
■対策: Struts1.Xはサポート切れの製品であるため修正パッチは提供されない可能性がある。
本脆弱性にはパラメータ名に不正な文字列が含まれる特徴がある。
Struts2では不正なパラメータを遮断する設定機能が提供されていますが、Struts1.Xに同様の機能は存在しないため、設定で回避することが出来ない。
そのため、ServletFilterやWAF等を使用して不正なパラメータ名を含むリクエストを遮断する必要があります。
遮断用文字列の例 (^|\.)[cC]lass\.
※「.Class.」「.class.」「(行頭)Class.」「(行頭)class.」の場合検知するような正規表現となります。
ただ、パラメータ名に前述の文字列を含む リクエストが遮断されるためアプリケーションの正常動作に影響を与える可能性があります。
■想定される被害 (1)サービスの停止 (2)リモートからのファイルの読み込み (3)リモートからのコードの実行
■参考(類似の脆弱性) S2-020 CVE-2014-0094 http://struts.apache.org/release/2.3.x/docs/s2-020.html
http://www.scutum.jp/information/waf_tech_blog/2014/04/waf-blog-036.html
■対策コード
http://www.mbsd.jp/img/testFilter.java
sar CPU・ネットワーク・メモリ・ディスクの情報確認 LinuxCommand
■インストール
CentOS/iostat,sarコマンドのインストール
http://linux.just4fun.biz/CentOS/iostat,sar%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.html#n7f92f26
■インストールしたけど実行できないとき
http://www.uetyi.mydns.jp/wordpress/linux-server/entry-122.html
以下インストールして実行できず実行できるようになるまでのメモログ。CentOS6.3
[root@xxxxx ~]# sar
-bash: sar: コマンドが見つかりません
[root@xxxxx ~]# yum install sysstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.kddilabs.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package sysstat.x86_64 0:9.0.4-22.el6 will be installed
--> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-22.el6.x86_64
--> Running transaction check
---> Package cronie.x86_64 0:1.4.4-12.el6 will be installed
--> Processing Dependency: dailyjobs for package: cronie-1.4.4-12.el6.x86_64
--> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-12.el6.x86_64
--> Running transaction check
---> Package cronie-anacron.x86_64 0:1.4.4-12.el6 will be installed
--> Processing Dependency: crontabs for package: cronie-anacron-1.4.4-12.el6.x86_64
---> Package exim.x86_64 0:4.72-4.el6 will be installed
--> Running transaction check
---> Package crontabs.noarch 0:1.10-33.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
sysstat x86_64 9.0.4-22.el6 base 230 k
Installing for dependencies:
cronie x86_64 1.4.4-12.el6 base 73 k
cronie-anacron x86_64 1.4.4-12.el6 base 30 k
crontabs noarch 1.10-33.el6 base 10 k
exim x86_64 4.72-4.el6 epel 1.2 M
Transaction Summary
================================================================================
Install 5 Package(s)
Total download size: 1.6 M
Installed size: 4.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): cronie-1.4.4-12.el6.x86_64.rpm | 73 kB 00:00
(2/5): cronie-anacron-1.4.4-12.el6.x86_64.rpm | 30 kB 00:00
(3/5): crontabs-1.10-33.el6.noarch.rpm | 10 kB 00:00
(4/5): exim-4.72-4.el6.x86_64.rpm | 1.2 MB 00:00
(5/5): sysstat-9.0.4-22.el6.x86_64.rpm | 230 kB 00:00
--------------------------------------------------------------------------------
Total 2.5 MB/s | 1.6 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : exim-4.72-4.el6.x86_64 1/5
Installing : cronie-1.4.4-12.el6.x86_64 2/5
Installing : crontabs-1.10-33.el6.noarch 3/5
Installing : cronie-anacron-1.4.4-12.el6.x86_64 4/5
Installing : sysstat-9.0.4-22.el6.x86_64 5/5
Verifying : crontabs-1.10-33.el6.noarch 1/5
Verifying : exim-4.72-4.el6.x86_64 2/5
Verifying : cronie-anacron-1.4.4-12.el6.x86_64 3/5
Verifying : sysstat-9.0.4-22.el6.x86_64 4/5
Verifying : cronie-1.4.4-12.el6.x86_64 5/5
Installed:
sysstat.x86_64 0:9.0.4-22.el6
Dependency Installed:
cronie.x86_64 0:1.4.4-12.el6 cronie-anacron.x86_64 0:1.4.4-12.el6
crontabs.noarch 0:1.10-33.el6 exim.x86_64 0:4.72-4.el6
Complete!
[root@xxxxx ~]# sar
/var/log/sa/sa25 を開けません: そのようなファイルやディレクトリはありません
[root@xxxxx ~]# /etc/init.d/sysstat start
Calling the system activity data collector (sadc)...
[root@buront ~]# sar
Linux 2.6.32-431.el6.x86_64 (buront.localdomain) 2014年04月25日 _x86_64_ (2 CPU)
11時12分23秒 LINUX RESTART
[root@xxxxx ~]#
CentOS/iostat,sarコマンドのインストール
http://linux.just4fun.biz/CentOS/iostat,sar%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.html#n7f92f26
■インストールしたけど実行できないとき
http://www.uetyi.mydns.jp/wordpress/linux-server/entry-122.html
以下インストールして実行できず実行できるようになるまでのメモログ。CentOS6.3
[root@xxxxx ~]# sar
-bash: sar: コマンドが見つかりません
[root@xxxxx ~]# yum install sysstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.kddilabs.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package sysstat.x86_64 0:9.0.4-22.el6 will be installed
--> Processing Dependency: /etc/cron.d for package: sysstat-9.0.4-22.el6.x86_64
--> Running transaction check
---> Package cronie.x86_64 0:1.4.4-12.el6 will be installed
--> Processing Dependency: dailyjobs for package: cronie-1.4.4-12.el6.x86_64
--> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-12.el6.x86_64
--> Running transaction check
---> Package cronie-anacron.x86_64 0:1.4.4-12.el6 will be installed
--> Processing Dependency: crontabs for package: cronie-anacron-1.4.4-12.el6.x86_64
---> Package exim.x86_64 0:4.72-4.el6 will be installed
--> Running transaction check
---> Package crontabs.noarch 0:1.10-33.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
sysstat x86_64 9.0.4-22.el6 base 230 k
Installing for dependencies:
cronie x86_64 1.4.4-12.el6 base 73 k
cronie-anacron x86_64 1.4.4-12.el6 base 30 k
crontabs noarch 1.10-33.el6 base 10 k
exim x86_64 4.72-4.el6 epel 1.2 M
Transaction Summary
================================================================================
Install 5 Package(s)
Total download size: 1.6 M
Installed size: 4.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): cronie-1.4.4-12.el6.x86_64.rpm | 73 kB 00:00
(2/5): cronie-anacron-1.4.4-12.el6.x86_64.rpm | 30 kB 00:00
(3/5): crontabs-1.10-33.el6.noarch.rpm | 10 kB 00:00
(4/5): exim-4.72-4.el6.x86_64.rpm | 1.2 MB 00:00
(5/5): sysstat-9.0.4-22.el6.x86_64.rpm | 230 kB 00:00
--------------------------------------------------------------------------------
Total 2.5 MB/s | 1.6 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : exim-4.72-4.el6.x86_64 1/5
Installing : cronie-1.4.4-12.el6.x86_64 2/5
Installing : crontabs-1.10-33.el6.noarch 3/5
Installing : cronie-anacron-1.4.4-12.el6.x86_64 4/5
Installing : sysstat-9.0.4-22.el6.x86_64 5/5
Verifying : crontabs-1.10-33.el6.noarch 1/5
Verifying : exim-4.72-4.el6.x86_64 2/5
Verifying : cronie-anacron-1.4.4-12.el6.x86_64 3/5
Verifying : sysstat-9.0.4-22.el6.x86_64 4/5
Verifying : cronie-1.4.4-12.el6.x86_64 5/5
Installed:
sysstat.x86_64 0:9.0.4-22.el6
Dependency Installed:
cronie.x86_64 0:1.4.4-12.el6 cronie-anacron.x86_64 0:1.4.4-12.el6
crontabs.noarch 0:1.10-33.el6 exim.x86_64 0:4.72-4.el6
Complete!
[root@xxxxx ~]# sar
/var/log/sa/sa25 を開けません: そのようなファイルやディレクトリはありません
[root@xxxxx ~]# /etc/init.d/sysstat start
Calling the system activity data collector (sadc)...
[root@buront ~]# sar
Linux 2.6.32-431.el6.x86_64 (buront.localdomain) 2014年04月25日 _x86_64_ (2 CPU)
11時12分23秒 LINUX RESTART
[root@xxxxx ~]#
2014年4月23日水曜日
.htaccess メモ
■有効範囲
適用範囲このファイルを制御をおこないたいディレクトリに置けば、そのディレクトリと下位ディレクトリに設定が反映される。
ただし、下位のディレクトリに別の.htaccessがあった場合はそちらが優先される。
上記のようにOverrideが有効になる範囲が設定されている場合は、許可されている範囲でのみ設定が再定義される。
上位のディレクトリやhttpd.conf(access.conf)には共通の設定を記述し、細かい制御をおこないたいディレクトリで個別の設定をかくとよいだろう。
記述のない項目に関しては、上位ディレクトリの設定が継承されるので、心配ならば明示的に記述しておくほうがよいだろう。
■windowsで.htaccessのファイルを作成するとき
GUI上でやろうとすると弾かれてしまうことぬなる
適用範囲このファイルを制御をおこないたいディレクトリに置けば、そのディレクトリと下位ディレクトリに設定が反映される。
ただし、下位のディレクトリに別の.htaccessがあった場合はそちらが優先される。
上記のようにOverrideが有効になる範囲が設定されている場合は、許可されている範囲でのみ設定が再定義される。
上位のディレクトリやhttpd.conf(access.conf)には共通の設定を記述し、細かい制御をおこないたいディレクトリで個別の設定をかくとよいだろう。
記述のない項目に関しては、上位ディレクトリの設定が継承されるので、心配ならば明示的に記述しておくほうがよいだろう。
■windowsで.htaccessのファイルを作成するとき
GUI上でやろうとすると弾かれてしまうことぬなる
2014年4月22日火曜日
mysql 5.5.32インストールメモ windows
■ダウンロード
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.5/
上記URLからmysql-5.5.32-win32.msiをダウンロード
■インストール
ダウンロードしたmysql-5.5.32-win32.msiをクリックし実行
以下下記のようにすすめていく
環境変数 Path の設定
インストールディレクトリ/bin をpathに追加する
C:\Program Files\MySQL\MySQL Server 5.5\bin
コマンドプロンプトにてmysqlに接続できるか確認を行う。
mysql -u root -p
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.5/
上記URLからmysql-5.5.32-win32.msiをダウンロード
■インストール
ダウンロードしたmysql-5.5.32-win32.msiをクリックし実行
以下下記のようにすすめていく
環境変数 Path の設定
インストールディレクトリ/bin をpathに追加する
C:\Program Files\MySQL\MySQL Server 5.5\bin
コマンドプロンプトにてmysqlに接続できるか確認を行う。
mysql -u root -p
2014年4月18日金曜日
ユーザのパスワードを変更する passwd -- LinuxConfig/LinuxCommand
# passwd xxxxxx ・・ユーザ:xxxxxxのパスワードを変更する
# passwd ・・ユーザ名を指定しない場合はカレントユーザのパスワード変更となる
※rootで他者のパスワードを変更する際は旧パスワードは聞かれない。
※以前使用していたパスワード、またそれと似ているパスワードは設定できない(下記ログはcentos6.3にて施行したもの)
---------------------------------------------
[root@xxxxxx ~]# passwd xxxxxx
ユーザー xxxxxx のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。
[root@xxxxxx ~]# su xxxxxx
[xxxxxx@xxxxxx root]$ passwd
ユーザー xxxxxx のパスワードを変更。
xxxxxx 用にパスワードを変更中
現在のUNIXパスワード: xxxxxxxxxxxx
新しいパスワード:
よくないパスワード: 古いものと似ています
新しいパスワード:
------------------------------------
# passwd ・・ユーザ名を指定しない場合はカレントユーザのパスワード変更となる
※rootで他者のパスワードを変更する際は旧パスワードは聞かれない。
※以前使用していたパスワード、またそれと似ているパスワードは設定できない(下記ログはcentos6.3にて施行したもの)
---------------------------------------------
[root@xxxxxx ~]# passwd xxxxxx
ユーザー xxxxxx のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。
[root@xxxxxx ~]# su xxxxxx
[xxxxxx@xxxxxx root]$ passwd
ユーザー xxxxxx のパスワードを変更。
xxxxxx 用にパスワードを変更中
現在のUNIXパスワード: xxxxxxxxxxxx
新しいパスワード:
よくないパスワード: 古いものと似ています
新しいパスワード:
------------------------------------
ssh接続の設定 /etc/ssh/sshd_config LinuxConfig
# RSA秘密鍵 identityを必須にする( no で“必須”を指定 )
PasswordAuthentication no
# rootでのログインを禁止する
PermitRootLogin no
# パスワード無しのログインを許すか
PermitEmptyPasswords no
# .rhosts等を信用するか(RSA認証付き)
RhostsRSAAuthentication no
# ユーザhogeのみ接続許可をする(不特定多数に接続させない為)
AllowUsers hoge
設定内容を修正したら再起動を行い設定を反映させる
# /etc/rc.d/init.d/sshd restart
http://fnya.cocolog-nifty.com/blog/2012/03/centos-6aa8.html
http://akiniwa.hatenablog.jp/entry/2013/09/09/080718
ユーザ一覧を確認 /etc/passwd --LinucConfig--
ユーザー名、パスワード、ユーザーID、グループID、コメント,ホームディレクトリ、ログインシェルが記録されている
[root@xxxxxx ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
~~
root:x:0:0:root:/root:/bin/bash
上記を左から準備
root:ユーザ名
x:「 x 」という文字か、もしくは暗号化されたパスワード。「 x 」はシャドウパスワードを使用している事を意味します。
0:ユーザーID
0:グループID
root:コメント
/root:ユーザのホームディレクトリ
/bin/bash:ユーザのログインシェル名
パスワードの部分が空白である場合、パスワード無しでログインできる。セキュリティ上よろしくなのにで設定すべし。
パスワード部分の「 x 」を削除すると、パスワード未設定の状態になり、 パスワード無しでログインできる状態にする事ができます( パスワード無しでログインできる環境なら )。
ユーザ一覧のみを出力
[root@buront ~]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
~~
参考
http://kazmax.zpp.jp/linux_beginner/etc_passwd.html
[root@xxxxxx ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
~~
root:x:0:0:root:/root:/bin/bash
上記を左から準備
root:ユーザ名
x:「 x 」という文字か、もしくは暗号化されたパスワード。「 x 」はシャドウパスワードを使用している事を意味します。
0:ユーザーID
0:グループID
root:コメント
/root:ユーザのホームディレクトリ
/bin/bash:ユーザのログインシェル名
パスワードの部分が空白である場合、パスワード無しでログインできる。セキュリティ上よろしくなのにで設定すべし。
パスワード部分の「 x 」を削除すると、パスワード未設定の状態になり、 パスワード無しでログインできる状態にする事ができます( パスワード無しでログインできる環境なら )。
ユーザ一覧のみを出力
[root@buront ~]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
~~
参考
http://kazmax.zpp.jp/linux_beginner/etc_passwd.html
2014年4月17日木曜日
Apache MPM/ prefork or worker メモ
Apacheは2.0から、起動時にMPM(Multi-Processing Modules)という基本モジュールが選択できるようになった
どっちの設定になっているか確認する方法
# apachectl -V | grep 'Server MPM'
Server MPM: Worker
※上記はApache2.0.55ではapachectl -VでServer MPMの項目が表示されないので確認できない
workerモードでは、「php-mbstring」や「php-mysql」などのPHP拡張機能が使えない感じでした。
mod_phpは非スレッドセーフであるため、MPMはworkerではなくprefork一択となる
どっちの設定になっているか確認する方法
# apachectl -V | grep 'Server MPM'
Server MPM: Worker
※上記はApache2.0.55ではapachectl -VでServer MPMの項目が表示されないので確認できない
ApacheのMPM、「prefork」と「worker」を切り替える方法
http://blog.flatlabs.net/20110222_232623/
Apache + PHPでloadavgがじわじわ上がっていく現象と対策
http://blog.uu59.org/2012-02-18-prefork-mpm-with-php.html
サバリプレイス時のjava画像認証がエラーで表示されなくなったときの対応メモ
java.lang.UnsatisfiedLinkError: /usr/java/j2sdk1.4.2_13/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
[root@xxxxx ~]# yum install libXp.so.6
java.lang.UnsatisfiedLinkError: /usr/java/j2sdk1.4.2_13/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
[root@xxxxx ~]# yum install libXt.so.6
java.lang.UnsatisfiedLinkError: /usr/java/j2sdk1.4.2_13/jre/lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
[root@xxxxx]# yum install libXtst.so.6
srcを再配備しapa tom再起動後
文字認証が表示されるようになった
[root@xxxxx ~]# yum install libXp.so.6
java.lang.UnsatisfiedLinkError: /usr/java/j2sdk1.4.2_13/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
[root@xxxxx ~]# yum install libXt.so.6
java.lang.UnsatisfiedLinkError: /usr/java/j2sdk1.4.2_13/jre/lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
[root@xxxxx]# yum install libXtst.so.6
srcを再配備しapa tom再起動後
文字認証が表示されるようになった
eclipseインストール java tomcat設定
Pleiades - Eclipse プラグイン日本語化プラグイン
Pleiades All in One は Windows 向けに開発対象プログラミング言語別でパッケージングした Eclipse 本体と Pleiades および便利なプラグインのセット。
ダウンロードした zip ファイルを解凍 (zip 解凍時の注意) し、eclipse.exe を起動すれば、すぐに日本語化された Eclipse を利用できる。
http://mergedoc.sourceforge.jp/index.html
開発環境にあわせてよく設定変更をする箇所
■javaの設定
ウィンドドウ(W)→設定→Java→インストール済みのJRE
ウィンドドウ(W)→設定→Java→コンパイラー
■tomcatの設定
ウィンドドウ(W)→設定→Tomcat
ウィンドドウ(W)→設定→Tomcat→JVM設定
■antの設定
ウィンドドウ(W)→設定→Ant→ランタイム
※↓はウィンドドウ(W)→設定→Java→インストール済みのJREの設定画面
■SVN設定
・メニューから「ウィンドウ → パースペクティブを開く → その他 → SVNリポジトリー・エクスプローラー」を選択し、「OK」
・SVNリポジトリー・エクスプローラーで、マウス右クリック → 新規 → リポジトリー・ロケーション
・URL欄に、SVNのアドレスを入力
・ラベル : xxxxxx
・認証 : ログインユーザ名
・パスワード : パスワード
・「終了」をクリック
・「リポジトリ・エクスプローラ」に、SVNの内容が展開されることを確認
Pleiades All in One は Windows 向けに開発対象プログラミング言語別でパッケージングした Eclipse 本体と Pleiades および便利なプラグインのセット。
ダウンロードした zip ファイルを解凍 (zip 解凍時の注意) し、eclipse.exe を起動すれば、すぐに日本語化された Eclipse を利用できる。
開発環境にあわせてよく設定変更をする箇所
■javaの設定
ウィンドドウ(W)→設定→Java→インストール済みのJRE
ウィンドドウ(W)→設定→Java→コンパイラー
■tomcatの設定
ウィンドドウ(W)→設定→Tomcat
ウィンドドウ(W)→設定→Tomcat→JVM設定
■antの設定
ウィンドドウ(W)→設定→Ant→ランタイム
※↓はウィンドドウ(W)→設定→Java→インストール済みのJREの設定画面
■SVN設定
・メニューから「ウィンドウ → パースペクティブを開く → その他 → SVNリポジトリー・エクスプローラー」を選択し、「OK」
・SVNリポジトリー・エクスプローラーで、マウス右クリック → 新規 → リポジトリー・ロケーション
・URL欄に、SVNのアドレスを入力
・ラベル : xxxxxx
・認証 : ログインユーザ名
・パスワード : パスワード
・「終了」をクリック
・「リポジトリ・エクスプローラ」に、SVNの内容が展開されることを確認
-チェックアウト
・開発対象の案件(リポジトリラベル名)上で、マウス右クリック
・検索/別名チェックアウト
・名前を指定してプロジェクトとしてチェックアウトを選択
・名前の欄を、リポジトリラベル名と同じにする
・「終了」をクリック
・メニューから「ウィンドウ → パースペクティブを開く → リソース」を選択
・入力したプロジェクト名でチェックアウトされていることを確認
・開発対象の案件(リポジトリラベル名)上で、マウス右クリック
・検索/別名チェックアウト
・名前を指定してプロジェクトとしてチェックアウトを選択
・名前の欄を、リポジトリラベル名と同じにする
・「終了」をクリック
・メニューから「ウィンドウ → パースペクティブを開く → リソース」を選択
・入力したプロジェクト名でチェックアウトされていることを確認
2014年4月16日水曜日
Java文字列連結の性能
http://d.hatena.ne.jp/nowokay/20140408#1396924547
http://d.hatena.ne.jp/nowokay/20140409#1397010846
http://d.hatena.ne.jp/nowokay/20140413#1397359039
http://d.hatena.ne.jp/j5ik2o/20110222/1298380551
http://d.hatena.ne.jp/nowokay/20140409#1397010846
http://d.hatena.ne.jp/nowokay/20140413#1397359039
http://d.hatena.ne.jp/j5ik2o/20110222/1298380551
セキュリティ設定 Linuxメモ
CentOS で行なっておきたいセキュリティ設定
http://fnya.cocolog-nifty.com/blog/2012/03/centos-6aa8.html
http://fnya.cocolog-nifty.com/blog/2012/03/centos-6aa8.html
鍵交換方式による SSH 接続メモ- PuTTY/teraterm
■PuTTY
http://www.kuins.kyoto-u.ac.jp/news/47/putty-gen.html
■teraterm
http://centos.server-manual.com/centos6_ssh_teraterm_rsa.html
http://www.kuins.kyoto-u.ac.jp/news/47/putty-gen.html
■teraterm
http://centos.server-manual.com/centos6_ssh_teraterm_rsa.html
eclipse メモ
eclipse3.3
java ~6 ~tomcat6.0
eclipse3.6
java ~6 ~tomcat7.0
eclipse3.7
java ~7 ~tomcat7.0
java ~6 ~tomcat6.0
eclipse3.6
java ~6 ~tomcat7.0
eclipse3.7
java ~7 ~tomcat7.0
Antメモ
Antインストール
http://ameblo.jp/developer-yk/entry-11062548252.html
Antのbuild.xmlをEclipseから自動生成
http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/useful/tips/091204_eclipse-create-buildxml.html
build.xml
http://www.javadrive.jp/ant/buildxml/index1.html
2014年4月15日火曜日
2014年4月11日金曜日
2014年4月9日水曜日
2014年4月8日火曜日
ファイル/ディレクトリのアクセス権変更 -- chmod -- LinuxCommand
ファイル/ディレクトリのアクセス権を変更する
chmod 777 file-x ・・file-xのアクセス権限を777に変更するchmod a+x file-x ・・全てユーザ(所有者、グループ、その他のユーザー)のfile-xの実行権限を付与する。
chmod -R 777 directory-x ・・directory-x内のファイル全て及びディレクトリのアクセス権限を777に変更する
chown -Rc user-a directory-x -cをつけることによりアクセス権限が変更されたファイルを詳細情報付きで表示する
数値の意味 左から順に所有者、グループ、その他のユーザーの権限
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx
r 読み込み権限
w 書き込み権限
x 実行権限
u 所有者の権限
g グループの権限
o その他のユーザーの権限
a すべての権限
chown -Rc user-a directory-x -cをつけることによりアクセス権限が変更されたファイルを詳細情報付きで表示する
数値の意味 左から順に所有者、グループ、その他のユーザーの権限
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx
r 読み込み権限
w 書き込み権限
x 実行権限
u 所有者の権限
g グループの権限
o その他のユーザーの権限
a すべての権限
前回起動方法の確認 PostgreSQL
起動対象のデータディレクトリ内に存在するpostmaster.optsを調べる
less /usr/local/pgsql/data/postmaster.opts
↓下記のように起動時のコマンドが表示される
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data"
ファイル/ディレクトリの所有者を変更 - chown - LinuxCommand
ファイル/ディレクトリの所有者を変更する
chown user-a file-x ・・file-xの所有者をuser-aに変更する
chown -R user-a directory-x ・・directory-x内のファイル全て及びディレクトリの所有者をuser-aに変更する
chown -Rc user-a directory-x -cをつけることにより所有者が変更されたファイルを詳細情報付きで表示する
2014年4月7日月曜日
hostsの変更反映 Windows config
windows7の場合のhostsファイルは下記
C:\Windows\System32\drivers\etc\hosts
コマンドプロントにて
ipconfig /displaydns
で確認
ipconfig /flushdns で反映
もしくは
net stop dnscache
でDNS Client サービスを停止し
net start dnscache
でDNS Client サービスを起動
C:\Windows\System32\drivers\etc\hosts
コマンドプロントにて
ipconfig /displaydns
で確認
ipconfig /flushdns で反映
もしくは
net stop dnscache
でDNS Client サービスを停止し
net start dnscache
でDNS Client サービスを起動
/etc/hostsの変更反映 Linux config
# /etc/rc.d/init.d/network resatart
or
# /etc/rc.d/init.d/network reload
or
# /etc/rc.d/init.d/network reload
ファイル/ディレクトリを検索 -- find -- Linux:command
■ファイル/ディレクトリ/シンボリックリンクなどを検索する
・現位置のディレクトリとその配下にあるすべてより zipとなのつくファイル、ディレクトリを検索し
ひっかかたものをファイル/ディレクトリ名を表示する
find . -name "*zip*" -print
・現位置のディレクトリとその配下にあるすべてより zipとなのつくファイル、ディレクトリを検索し
ひっかかたものをファイル/ディレクトリ名詳細情報つきで表示する
find . -name "*zip*" -ls
・現位置のディレクトリとその配下にあるすべてのシンボリックリンクを表示する
find . -type l
・/var/www/trunk配下にあるすべての .svnとなまえのつく"ディレクトリ"を削除する
find /var/www/trunk -type d -name '*.svn' | xargs rm -rf
※xargsコマンドは左辺のコマンドの出力結果をxargsの右辺のコマンドに渡す。
・/etc配下にある全てのファイルの中にhogeという文字列が含まれてるか検索し対象ファイル名を表示する
find /etc -type f -print | xargs grep hoge /dev/null
2014年4月4日金曜日
Java jvmのDNSキャッシュ
インフラがドメインのipアドレスを変更して以降javaからの接続でこけるようになった。
javaではipアドレスではなくURLドメイン名で指定してるから問題ねーだろとおもってら
ダメだった。
ググって調べたら
JVMはデフォルトだと一回でも成功しているDNSキャッシュはずっと保持しつづける設定になっている。とのこと
なんでこんな設定になってるのかはDNSリバインディング対策とからしい
インストールされているjavaの中に
/usr/java/j2sdk1.4.2_13/jre/lib/security/java.security
設定ファイルがある
■jspで現在どのような状態になっているかも下記内容をいれれば確認できる
javaではipアドレスではなくURLドメイン名で指定してるから問題ねーだろとおもってら
ダメだった。
ググって調べたら
JVMはデフォルトだと一回でも成功しているDNSキャッシュはずっと保持しつづける設定になっている。とのこと
なんでこんな設定になってるのかはDNSリバインディング対策とからしい
インストールされているjavaの中に
/usr/java/j2sdk1.4.2_13/jre/lib/security/java.security
設定ファイルがある
下記行がそのデフォルトを示す設定
#networkaddress.cache.ttl=-1
こいつを下記のように
networkaddress.cache.ttl=0
修正した。
networkaddress.cache.ttl (デフォルト: -1)
java.security で指定して、ネームサービスからの名前の検索に成功した場合のキャッシングポリシーを示します。 指定する値は、成功した検索結果をキャッシュする秒数を示す整数です。-1 の値は、「ずっとキャッシュする」という意味です。
networkaddress.cache.negative.ttl (デフォルト: 10)
java.security で指定して、ネームサービスからの名前の検索に失敗した場合のキャッシングポリシーを示します。 指定する値は、失敗した検索結果をキャッシュする秒数を示す整数です。0 の値は、「キャッシュしない」という意味です。 -1 の値は、「ずっとキャッシュする」という意味です。
java.security で指定して、ネームサービスからの名前の検索に成功した場合のキャッシングポリシーを示します。 指定する値は、成功した検索結果をキャッシュする秒数を示す整数です。-1 の値は、「ずっとキャッシュする」という意味です。
networkaddress.cache.negative.ttl (デフォルト: 10)
java.security で指定して、ネームサービスからの名前の検索に失敗した場合のキャッシングポリシーを示します。 指定する値は、失敗した検索結果をキャッシュする秒数を示す整数です。0 の値は、「キャッシュしない」という意味です。 -1 の値は、「ずっとキャッシュする」という意味です。
■jspで現在どのような状態になっているかも下記内容をいれれば確認できる
<%@ page import="java.net.*,java.security.*,sun.net.*" %>
<%
InetAddress inetAddress = InetAddress.getByName("www.google.co.jp");
byte[] address = inetAddress.getAddress();
out.println("Domain Name : "+inetAddress.getHostName() + "<br>");
out.println("IP Address : "+inetAddress.getHostAddress() + "<br>");
out.println("Cache Policy : "+InetAddressCachePolicy.get() + "<br>");
%>
■参考
http://docs.oracle.com/javase/jp/1.4/guide/net/properties.html
http://dev.classmethod.jp/cloud/apache-tomcat-elb-ttl-1/
http://koteitan.seesaa.net/article/95301330.html
http://dev.classmethod.jp/cloud/apache-tomcat-elb-ttl-1/
http://koteitan.seesaa.net/article/95301330.html
ファイル/ディレクトリを削除 rm Linux:command
■rm
rm <対象ファイル名>
rm -r <対象ディレクトリ
rm -rf <対象ディレクトリ> ファイル単位の削除確認をおこなわず一括削除
rm --help
rm *.log 現在のディレクトリ内の .logという拡張時がついているファイルを全て削除する
・オプション
-r ディレクトリ内を再帰的に削除
-f, --force 削除確認をおこなわない
-v, --verbose ファイルを削除する前にファイル名を表示
--help rmコマンドの使用法を表示する
rm <対象ファイル名>
rm -r <対象ディレクトリ
rm -rf <対象ディレクトリ> ファイル単位の削除確認をおこなわず一括削除
rm --help
rm *.log 現在のディレクトリ内の .logという拡張時がついているファイルを全て削除する
・オプション
-r ディレクトリ内を再帰的に削除
-f, --force 削除確認をおこなわない
-v, --verbose ファイルを削除する前にファイル名を表示
--help rmコマンドの使用法を表示する
ファイル/フォルダの圧縮/展開 Linux:command
■zip ・・zip方式は、Windowsでよく使われる圧縮方式・ファイルが対象の場合
zip <圧縮後のファイル名> <圧縮対象のファイル名> ・・元のファイルは残る
・ディレクトリが対象の場合
zip -r <圧縮後のファイル名> <圧縮対象のディレクトリ名> ・・元のディレクトリは残る
■unzip
unzip <展開対象のファイル> ・・元のファイルは残る
zip <圧縮後のファイル名> <圧縮対象のファイル名> ・・元のファイルは残る
・ディレクトリが対象の場合
zip -r <圧縮後のファイル名> <圧縮対象のディレクトリ名> ・・元のディレクトリは残る
■unzip
unzip <展開対象のファイル> ・・元のファイルは残る
登録:
投稿 (Atom)