AWS CLI + MFA を試してみた
awsmfa を利用してみた
コマンドを一発打つだけで一時セッションが発行される
- MFA設定した環境でもコマンド一つでセッションが保存されるため特に困らない
- ただ、yubikeyなどの物理キーがないときにMFAのsecret をどう保存したらよいかがわからなかった
設定したポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllDenyWithoutMFA", "Effect": "Deny", "Action": [ "*" ], "Resource": [ "*" ], "Condition": { "BoolIfExists": { "aws:MultiFactorAuthPresent": false } } } ] }
# エラー確認 aws ec2 describe-instances --region ap-northeast-1 --profile mfa-test An error occurred (UnauthorizedOperation) when calling the DescribeInstances operation: You are not authorized to perform this operation.
# MFA不要な一時キー発行 を発行して .aws/credentials の profile mfa に登録 awsmfa --serial-number arn_of_mfa_device --mfa-profile-name mfa --profile mfa-test ワンタイムパスワード
# 一時セッションで実行 aws ec2 describe-instances --region ap-northeast-1 --profile mfa { "Reservations": [] }
embulkの設定ファイルに日本語を入れる
input用のSQL内に日本語を書いていたら動かなかった。
localesパッケージと LANGの設定が必要でした。
FROM openjdk:8-jdk-slim ARG embulk_version="0.9.23" RUN apt update && apt install -y \ curl \ locales \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 ENV LANG="ja_JP.UTF-8" \ LANGUAGE="ja_JP:ja" \ LC_ALL="ja_JP.UTF-8" # install embulk RUN curl --fail --create-dirs -o /usr/bin/embulk \ -L https://github.com/embulk/embulk/releases/download/v${embulk_version}/embulk-${embulk_version}.jar \ && chmod +x /usr/bin/embulk CMD ["/bin/sh"]
参考にした記事 - qiita.com
raspbian 10で isc-dhcp-serverが再機動時に起動失敗する
原因
isc-dhcp-server の 起動順序は $network のあとになっているが、dhcpcd がIPを割り当てるよりも先に起動してしまうため
対処
systemd で起動しているのだから、 isc-dhcp-server が fail したら自動再機動するようにした。
対処内容
cat /etc/systemd/system/isc-dhcp-server.service.d/10-additional.conf
[Unit] SourcePath=/etc/init.d/isc-dhcp-server [Service] Type=forking PIDFile=/var/run/dhcpd.pid RemainAfterExit=no Restart=on-failure RestartSec=15s
ファイルを置いたら
sudo systemctl daemon-reload sudo systemctl restart isc-dhcp-server
動作テスト
異常終了させたかったので、kill -kill で殺した。
kill -kill isc-dhcp-server
うまくうごいたので、再起動を試み無事dhcpdが起動した
ESETをインストールしたときのメモ
環境
- OS: macOS Mojave 10.14.6
- 型番: MacBookAir6,1
- 言語: 英語
- ESETのバージョン: ESET Cyber Security V6.8
英語環境でインストーラが動作しないのでワークアラウンド
言語設定が英語の場合、Setup が起動しない
# CLIから実行してみる $ /Volumes/Setup/Setup.app/Contents/MacOS/Setup 2020-02-11 07:36:43.064 Setup[4585:41589] Unable to load nib file: MainMenu, exiting # 英語環境に、MainMenu.nibがない $ ls /Volumes/Setup/Setup.app/Contents/Resources/{en,ja}.lproj /Volumes/Setup/Setup.app/Contents/Resources/en.lproj: InfoPlist.strings /Volumes/Setup/Setup.app/Contents/Resources/ja.lproj: InfoPlist.strings MainMenu.nib
日本語のMainMenu.nibをコピーして動かす
cp -R /Volume/Setup ~/Downloads cd ~/Downloads/Setup/Setup.app/Contents/Resources cp ja.lproj/MainMenu.nib en.lroj ~Downloads/Setup/Setup.app/Contents/MacOS/Setup
アンインストール
インストール時に用いた eset_cybersecurity_installer.dmg から行う
Pro 版との違い
- パーソナルファイアウォールの有無
- パスワードマネージャーの有無
nanopi 再インストールメモ
ファイルサーバにしていたnanopiがOS領域にしていたSDカードが壊れたので再インストールした。
uart1を設定しないと行けないのを忘れていて苦労したのでメモを残す
作業メモ
- armbian (debian buster) をダウンロードしてSDカードに焼く
- SDカードを刺して起動
- コンソールはUART ↔ USB で Linux端末より取得
sudo cu -s 115200 -l /dev/ttyUSB0
- Permission denied だったので、
sudo chgrp root /dev/ttyUSB0
- useradd / sudo 設定
- emmc での起動に変更する
sudo armbian-config
→ system → Install → Boot from eMMC でemmcにファイルシステムをコピー- ファイルシステムはext4を選択した
- reboot
- armbian-configで各種設定をする
- Personal → Timezone → Asia/Tokyo
- System → Hardware → uart1 を有効化 (mh-z19をuart1につなぐため)
- reboot
- ansibleで設定投入
- ansible-playbook -i production -l nanopi site.yml
残タスク
- mackerelへのメトリクス登録をhost metrics化して、mackrel-agentに統合
- homeassistantのバージョンアップ対応
- 認証変更
- tts変更
- homeassistantと赤外線リモコンの連携
- wifiの設定
starman にPLACK_ENVを渡さないと、PLACK_ENV=depoymentになる
Qiitaに書いたものの転載
タイトルそのままです。
starman
コマンドのデフォルトのPLACK_ENVはdepoyment になるようです。
久しぶりに触ったので小一時間悩んだ。。。
starman -e 'sub { [q{200}, [ qw(Content-Type text/html) ], [ $ENV{PLACK_ENV} ] ];}'
curlで叩いてみる
$ curl http://localhost:5000
deployment
plackupから叩くと development
になります。
plackup -s Starman -e 'sub { [q{200}, [ qw(Content-Type text/html) ], [ $ENV{PLACK_ENV} ] ];}'
$ curl http://localhost:5000
development