keima's caprice diary

気付いたことをメモのように綴ります。なるべく義務っぽくならないように気まぐれに記録します。

FTPサーバ構築 centos linux vsftpd ftp

CentOS6系でFTPサーバをサクっと構築するためのメモ。
一応FTPはプレーンテキストで通信をする点を頭においておきたい。
じきに暗号化FTPのメモもこちらへ。。

1. FTPパッケージインスコ
yum -y install vsftpd --downloadonly --downloaddir=/root

2. コメント行削除用スクリプト準備
vi delcom.sh
export TEMPVAR=$1 ; \cp -f $TEMPVAR $TEMPVAR.org ; \cp -f $TEMPVAR $TEMPVAR.tmp ; cat $TEMPVAR.tmp | egrep -v "^#" | egrep -v "^;" | egrep -v "^\n?+$" | egrep -v "^\s?+$" > $TEMPVAR ; rm -rf $TEMPVAR.tmp ; unset TEMPVAR

3. オリジナルコンフィグコピー
. /root/delcom.sh /etc/vsftpd/vsftpd.conf

4. コンフィグ書き換え
#---VVV-----</etc/vsftpd/vsftpd.conf>-----VVV---#
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
idle_session_timeout=300
data_connection_timeout=30
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to KANEPON FTP service.
chroot_list_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
xferlog_std_format=NO
log_ftp_protocol=YES
use_localtime=YES
pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50030
#---AAA-----</etc/vsftpd/vsftpd.conf>-----AAA---#

5. SELINUX無効化&再起動
vi /etc/selinux/config
SELINUX=enforcing -> SELINUX=disabled
reboot

6. hosts.allow書き換え
vi /etc/hosts.allow
#---VVV-----</etc/hosts.allow>-----VVV---#
vsftpd : 192.168.10. 127.0.0.1 192.168.2.
#---AAA-----</etc/hosts.allow>-----AAA---#

7. hosts.deny書き換え
vi /etc/hosts.deny
#---VVV-----<vi /etc/hosts.deny>-----VVV---#
vsftpd : ALL
#---AAA-----<vi /etc/hosts.deny>-----AAA---#

8. 自動起動設定
chkconfig vsftpd on

9. サービス開始
service vsftpd start

 

10. iptables 関連

▼/etc/sysconfig/iptablesに以下を追記
iptables -I INPUT 4 -p tcp --dport 21 -j ACCEPT
▼/etc/sysconfig/iptables-configに以下を追記
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
iptables再起動
seirvice iptables restart

以上。
この後OSにユーザを作成すると、
そのユーザでログイン可能になる。

zabbix snmp コミュニティ設定 community

zabbix でsnmp監視を実施する際、zabbix側に設定する「SNMPコミュニティ」を設定する方法を忘れがちなのでメモ。

 

zabbix > 管理 > 一般設定 > マクロ

マクロ「{$SNMP_COMMUNITY}」の値を任意のコミュニティ文字列にして更新をクリック

以上

centOS rootユーザ sshログインさせない方法

rootユーザをsshログインさせない設定    
    
バックアップ取得    
    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
    
設定変更    
    sed -i -e 's/\#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
    
差分チェク    
    diff /etc/ssh/sshd_config /etc/ssh/sshd_config.org
    
構文チェク    
    sshd -t
    エラーメッセージが表示されなければOK。
    
サービス再起動    
    /etc/init.d/sshd restart

sed(stream editor)でnic設定ファイルを量産

RHEL7でnicの設定変更するのにラクできないかと思った。

 

1. 元々ある(最低限の設定を記述した)ifcfgファイルをコピー

# cp /etc/sysconfig/network-scripts/eth0 /etc/sysconfig/network-scripts/ifcfg-eth1

 

2. コピーした設定ファイルを編集(sedのiオプションで対象ファイルを上書き)
# sed -i -e 's/HWADDR=..:..:..:..:..:../HWADDR=xx:xx:xx:xx:xx:xx/' /etc/sysconfig/network-scripts/ifcfg-eth1
# sed -i -e 's/IPADDR=.\+\..\+\..\+\..\+/IPADDR=xx\.xx\.xx\.xx/' /etc/sysconfig/network-scripts/ifcfg-eth1
# sed -i -e 's/NAME=.\+/NAME=eth1/' /etc/sysconfig/network-scripts/ifcfg-eth1
# sed -i -e 's/DEVICE=.\+/DEVICE=eth1/' /etc/sysconfig/network-scripts/ifcfg-eth1

 

設定後確認後、機器再起動。

ファイルバックアップ シェルスクリプト

backup.sh
#! /bin/bash
cp /etc/samba/smb.conf /etc/samba/smb.conf.`date +%Y%m%d`
ls -alt /etc/samba/

linux centos grep 改行 空白 コメント行 削除

メント行や改行だけの行や空白だけの行を削除するスクリプト

今回の例では「/etc/zabbix/zabbix_server.conf」を対象にした。

処理内容としては、

1. 一時環境変数定義

2. オリジナルファイルのバックアップを作成

3. 不要行削除

4. 一時ファイル削除

5. 一時環境変数削除

以下、スクリプト(one-liner)

---

export TEMPVAR="/etc/zabbix/zabbix_server.conf" ; \
\cp -f $TEMPVAR $TEMPVAR.org ; \
\cp -f $TEMPVAR $TEMPVAR.tmp ; \
cat $TEMPVAR.tmp | \
egrep -v "#" | \
egrep -v "^\n?+$" | \
egrep -v "^\s?+$" > \
$TEMPVAR ; \
rm -rf $TEMPVAR.tmp ; \
unset TEMPVAR

---

Linux コピー 上書き 再帰 強制 エイリアス

CentOs6で上書き確認無しでディレクトリごとコピーする方法。

通常は

cp -rf [src] [dst]

でおk。ただCentOsは通常エイリアスで [-i] オプションが効いているので上書き確認が都度入るので、エイリアスを無効にするために [\] (backslash) をcpの前に置く必要がある。ということで通常は下記になる場合がほとんど。

\cp -rf [src] [dst]

 

zzz....