vsftpd on AmazonLinux

表題の通り。単なるメモである。

■ 環境

  • vsftpd 2.2.2
  • Amazon Linux

■ vsftpd

どうしてもFTPをということなので久方ぶりにvsftpdをインストールした。

$ sudo yum install vsftpd

設定は下記のようにしている。

$ cat /etc/vsftpd/vsftpd.conf
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=NO
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=XXX.XXX.XXX.XXX
pasv_min_port=60001
pasv_max_port=60010
use_localtime=YES
force_dot_files=YES
$

pasv_address“は、対象のインスタンスに付与したEIPのアドレスを設定した。FTPでの接続はごく限られるので”SecurityGroup“で接続元のIPを絞っている。

以上。

標準エラー出力をパイプラインで次に渡す

表題を一部知らなかったのでメモ。

■ 環境

  • Linux
  • Mac OSX El Capitan

■ パイプライン

標準エラー出力をパイプラインで後続のコマンドの標準入力に渡すときはいつも下記のように実行していた。

$ command1 2>&1 | command2

上記のように実行すれば、標準出力と標準エラー出力がともにパイプラインで後続のコマンドに引き渡される。これを下記のようにも書けるようだ。

$ command1 |& command2

|&“は”2>&1 |“の短縮表記だそうである。是非覚えておこう。

以上。

適当なfaviconの設定

nginxにおいて表題の通り。

■ 環境

  • Nginx 1.12.2
  • Amazon Linux

■ favicon

faviconへのアクセスログが大量に出ているので制御したい。設定ファイルに下記を記載する。

location = /favicon.ico {
    access_log off;
    return 200;
}

これでアクセスログが平和になった。

ブラウザに適当な画像をキャッシュさせ、アクセス自体を減らしたければ先日の”empty_gif“を用いて下記のようにすることもできる。

location = /favicon.ico {
    access_log off;
    empty_gif;
    return 200;
}

ただしこれを設定すると、ブラウザのタブ上でも何もアイコンがなくなるので少々わかりづらい。気にならないのであれば構わないが。

以上。

■ 関連

empty_gif

ELBのヘルスチェックログを出力しない

Chrony on Amazon Linux

表題の通り。先日の”Amazon Time Sync Service“の続き。

■ 環境

  • Chrony 3.2
  • Amazon Linux
  • AWS EC2

■ Amazon Time Sync Service

先日は”Chrony“をUbuntuで入れた。今回はAmazonLinuxでやってみる。

$ ps -ef | grep ntp
ntp       2571     1  0 Nov18 ?        00:00:01 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
$

`ntp`が動いているのでこれを停止する。

$ sudo service ntpd stop

chronyをインストール。

$ sudo yum install chrony
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main                                                                                                       | 2.1 kB  00:00:00
amzn-updates                                                                                                    | 2.5 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package chrony.x86_64 0:3.2-1.22.amzn1 will be installed
--> Processing Dependency: libseccomp.so.2()(64bit) for package: chrony-3.2-1.22.amzn1.x86_64
--> Running transaction check
---> Package libseccomp.x86_64 0:2.3.1-2.4.amzn1 will be installed
--> Processing Conflict: chrony-3.2-1.22.amzn1.x86_64 conflicts ntp
--> Finished Dependency Resolution
Error: chrony conflicts with ntp-4.2.6p5-44.34.amzn1.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
$

`ntp`とconflictしていると怒られた。というわけで`ntp`の削除を実施してから再度実行する。

$ sudo yum remove ntp
 :
$ sudo yum install chrony

あとは前回と同じように設定を入れ込む。

server 169.254.169.123 prefer iburst

設定ファイルはUbuntuの時とは違い、下記にあった。

/etc/chrony.conf

またサービス名もUbuntuの時は”chrony“であったが、こちらでは”chronyd“であった。ansibleのplaybookにする時等はいつものように注意が必要だ。

$ sudo service chronyd start

以上。

■ 関連

Amazon Time Sync Service

logrotate: ALERT exited abnormally with [1]

表題のメッセージが”/var/log/messages“に出力されていた。

■ 環境

  • CentOS 6.9

■ logrotate

最近変更はしたが、変更時には下記コマンドで確認していた。

$ logrotate -d [変更したファイル]

上記でエラーが出ていないことは確認していたのだが、今回このメッセージが出ているのは何故であろう…。いつから出力されているのかまでは追っていないがとりあえず現状で問題が無いかを確認する。

まずは直近で変更したファイルを元にlogrotateされる対象のファイルが、現在正しくlogrotateされているかを確認してみると問題なくされていた。続いてコマンドで確認する。

$ logrotate -vd /etc/logrotate.conf

上記にて、直近で変更したファイルだけでなく全てを対象として確認したのだが、目で見る限りエラーのような箇所はない。下記コマンドでも確認したが何も見つからない。

$ logrotate -vd /etc/logrotate.conf |& grep ^error
$

しばらく様子を見ることにする。

以上。