
shc(Shell Script Compiler)でスクリプトをバイナリ化(暗号化)する方法
前書き:Shell Scriptの中身を見せたくない 通常の開発業務では、Shell Scriptをバイナリ化(かつ暗号化)する利点はありません。自分しか解読できないShell Scriptは、他のチームメンバにとっては迷惑な存在(負債)になります。 ...

前書き:Shell Scriptの中身を見せたくない 通常の開発業務では、Shell Scriptをバイナリ化(かつ暗号化)する利点はありません。自分しか解読できないShell Scriptは、他のチームメンバにとっては迷惑な存在(負債)になります。 ...

前書き:スクリプトサイズが大きい理由 プロプラエタリソフト(例:商用ソフト)のShell Scriptインストーラのサイズを見たら、数百MBだった事はありませんか? そのような場合は、.deb/.rpmパッケージやtarball等のバイナリがShell Scriptに埋め込まれている可能性が高いです。このようなインストーラは、実行時にバイナリ部分だけを取り出してから、バイナリを操作します。 ...

前書き:環境構築は面倒だから、楽をしたい 開発環境の構築は、その規模の大小に関わらず、面倒な作業です。 環境構築の面倒な部分 忘れてしまった環境構築手順を思い出す事 設定ファイルの修正(数が多いと特に面倒) パッケージマネージャが使えない場合、アプリの手動ビルド&インストール 依存関係が自動解決できない場合、依存関係を調査 構築を複数回繰り返す事(自宅/会社PCへの対応あるいは環境を壊した時) 環境構築は、プログラミングをする前段階の作業ですので、ここで消耗したくありません。 ...

前書き 先日、Rubyのコーディング練習がてらに、ユーザ情報を出力するコマンドの仕様をボンヤリと考えていました。 Rubyの練習用に「neofetchがシステムの情報出すなら、自分はユーザ情報を表示するコマンド作るか」と思ったが、既に類似仕様のfingerコマンド(https://t.co/epoOGD4zlC)があった。 そりゃ、あるよね。 — Nao (@ARC_AED) April 16, 2020 出力すべきユーザ情報には「ユーザが使用しているログインシェル」を含めようと考え、「/etc/passwd」を確認したら、ログインシェルを記載するセクションに予想外の記述がありました。その記述とは、「/usr/sbin/nologin」および「/bin/false」です。明らかに、シェルではありません。 ...

前書き 本記事では、CLI(Terminal)で用いるinteractive shellを**fish(friendly interactive shell)に移行する方法を記載します。fishは、Debian環境のdefault shellであるdash(POSIX互換のash拡張)やlogin shellであるbash**よりも優れた点が多いです。 ...