それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

python の shlex でコマンドに渡す字句を分割する

コマンドを Popen に渡すときに

コマンドを組み立てた文字列を配列で渡すなら、split が便利だけど、shlex.split ならさらに安全に渡せるらしい。

    self.prcs = Popen( shlex.split(cmd), shell=False )

たしかに文字列をsplit すると暴走するものね。

また shlex.quote もあるのでこちらも便利そう

Shell経由させないほうが孫プロセスを作らなくて楽なイメージ有る。

関連資料

takuya-1st.hatenablog.jp

参考資料

https://docs.python.org/3.6/library/shlex.html

MariaDB のユーザー認証をPAM経由にする。

mariaDB にしました。

mariaDB に変えたので、PAMによる認証連携は、最初から付属してます。便利!

mariadb でPAM Authをするには

mysql の管理者(root) で ログインしてプラグインを有効化する

INSTALL SONAME 'auth_pam';

これでほとんど完了。あー楽。

PAM経由するユーザーを追加する

mysql にユーザーを追加する。

CREATE USER takuya identified via pam

これでいい。楽ちん。

MySQLがPAMを参照できるよにする。

ここは何もしなくて良さそう。auth を使うみたい。以前に mysql + pam であれこれ設定してるので、パーミッションとかは省略して動いた。

もし、mysqlmariadb といった名前でPAMに書きたい場合(たとえば www-data や apachepostgresql などと共通名にしたいとか)

ユーザーできたので、プラグインがPAMに認証を丸投げできるように、PAM側で受け取れるように設定する。

CREATE USER takuya identified via pam USING 'my-pam-name' # 

MySQLの場合

以前はこっちをやってた。

http://takuya-1st.hatenablog.jp/entry/2015/03/16/164719

brew で upgradable/アップグレード可能なパッケージを一覧する

apt には apt list –upgradable がある

同じことを homebrew の brew コマンドでやるにはどうすればいいか

outdated を使う

brew outdated

これで、新しくなってる brew のパッケージの一覧が取得できる。

参考資料

https://stackoverflow.com/questions/12946505/how-can-i-tell-which-homebrew-formulae-are-upgradable