アーカイブ

‘Linux’ カテゴリーのアーカイブ

postfix で loops back to myself のエラー

2016 年 12 月 13 日 コメントはありません

postfixでローカルホストにtransport_mapsでスタテック配送
しようとした時のエラー

status=bounced (mail for 127.0.0.1 loops back to myself)

ローカルのPostfixでなくて、別のqmailが立ち上がっているのにでるようなので

example.com         smtp:[127.0.0.2]

とかってごまかした。

Postfixで受けるつもり(ループするんじゃね?)ならmydestinationに
登録されていれば問題ないと思われます。

カテゴリー: Linux タグ:

CentOS7 で suPHP のインストール

2016 年 10 月 10 日 コメントはありません

SuExecでphp-cgiはサイトが増えるとアップデートするときとか面倒なイメージがあるのででsuPHPにしようとおもったら、CentOS7はパッケージにはなっていない模様。
ちょっとポリシーに反するのですが、ソースからいれてみたメモ
 
 
インストールに必要なパッケージをインストール

yum install apr-devel httpd-devel libtool gcc-c++

 
 
パッケージのダウンロードと展開

wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar zxvf suphp-0.7.2.tar.gz

 
 
CentOS7ではちょっと修正が必要なようなのでパッチを作ってくれた人のものをダウンロード
最後の参考URLより拝借

wget -O suphp.patch https://lists.marsching.com/pipermail/suphp/attachments/20130520/74f3ac02/attachment.patch
patch -Np1 -d suphp-0.7.2 < suphp.patch

内容は以下のような感じApache2.4に対応してないのかな?

