FTP のSELinux 設定

WinSCP やSSH があるのでたぶん、使わないと思ったのでしばらく忘れていた vsftp が久しぶりにつながらなかったので設定をgoogle 検索しました。

SELinux コンテキスト設定

# setsebool -P ftp_home_dir 1

HOSTS ファイル設定

# vi /etc/hosts.allow
  vsftpd:192.168.0.  ←(追記

やっぱり使わないですよね。

(以下加筆

ホームディレクトリから上位階層が見える問題を解消しました。

vftpdでユーザごとに上の階層に移動できないように制限する – [Swb:]渋谷に住むWEBデザイナの備忘録

# vi /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES  ← チェックを外す
chroot_list_file=/etc/vsftpd/chroot_list ← チェックを外す
chroot_local_user=YES ← 追記

# vi /etc/vsftpd/chroot_list (ファイル生成
# service vsftpd restart (vsftpd 再起動

(加筆ここまで

※過去ログ Linux をWindows のファイルサーバーにする

Linux にsamba をインストールしてみました。(私の環境でうまくいったよ~という話でベストプラクティスではありません。)参考URL:Windowsファイルサーバー構築(Samba) – CentOSで自宅サーバー構築

# yum install samba

iptables のファイアウォールのポート解放。Windows 側のセキュリティソフトがあれば、ローカルサービスのTCP とUDP のポート135~139 445 をプライベートネットワークで受信許可して下さい。service iptables restart で設定反映。

# vi /sysconfig/iptables
・・・
-A INPUT -p tcp -m tcp --dport 135:139 -j ACCEPT
-A INPUT -p udp -m udp --dport 135:139 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
・・・
# service iptables restart

ここでSamba ユーザー登録。Linux のユーザー名で、Windowsのアカウント名と同名に限ります。が、一時的にWindows のアカウント名をLinux 側に合わせて変更し、一度資格情報を保存すればWindows側 のユーザー名は元に戻してもアクセスできました。

# pdbedit -a gusachan
new password
retype new password

設定ファイルを編集します

# vi /etc/samba/smb.conf
・・・
[global]
・・・
 workgroup = WORKGROUP
    server string = SECURENET
・・・
    passdb expand explicit = no

Samba ファイルサーバー起動

# service smb start
# service nmb start
# chkconfig smb on
# chkconfig nmb on

エクスプローラ起動
samba_securenet

Windows ネットワークにサーバーが見えました。クリックすると「・・アクセス許可がありません」と蹴られました。ディレクトリを作成してSELinux のコンテキスト設定します。

# mkdir /home/gusachan/samba/
$ mkdir /home/samba/share (訂正 root権限で作成するとアクセス不可
# chcon -t samba_share_t /home/samba/share -R

samba_gusachan

フォルダが表示されました。

追記)表示されたフォルダにアクセスできるか検証したところ、ディレクトリの所有権がroot になっており、書き込み、フォルダ作成不可でした。追加で所有権変更コマンド

# chown -R samba:samba /home/samba/share/

としました。(本来は最初から、ユーザー権限でディレクトリ作成すれば良いです。上記訂正してお詫び申し上げます。)

HDD クローン作製

1TバイトのHDD で運用を始めて早速、amazon.co.jp で同型のHDD を注文しました。
Seagate 内蔵HDD Desktop HDDシリーズ (1TB / 3.5″ / SATA3.0 / 7,200rpm) ST1000DM003

20151019041529

 

決して安い買い物ではありませんでしたが、致し方ありません。クローン開始。

 

20151019041421

クローンに掛かった時間は、東芝 DT01ACA050  と比べて倍の時間がかかるかと思いましたが2.5 2時間弱で完了。ただ、静音性に関しては東芝製の500Gバイトのものの方が、静かなように思いました。静音ジェルパッド 【防振ゴムを超える防音性能】 なども試してみましたが効果はあまりなかったです。

RAID1 を認識してクローンバックアップ成功です。

ServerView RAID Manager をインストールする

Oracle のホームページから、Linux Firefox 用のJava を以下のページ
全オペレーティング・システム用のJavaのダウンロード
http://www.java.com/ja/download/manual.jsp

から、 Linux x64 ファイルサイズ: 68.4 MB を選択しダウンロードし、(2015年10月15日現在 jre-8u60-linux-x64.tar.gz)下記コマンドでインストール、

# mkdir -p /usr/java/
# cd /usr/java/
# tar zxvf /tmp/jre-8u60-linux-x64.tar.gz
# mkdir -p /usr/lib64/mozilla/plugins
# cd /usr/lib64/mozilla/plugins
# ln -s /usr/java/jre1.8.0_60/lib/amd64/libnpjp2.so

Firefox のアドオン( [Ctrl]+[Shift]+[A] ) からJava Plugins を有効にします。

Fujitsu のサイトPRIMERGY(プライマジー) > ダウンロード検索 : 富士通 から、ServerView RAID Manager をダウンロード、RHEL6 – PYT10PT3S – F1020222.exe ( 238050542 bytes ) 展開

# rpm -ivh (ファイルパス)/ServerView_RAID-6.1-4.el6.x86_64.rpm

してインストール完了、ブラウザから表示できました。

ServerViewRAIDManager

 

 

raidmanager

ServerView RAID Manager ユーザーズガイド(Fujitsu PDF)

通信障害のお詫び

昨日の夜から、ieServer(Dynamic DnsService) のDiCE の設定中、システムの世界時計の同期に失敗してルーターのntpポート開放が必要になりました。ルーターを再起動してIPが変わったのでDNS への登録に手間取り、BIND、レジストラのDNSテーブルの更新、DiCE設定に時間が掛かりました。この時間、閲覧していた方にはご迷惑をおかけしました。お詫びします。

Linux コマンド、ショートカット集

 

vi_etc_hosts_deny

UNIX系OSのコマンドやファイル操作を行う端末、vi(ヴイアイ)エディタの良く使うコマンド、ショートカットを集めてみました。

ファイルを開く vi ファイル名
コマンドモード
[Insert] キー ↓ ↑ [esc] キー
挿入モード
insert_etc_hosts_deny

コマンドモード[esc] で

先頭行に移動する gg
最下行に移動する G
カーソルの1文字削除 x
カーソル行の1行切取り dd
カーソル行の1行コピー yy
カーソル行下に貼付け p
ファイルを閉じる :q
ファイルを保存する :w
エディタを閉じる exit

応用編
ファイルを上書き保存して閉じる:wq
ファイルを強制的に閉じる:q!
ファイルを強制的に保存:w!
カーソル行から3行切り取り 3dd
カーソル行から3行コピー 3yy
カーソル行にキャッシュを貼付け p
ファイルを名前を付けて保存 :w sample.conf

上級編
行番号を表示したいときには? :set nu
行番号を非表示にするには? :set nonu
直前の操作を取り消す(アンドゥ) u
直前の操作を再実行する(リドゥ) .
特定の文字列を検索するには? /文字列 (次の候補 n 前の候補 N )

Xウィンドウでの操作は、OS共通のショートカットがあり、例えば
エクスプローラの窓を閉じるには、[Ctrl]+[W] (すべて閉じるには、[Ctrl]+[Q] )

Ctrl+Q

Alt+Space
[Alt]+[Space] で、[左上隅のアイコン右クリック]の表示メニューから [C] (閉じる) が選べます。

Linux では仮想コンソールといって別プロセスで端末操作が出来るショートカットがあり、CentOS6 では
[Ctrl]+[Alt]+[F1]
[Ctrl]+[Alt]+[F2]
[Ctrl]+[Alt]+[F3]
[Ctrl]+[Alt]+[F4]
[Ctrl]+[Alt]+[F5]
[Ctrl]+[Alt]+[F6]  に割り当てられています。Xウィンドウに戻るには、[Alt]+[F1] です。

仮想コンソールを無効にするには、/etc/sysconfig/init のACTIVE_CONSOLES=/dev/tty[1-6] を、

ACTIVE_CONSOLES=/dev/tty1

に変更保存して再起動です。

pam によるSSHのIP制限

以前、 HOSTSファイルによるSSHのIP制限 をエントリーしましたが、TCP Wrapper を通るサービス自体が減っており、libwrap ライブラリを利用するサービスは現在、SSH, PostFix 位しかありません。 ldd /usr/sbin/sshd | grep libwrap コマンドでHOSTSファイルが利用できるかどうか、確認が出来ます。しかし今回は、pam(Pluggable Authentication Module)によるSSH のIP 制限の方法をご紹介します。

ユーザ、アクセス元IPアドレスでsshの接続制限をする

詳しい設定は、OpenSSH – IP制限かつユーザの制限を同時に行う – Qiita にありますが、とりあえずローカルネットのユーザーのみに制限する方法として、

/etc/pam.d/sshd

#%PAM-1.0
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    required     pam_access.so (新規追加
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth

/etc/ssh/sshd_config

UsePAM yes

/etc/security/access.conf

- : gusachan : ALL EXCEPT 192.168.0.0/24
# service sshd restart

pam には他にもroot になれるスーパーユーザーをWheel グループのみに制限する、 /etc/pam.d./su もありますね。

auth  required pam_wheel.so use_uid (コメントアウト

参考:http://fnya.cocolog-nifty.com/blog/2012/03/centos-6aa8.html

RAID1 リビルド失敗

その後、フォーマットしてパーティションしたHDD でRAID1 を構築しようとmdadm コマンドで/dev/md0 を作ろうとしましたが、busy と言われて受け付けてくれません。

# mdadm --create /dev/md0 --auto=yes --level=raid1 --raid-devices=2 missing /dev/sdb1
mdadm: Cannot open /dev/sdb1: Device or resource busy

仕方がないので、LSI Software RAID Configuration Utility 画面から、Rebuild メニューで500GB HDD を15時間掛けてリビルドしました。が、結果は失敗。

20151011035424

OS起動時に、Kernel Panic しました。GRUB から起動OS のバージョンを変えたり、シングルユーザーモードも試しましたが結果はNG。

Kernel panic - not syncing : Attenpted to kill init !
Pid : 1. com , : init Not tainted 2.6.32-573.7.1.el6.x86_64

RAID モードを解除して、AHCI モードでかろうじて起動しましたがユーティリティ画面でRAID 設定をやり直したところ、生きているHDD データも壊してしまいました。(涙目

wrong fs type bad option . bad superblock on /dev/sdb3
missing codepack or helper program . or other error
It some cases useful info is found in syslog . try dmesg

都合、4台の500GB HDD データを潰したことになりますが、予備で1TB のRAID1 HDD がありましたので交換。7月時点のバックアップでしたが、

・・・生きていました!無事ってすばらしい。

こんなこともあろうかと、Wordpress の投稿、画像は、[ダッシュボード] → [ツール] → [エクスポート] で、幸いバックアップを取って置いたのでインポートしてセーフでした。wordpress/wp-content/uploads/ の画像ディレクトリも保存していましたのでフォルダを転送するだけでした。後は、演習用のApache2 LAMP 構築の残骸を復習するくらいです。しかし、Bonding とLSI Software RAID Configuration Utility はなんとも克服しがたい鬼門ですね。サーバーを運用するためには、バックアップのスキルを高めたい所なのですが難しいですね。データ破壊したHDD はCentOS7 でも入れる予定です。

RAID1 HDD のフォーマット

またBonding の設定を誤ったので、RAID1 を組んでいるHDD 2台を取り出してクローン復元しようとした際に、HDD を書き潰してしまいました。フォーマットしようとして、fdisk -l /dev/sda でパーティションを見てみるとシリンダ境界が重なっていて fdisk /dev/sdb できません。

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1          39      307200   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2              39         561     4194304   82  Linux スワップ / Solaris
パーティション 2 は、シリンダ境界で終わっていません。
/dev/sda3             561       60667   482801664   83  Linux

そんな時は、fdisk -lu コマンドでセクタ単位で境界を調べることが出来ます。

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048      616447      307200   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2          616448     9005055     4194304   82  Linux スワップ / Solaris
パーティション 2 は、シリンダ境界で終わっていません。
/dev/sda3         9005056   974608383   482801664   83  Linux

fdisk /dev/sdb の後、コマンド:u でセクタ単位でのパーティション指定が可能です。

コマンド (m でヘルプ): u
セクタ数 の表示/項目ユニットを変更します
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1   *        2048      616447      307200   83  Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sdb2          616448     9005055     4194304   82  Linux スワップ / Solaris
パーティション 2 は、シリンダ境界で終わっていません。
/dev/sdb3         9005056   974608383   482801664   83  Linux

NICドライバーの更新

Download Network Adapter Driver for PCI-E Gigabit Network Connections under Linux*

CentOS6 のNICドライバーの更新をIntel ホームページからダウンロード。(2015年10月4日現在最新版は、e1000e-3.2.4.2.tar.gz)

linuxでintelのギガビットイーサカードを使いたい。 ~e1000とe1000eドライバを更新する を参考に解凍。

# tar zxvf e1000e-3.2.4.2.tar.gz
# cd /home/gusachan/e1000e-3.2.4.2/src
# make install

make install したところ、Kernel header files の場所が違うと怒られました。

Makefile:67: *** Kernel header files not in any of the expected locations.
Makefile:68: *** Install the appropriate kernel development package, e.g.
Makefile:69: *** kernel-devel, for building kernel modules and try again.  中止.

kernel-develが見つからずrpmbuildがエラーになる  を参考に、カーネルバージョン確認。 Kernel-devel をインストールしてmake install

# uname -a
Linux stuffy.mydns.jp 2.6.32-573.7.1.el6.x86_64
# yum install kernel-devel-2.6.32-573.7.1.el6
# make install

して更新成功しました。