cronで実行されるスクリプトのPATH

表題の通り。たまに忘れて実行エラーになるのでメモ。

■ 環境

  • Amazon Linux

■ PATH

`PATH`が通っていないので、`cron`から実行されるとコマンドが見つからない系のエラーで失敗してしまうことがある。

$ sudo su -
# echo ${PATH}
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin
#

`cron`で実行されるときは下記しか`PATH`が通っていなかった。

/usr/bin:/bin

sbin“系のコマンドを使いたい時にいつもハマってしまう…。スクリプト内のコマンドは絶対PATHで書くものだと若い頃に師匠に教わったのをたまに忘れてる。

以上。

Googleプレゼンテーションのユーザ辞書

表題の件について、知らなかったのでメモ。

■ 環境

  • Google プレゼンテーション

■ ユーザ辞書

Googleプレゼンテーションを利用している。その中で個別用語を使用するとスペルチェックに引っかかるのか赤い下線が引かれ「もしかして」が表示される。プロジェクト内における個別の用語であったり、そもそものプロジェクト名であったりするので全てに赤い下線が引かれると煩わしく感じていた。

赤い下線が引かれた単語上で右クリックをすると、「もしかして」以外にも「ユーザ辞書に追加」というメニューがあることに気がついた。これをクリックすると赤い下線は消え、以降同じ用語を使用しても赤い下線が表示されることはなくなった。

ちなみに登録した用語はどこかに一覧としてあると思われるのだが、メニューから辿る方法を見つけられなかった。

ヘルプ > メニューを検索

上記で”辞書“と検索したら”単語リスト“が出てきたので、ここで確認ができるようだ。登録時と参照時に言葉が変わっていてわかりづらい…。

以上。

S3ライフサイクル

表題の件でゴミを削除することにした。

■ 環境

  • AWS S3

■ ライフサイクル

ライフサイクルでは、一定期間経過後、オブジェクトをGlacierに移動させたりすることができる。今回は該当バケット内に作成された全てのオブジェクトを対象に、作成されて1週間以上経過後のオブジェクトを破棄するようにした。Management Consoleから設定を行ってみる。

該当のバケットを表示後、上部の”管理“より”ライフサイクルルールの追加“を実施する。

ルール名は自身が判別つくわかりやすいもので構わない。フィルターは今回は使用していないが、該当のprefix配下のオブジェクトのみが対象である場合にはここで指定する。

今回はGlacierへの移行ではないのでここはスキップする。

現行バージョン“のみチェックしている。これは該当のバケットではバージョン設定を使用していないからである。”オブジェクトの現行バージョンを失効する“にチェックを入れ、日数は”7“としている。”不完全なマルチパートアップロードをクリーンアップする“も一応チェックを入れておいた。日数はデフォルトままの”7“である。

最後は内容を確認し保存して完了である。

実行されるタイミングはよくわからないが、新たなオブジェクトを追加したタイミングとかであろうか。まぁ自身にとっては不要なファイルを削除してほしいだけなので実行されるタイミングはなんであろうと問題ない。

以上。

brew doctor

何の気なしに表題を実施した。

■ 環境

  • Homebrew
  • macOS High Sierra

■ brew doctor

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  google-cloud-sdk

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

Warning: Broken symlinks were found. Remove them with `brew prune`:
  /usr/local/bin/chef-zero
  /usr/local/bin/docker-credential-osxkeychain.backup
  /usr/local/bin/fauxhai
  /usr/local/bin/hyperkit.backup
  /usr/local/bin/notary.backup
  /usr/local/bin/vpnkit.backup
$

3点ほど問題があるらしい。

■ Warning: You have unlinked kegs in your Cellar

google-cloud-sdk“に対しての問題のようだ。`brew link`を実施してみるもエラーとなる。

$ brew link google-cloud-sdk
Error: Multiple kegs installed to /usr/local/Cellar/google-cloud-sdk
However we don't know which one you refer to.
Please delete (with rm -rf!) all but one and then try again.
$

使用していないし削除しようかと思い下記を実施。

$ brew uninstall google-cloud-sdk
Error: Multiple kegs installed to /usr/local/Cellar/google-cloud-sdk
However we don't know which one you refer to.
Please delete (with rm -rf!) all but one and then try again.
$

特に変化なし。削除してしまう。

$ rm -rf /usr/local/Cellar/google-cloud-sdk

■ Warning: Homebrew’s sbin was not found in your PATH but you have installed

/usr/local/sbin“に対するPATHが足りないようである。自身の環境では”.bashrc“にいろいろ記載しているのでこちらに追記するようにした。

$ echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bashrc

実際にはコマンドで追記ではなく直接編集した。

■ Warning: Broken symlinks were found. Remove them with `brew prune`:

不要なシンボリックリンクが残ってしまっているようだ。記載された通りに実施。

$ brew prune
Pruned 6 symbolic links and 8 directories from /usr/local
$

これらの対応で問題が無くなったようである。

$ brew doctor
Your system is ready to brew.
$

以上。

Posted in: Mac | Tagged:

testssl

表題のツールについて。

■ 環境

  • testssl
  • Homebrew
  • macOS High Sierra

■ testssl

何の気なしに `testssl` というものの存在を知ったのでインストールしてみることにした。名前的に興味を持っただけである。

$ brew info testssl
testssl: stable 2.9.5-3, HEAD
Tool which checks for the support of TLS/SSL ciphers and flaws
https://testssl.sh/
Not installed
From: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/testssl.rb
==> Dependencies
Required: openssl ✘
==> Options
--HEAD
    Install HEAD version
$
$ brew install testssl

インストールされたモジュールは下記の通りである。

$ brew ls testssl
/usr/local/Cellar/testssl/2.9.5-3/bin/testssl.sh
/usr/local/Cellar/testssl/2.9.5-3/etc/ (12 files)
/usr/local/Cellar/testssl/2.9.5-3/libexec/bin/testssl.sh
/usr/local/Cellar/testssl/2.9.5-3/share/man/man1/testssl.1
$

実行してみる。

$ testssl.sh https://www.example.com/

###########################################################
    testssl.sh       2.9.5 from https://testssl.sh/

      This program is free software. Distribution and
             modification under GPLv2 permitted.
      USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!

       Please file bugs @ https://testssl.sh/bugs/

###########################################################

 Using "OpenSSL 1.0.2o  27 Mar 2018" [~125 ciphers]
 on iida:/usr/local/opt/openssl/bin/openssl
 (built: "reproducible build, date unspecified", platform: "darwin64-x86_64-cc")


Testing all IPv4 addresses (port 443): XXX.XXX.XXX.XX1 XXX.XXX.XXX.XX2
  :

DNSが複数のIPを返す場合、全てのIPに対して実施してくれるようだ。

  • SSL/TLS protocol check
  • standard cipher categories to give you upfront an idea for the ciphers supported
  • checks (perfect) forward secrecy: ciphers and elliptical curves
  • server preferences (server order)
  • server defaults (certificate info, TLS extensions, session information)
  • HTTP header (if HTTP detected or being forced via –assume-http)
  • vulnerabilities
  • testing each of 359 ciphers
  • client simulation

テストの内容は大雑把にこんな感じ。

ふむ。便利そうである。残しておく。

以上。