diff -uN a/configure.ac b/configure.ac
--- a/configure.ac	2013-05-20 19:26:56.000000000 +0300
+++ b/configure.ac	2013-05-20 20:33:03.616154646 +0300
@@ -66,7 +66,7 @@
                     | cut -f2 -d"/" \
                     | cut -f1 -d" "`
     major_version=`echo $APACHE_VERSION|cut -f1,2 -d.`
-    if test "$major_version" = "2.0" -o "$major_version" = "2.2"; then
+    if test "$major_version" = "2.0" -o "$major_version" = "2.2" -o "$major_version" = "2.4"; then
       APACHE_VERSION_2=true
       APACHE_VERSION_1_3=false
     else

 
 
コンパイルしてインストール

cd suphp-0.7.2
aclocal && libtoolize --force && automake --add-missing && autoreconf
./configure --with-apr=/usr/bin/apr-1-config   --with-apache-user=apache --with-min-uid=1000 --with-min-gid=1000
make
make install

 
 
設定ファイル配置

cd doc
cp suphp.conf-example /usr/local/etc/suphp.conf
面倒なので/etcへリンクしておく
ln -s /usr/local/etc/suphp.conf /etc/suphp.conf

 
 
設定ファイル1(suPHP)
suphp.conf 変更点抜粋

logfile=/var/log/httpd/suphp.log
webserver_user=apache
docroot=/var/www/html
umask=0022
min_uid=1000
min_gid=1000
;x-httpd-php="php:/usr/bin/php"
application/x-httpd-php="php:/usr/bin/php-cgi"

 
 
設定ファイル2(Apache)
/etc/httpd/conf.d/suphp.conf

LoadModule suphp_module modules/mod_suphp.so
suPHP_AddHandler application/x-httpd-php

 
 
設定ファイル3(Aapche VirtualHost)
全体としてモジュール版も有効にしつつ、特定のDirectoryだけsuPHPを有効にする場合

  <Directory /var/www/html/sample>
     Options FollowSymLinks
     AllowOverride All
     suPHP_Engine    On
     suPHP_UserGroup sampleftp sampleftp
     <IfModule mod_php5.c>
        php_admin_flag engine off
     </IfModule>
  </Directory>

 
 
<参考>
How to install SuPHP on CentOS 7.2

カテゴリー: Linux タグ:

CentOS7のFirewalldでサービス追加

2016 年 10 月 10 日 コメントはありません

CentOS7からiptablesからfirewalldになったのでそのネタ
firewall-cmd –get-services したサービス以外を追加したい場合

firewall-cmd --zone=public --add-port=8080/tcp
firewall-cmd --zone=public --add-port=8080/tcp --permanent

な感じでもポートを直接追加してもいいのですが、ちゃんとした
名前をつけたいよということであれば、

元ファイル

/usr/lib/firewalld/services/*.xml
/usr/lib/firewalld/icmptypes/*.xml
/usr/lib/firewalld/zones/*.xml

オーバライド用フォルダ

/etc/firewalld/services/*.xml
/etc/firewalld/icmptypes/*.xml
/etc/firewalld/zones/*.xml

元ファイルを参考に「/etc/firewalld/」へファイルを作成すれば、サービス名の名前で参照可能。
FTPとかSambaとかmoduleを読み込ませたい場合は、これでサービス作るといいのかな?
FTPのポート変たけど「nf_conntrack_ftp」読み込まれないとか。

カテゴリー: Linux タグ:

yumのエラーの件 (2.024 is needed by package perl-IO-Compress-2.024-1.el5.rf.noarch (installed))

かなりほったらかしのCentOS5のyumをアップデートしようとしてエラー

--> Finished Dependency Resolution
perl-IO-Compress-2.024-1.el5.rf.noarch from installed has depsolving problems
  --> Missing Dependency: perl(Compress::Raw::Zlib) = 2.024 is needed by package perl-IO-Compress-2.024-1.el5.rf.noarch (installed)
perl-IO-Compress-2.024-1.el5.rf.noarch from installed has depsolving problems
  --> Missing Dependency: perl(Compress::Raw::Bzip2) = 2.024 is needed by package perl-IO-Compress-2.024-1.el5.rf.noarch (installed)
Error: Missing Dependency: perl(Compress::Raw::Bzip2) = 2.024 is needed by package perl-IO-Compress-2.024-1.el5.rf.noarch (installed)
Error: Missing Dependency: perl(Compress::Raw::Zlib) = 2.024 is needed by package perl-IO-Compress-2.024-1.el5.rf.noarch (installed)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.

原因は、「perl-IO-Compress」パッケージが、rpmforgeリポジトリからrpmforge-extrasに移ったので、見つからなくなったせい。

yum update rpmforge-release
yum update --enablerepo=rpmforge-extras perl-IO-Compress

「rpmforge-release」を更新して、「perl-IO-Compress」を「rpmforge-extras」からアップデートすればいいのですが、とかなり前にメモっておいたのですが、RepoForgeのインストール用のrpmがダウンロードできんのやけど、ミラーはありそうだけどどうなんやろ
 
dag → RPMForge → RepoForge で変わったんだっけなーと思いつつ。最近は、混ぜるな危険ということであまり外部リポジトリは極力いれない運用にしています。

 
 
◆参考
https://wiki.centos.org/AdditionalResources/Repositories(Available Repositories for CentOS)

カテゴリー: Linux タグ:

Apache (mod_security) で WAF (Web Application Firewall)

CentOS7(RHEL7)から標準になっていた模様(CentOS6はEPELからインストール可能)
昔のコンパイルしてインストールしないといけないイメージがあったので、やめてたのですが標準にはいってるのならいれてみようかなというところでメモ。

◆CentOS7へインストール

yum install mod_security mod_security_crs

◆CentOS6へインストール

yum install epel-release
yum --enablerepo=epel install mod_security mod_security_crs

 
◆設定
とりえあず、検知だけにしたい場合は「DetectionOnly」にする
/etc/httpd/conf.d/mod_security.conf

< #SecRuleEngine On
> SecRuleEngine DetectionOnly

 

◆確認

http://ホスト名/?union+select

 
◆その他
とはいいつつmod_security_crsをインストールするとそれなりのシグネチャファイルとなりそうですが、検知ログがいっぱい出てきて結局止めていいのかどうが悩ましいところ。しかもログが見にくい。

 
◆その他2
ログ確認に関しては、AuditConsoleを使うとGUI的に見やすくなりそうなんですが、Javaのアプリかよー面倒だなー

カテゴリー: Linux タグ:

CentOS7 コンソールの解像度変更

VMwareのコンソールで作業中、デフォルトだと大きい解像度になってしまいコンソール表示だとめんどくさいんだよっ!ってことで小さくしてみた。
起動時のKernelパラメータにセットするだけなのですが、grub2なのでどこに書くようになったんだろうということで調べたのでメモ
 
CentOS6までは「/etc/grub.conf」あたりでよかったのですが、grubの定義を書いて更新するようになった模様。
 
/etc/default/grub

> GRUB_CMDLINE_LINUX="rhgb quiet"
< GRUB_CMDLINE_LINUX="vga=771"

ついでに「rhgb quiet」を消すと起動時の経過がズラズラと出ます
 

grub2-mkconfig -o /boot/grub2/grub.cfg

 
EFIの場合は、以下の模様
「-o /boot/efi/EFI/redhat/grub.cfg」(RHELの場合)
「-o /boot/efi/EFI/centos/grub.cfg」(CentOSの場合)
 
 
→vgaの数値の意味

番号 解像度:色数
771  800×600:256色
773  1024×768:256色
775  1280×1024:色
788  800×600:6万5000色
791  1024×768:6万5000色
794  1280×1024:6万5000色
789  800×600:1600万色
792  1024×768:1600万色
795  1280×1024:1600万色

 
 
<参考>
めもめも

カテゴリー: Linux タグ:

CentOS ディスクの UUID 確認

CentOS6ぐらいから/etc/fstabにマウントがUUIDがデフォルトになったので合わせてみる

# blkid /dev/sdb1
/dev/sdb1: LABEL="label" UUID="6f957c6e-3042-4302-9bc6-767e9f816ceb" TYPE="xfs"

長いし覚えれないし、とても面倒なんだけど、構成が変わったり、ラベルがダブったりした時にトラブルを回避できるメリットはあるのかなぁ?

/etc/fstab(例)
UUID=6f957c6e-3042-4302-9bc6-767e9f816ceb /home/samba                       xfs     nofail        0 0

豆知識、マウントオプションをdefaultsでなくnofialにしておくと、マウント失敗しても起動時に止まらずに無視して起動する模様(single user modeにならない)

カテゴリー: Linux タグ:

CentOS7 のロケールとタイムゾーンとキーマップ

CentOS7(RHEL7)のロケール、タイムゾーン、キーマップの変更方法
通常インストールでは不要ですが、OpenVZでCentOS7のテンプレート使った時に設定したくなったのでメモ

◆確認

# localectl status
   System Locale: LANG=C
       VC Keymap: n/a
# localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp

◆ロケール(locale)の変更

# localectl set-locale LANG=ja_JP.UTF-8
# localectl set-locale LANG=ja_JP.eucjp

「/etc/locale.conf」に書いてある
 
◆キーマップ

# localectl set-keymap jp106
# localectl set-x11-keymap jp

◆タイムゾーン
確認

timedatectl

変更

timedatectl set-timezone Asia/Tokyo
カテゴリー: Linux タグ:

CentOS7 「/」にquotaを設定

ふつう「/」にはquotaかけないのかもしれませんが、CentOS7でかけたくなったらうまくできなくて調べたのでメモ

通常のLinuxの場合、
/etc/fstab

UUID=xxx    /    xfs     defaults,usrquota        0 0

で、usrquotaを追加してリブートなりremountすればいいはずなのですが、

mount

/dev/sda1 on / type xfs (rw,relatime,attr2,inode64,noquota)

となって、マウントオプションが変更(usrquotaがつかない)できません。
 
 

ということで、grubの起動時のマウントオプションを変更します。

/etc/default/grub
rootflags=usrquota とか rootflags=usrquota,grpquota を追加

GRUB_CMDLINE_LINUX="rhgb quiet rootflags=usrquota"

 

grub2の更新

grub2-mkconfig -o /boot/grub2/grub.cfg

 

再起動

reboot

 

mount確認

/dev/sda1 on / type xfs (rw,relatime,attr2,inode64,usrquota)

usrquota オプションがONになりました。
 

#XFSファイルシステムはquotacheckとかquotaonとかは不要のようです。
#edquotaで設定すればOKのようです。
 

<参考>
Enabling Quotas in CentOS7

カテゴリー: Linux タグ:

MySQL(MySQL server has gone away)

MySQLのバックアップをリストアしようとしたら「MySQL server has gone away」となったので調査
 

# mysql -u UserName -p DBName <  xxx.dmp
Enter password:
ERROR 2006 (HY000) at line 225: MySQL server has gone away

 
メモリが足りないようなので「max_allowed_packet = 32M」とかってするといいらしいので「/etc/my.cnf」に追加して再起動なのですが、うまくいかず数分ハマった。
適当に最後に入れてたのですがちゃんと入れるところにいれないとダメなのでメモしておく。

[mysqld]
max_allowed_packet = 32M   ←[mysqld]に入れる

[mysqld_safe]
カテゴリー: Linux タグ:

うるう秒

2015/07/01にうるう秒でした。今年は平日(水曜)の朝9時だったのでなんかあると困ったのですが、予定通り何事もなくクリア。
 
いつものログがでるのでメモ程度に。

Clock: inserting leap second 23:59:60 UTC
カテゴリー: Linux タグ:

pukiwiki 1.4.7 の PHP5.4対応 (1.5リリース)

2014 年 10 月 15 日 コメントはありません

使ってないから気がつかなかったのですが(^^;、CentOS7にしてPHP5.4なったらPukiwikiが動かなくなっていたのでメモ
 
(なんと)PHP5.5に対応した1.5がリリースされていたので、1.4.7だったなら、1.5へアップデートする差分があるのでパッチすればOK
 
PukiWiki/Install/Update/1.5.0(pukiwiki)
 
1.5にできない理由があればほぼ同じと思いますがPHP5.4に適応するパッチあり
BugTrack2/353/PHP5.4対応版(pukiwiki-dev)

カテゴリー: Linux タグ:

Linuxのbashの件(ShellShock)

パッチが何回もでて大変面倒なのですが、一応おさまってきたようなのでメモ(CentOS,RHELのみ)
 
bash自体はログインしてないとあまり使うことはないと思いますが、PHPやPerlなどのWebサイトから呼び出しされると(大変)危なそうな感じです。
 
CentOS 5,6,7はメンテナンス中なので対応済みパッケージのインストール「yum update bash」でおしまい

bash-3.2-33.el5_11.4 (RHEL5,CentOS5)
bash-4.1.2-15.el6_5.2 (RHEL6,CentOS6)
bash-4.2.45-5.el7_0.4 (RHEL7,CentOS7)

 
 
で、CentOS4(RHEL4)とかって、ぶっちゃけまだあるわけですよ(^^;
どうしたもんだと思ったら、RHEL4の延長サポート中でパッケージがでてて、どうもOracle Linuxのほうはソースが公開されているらしいってことで、そっちからとってこればいれれそうとのこと。(オープンソースバンザイ(笑))
 
Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169)(redhat)
 
この投稿時点では「bash-3.0-27.0.3.el4.src.rpm」が最新

wget  https://oss.oracle.com/el4/SRPMS-updates/bash-3.0-27.0.3.el4.src.rpm
rpmbuild --rebuild ./bash-3.0-27.0.2.el4.src.rpm
cp /bin/bash /bin/bash.old
rpm -Uvh /usr/src/redhat/RPMS/i386/bash-3.0-27.0.3.i386.rpm

 
 
 
<関連>
[CentOS] CentOS4のリポジトリ(vault.centos.org)(1w1.org)

カテゴリー: Linux タグ:

[Linux] rshのポート

なんだよいまさらrshって感じですが、RHEL6のサーバからrshで違うサーバに
処理を起動したくて調べたのでメモ

Linuxサーバはiptablesで、INPUTは必要なポートだけACCEPTでそれ以外はDROP、OUTPUTは制限無しでACCEPTって感じで、自分起動だしOUTPUTはACCEPTちゃうんけ?なんで繋がらん?orz
 
そもそもrshなんて自分の歳でもかなり過去のもんだし(–;、Linux同士ならSSHでいいっしょ、まぁ今回はLinuxじゃないんだけどね。
 
ということで、iptablesでフィルタしたログとったりしてわかったのは、

1. rsh-client は rsh-serverに対して514/tcp で接続
2. rsh-server は rsh-clientに対して1011/tcp~1023/tcpの間のポートで繋いでくる

というシーケンスだった模様、そもそも知らんかった。
FTPみたいな感じだねーと思うけど、iptablesでもFTPだったらip_conntrack_ftp,ip_nat_ftpで対応できるがRSHは無理じゃん。
今回の案件は相手は不特定ではないけど、増減あるので都度iptablesも変更できないので開けるの面倒じゃん(__;
ってことで、1011~1023の間を開けるという安直なフィルタで対処。iptables止めちゃおうって選択よりはマシだろう。

iptables -A input_rule -p TCP  -j ACCEPT --dport 1011:1023

 
<参考URL>
Error: “poll: protocol failure in circuit setup” using RSH to execute commands(Novell Knowledgybase)

カテゴリー: Linux タグ:

CentOS6でデュアルディスプレイ

WindowsXP対応であまってきたマシンをLinuxで監視端末にしちゃおう計画。
GeForce6200(PCI)のカードがあったのデュアルディスプレイにしてみようと思って、今どきのLinuxは挿せば見えるようになるかと思ったらそうでもなかったのでメモ

作業内容
・CentOS標準のnouveauでもシングルは問題なさそうですが、デュアルはできなさそうなのでベンダー提供のドライバをインストールする
・nouveauのモジュールを停止する(nVidiaのベンダードライバをいれるため停止)

その他準備
・nVidiaドライバの件
GeForce6200の場合、nVidiaのトップからたどってダウンロードすると「NVIDIA-Linux-x86-325.15.run」とかですが、これをインストールしようとするとGeForce6200はLegacyなので「304.xx」にしろとでるので、以下の記載のURLより、ダウンロードしておく。
http://www.nvidia.com/object/unix.html

WARNING: The NVIDIA GeForce 6200 GPU installed in this system is supported
           through the NVIDIA 304.xx legacy Linux graphics drivers.  Please
           visit http://www.nvidia.com/object/unix.html for more information.
           The 325.15 NVIDIA Linux graphics driver will ignore this GPU.

・必要なモジュール
カーネルモジュールが必要なのでコンパイラとKernelのdevelをインストールしておく

yum install gcc kernel-devel 

 
 
1.nouveauのモジュールを停止
「/etc/grub.conf」の「kernel」行に「nouveau.modeset=0」を追記して一旦リブートする。

2.Runlevelを3にする
root端末より「init 3」としてX-Windowを停止する

3.nVidiaのドライバをインストール
インストーラーを起動して適当(笑)に返答してインストールする
#ちゃんとメモってなかった

sh ./NVIDIA-Linux-x86-304.119.run

4.再起動してX-Windowが起動
システムー>設定ー>NVIDIA X Server Sttings (だったかな)があるのでそこで設定を行う
デュアルディスプレイはTwinViewにする。

カテゴリー: Linux タグ:

Apacheのファイル一覧のカスタマイズ

Apacheのファイル一覧(Indexes)の表示をイイ感じにする件
ファイル自体は、FTPなりSCPなりでアップロードして配置してダウンロード専用サイト用を作成する用メモ

◆h5ai
「DirectoryIndex」にPHPのプログラムに食わせるパターン
アイコンの大きさとかも変更できたりかなりいい感じに見せることができそう
h5ai

◆Apaxy
「mod_autoindex」を使用してカスタマイズ
Apaxy

カテゴリー: Linux タグ:

wgetでHTTPヘッダ情報を取得する

2013 年 12 月 27 日 コメントはありません

ちょっと使ったのでメモ

wget -S --spider URL

–spider は確認だけでダウンロードしない。
 
 
または

curl --head URL
カテゴリー: Linux タグ:

CentOS6でNFSv3をマウント

2013 年 12 月 15 日 コメントはありません

CentOS6(RHEL6)でCentOS2(古っ(笑))のNFSをマウントしようと思って調べたのでメモ
CentOS6からNFSクライアントはVer4がデフォルトなので古いNFSサーバにつなぎに行くと繋がらない件。

◆その1
それぞれのNFSマウント時に設定する
mountオプションに「vers=3」をつける(fstabならオプションのところにいれる)

mount -t nfs -o vers=3 nfssv:/home/temp /mnt/test

◆その2
NFSマウントの際のデフォルト値を変更
「/etc/nfsmount.conf」の「Defaultvers」を設定

Defaultvers=3

◆その他
必要なサービス

rpcbind  (CentOS5ぐらいまでははportmap)
nfs
nfslock

◆その他2
NFS「サーバ」になる場合でVer3にしたい(Ver4を使用しない)場合(あまり意味ない?)
/etc/sysconfig/nfs

# Turn off v4 protocol support
#RPCNFSDARGS="-N 4"
カテゴリー: Linux タグ:

CentOS6 の GDM で自動ログイン

CentOS6からと思いますが、マシン起動時に自動ログインしたくなったのですが、メニューになくなったようなので調べたのでメモ
セキュリティは無いですが、監視マシンとかで電源いれたら自動で画面を出したい用途向け。

Windowsだったら「control userpasswords2」で設定するやつです。

で、ググってどこかのサイトで見つけたのですが、引用元がどっかいってしまったのですが、以下のように設定します。

/etc/gdm/custom.conf

# GDM configuration storage

[daemon]
TimedLoginEnable=true
TimedLogin=ログインユーザ名
TimedLoginDelay=3

[security]

[xdmcp]

[greeter]

[chooser]

[debug]

カテゴリー: Linux タグ:

CentOS6.5

カテゴリー: Linux タグ: