(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

IT-UNIX

【Bash/Linux/awk】awkの中でシェルの変数の中身を展開して利用する

やりたいこと 以下のような変数が格納されているとして sport=baseball同変数を利用して以下のようなawkの処理を行いたい。 $ cat test.csv | awk 'BEGIN{FS=","} $1 == "baseball" {print $0}'尚、上記は指定列での検索を行う構文。 環境情報 $ awk -W vers…

【Bash/Linux】シェルスクリプトのコメント行を用いてヘルプ機能を実装する

やりたいこと 引数に--helpまたは-hが指定された場合にヘルプを出力したい。 尚、表示する内容はシェルスクリプトの中で先頭に#付きのコメント行として記載されていると仮定。具体的には以下ルールとする。 # test → 出力する #test → 出力しない ## test → …

【Bash/Linux】iptalbesのログ出力の出し方と止め方

やりたいこと iptalbesが動作している環境で # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination cali-INPUT all -- anywhere anywhere ...TCP の入力をすべてログとして出力したい。 環境情報 iptables v1.4.21 Red Hat Enterp…

【Bash/Linux/awk】最終列以外の文字列を句読点区切りで切り出す

やりたいこと 以下のような日本語文字列があった場合に # echo "あい。かき。さし。たち" あい。かき。さし。たち最後の列を切り捨てて あい。かき。さし。のみを取り出したい。 環境情報 Debian GNU/Linux 9 (stretch) やり方 以下のワンライナーにて # ech…

【Linux/bash】順序を保ったまま同じ文字列の行があるかないかでdiffを取る

やりたいこと 以下のファイルAと apple strawberry orange cherry grape以下のファイルBがあった場合に orange pineapple banana strawberryファイルAの中でファイルBの中に存在しないものを差分として以下のように出力する。 apple cherry grape 環境情報 $…

【OpenSSH】Load key ".ssh/id_rsa": invalid formatと出るエラーの解決策

事象 公開鍵暗号方式にてSSHDを起動しているサーバに接続するも $ ssh -i .ssh/id_rsa xx@xx -p 22 Load key ".ssh/id_rsa": invalid format xx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).エラーとなる。尚、サーバ側のauthorized_keys…

【Bash/Linux】dateコマンドのdオプションでの日時と時刻の指定の仕方

やりたいこと 指定した時刻のエポックタイムを出力したい。尚、エポックタイムの出し方自体は以下。 $ date +%s 1637932318 環境情報 GNU bash, version 4.4.12 release (x86_64-unknown-cygwin) やり方 dオプション(--dateオプション)にて以下のように日…

【RHEL/Linux】root権限でもsudoersが編集できない事象

事象 一般ユーザでもsudoコマンドを打てるように/etc/sudoersに対して編集をかけるも # ls -l /etc/sudoers -r--r-----. 1 root root .. /etc/sudoers権限が不足して編集ができない。 環境情報 Red Hat Enterprise Linux Server 7.9 Sudoers I/O plugin vers…

【Bash/Linux】コマンドの実行結果をxargsで任意の場所に引数として渡す

やりたいこと 以下のファイルがある際に cat hoge.txt 1 2 3cat hoge.txt | xargs echo a bのようにすることで例えば真ん中である a 1 b a 2 b a 3 bと出力させる。 環境情報 GNU bash, version 4.4.12 release (x86_64-unknown-cygwin) やり方 replace-str…

【Bash/Linux】時間分秒の時刻データの差分秒数を取得する

やりたいこと 以下のようなテキストファイルがあったとして $ cat test.log 20:17:30 20:17:35 20:17:39時刻の差分の秒数を表示したい。 環境情報 GNU bash, version 4.4.12 release (x86_64-unknown-cygwin) やり方 以下で時刻データをUTC形式に変換を行い …

【Linux】partedとmkfsでファイルシステムを作成する

はじめに lsblkでデバイス情報が見える状態でファイルシステムを個別に作成する手順について記載しました。 尚、ディスク全体をファイルシステムに割り当てる想定としています。 環境情報 Red Hat Enterprise Linux Server 7.9 パーティション作成 xvdcとい…

【Linux】curlコマンドで自己署名のサーバ証明書の有効性を確認する手順

やりたいこと オレオレ証明書として発行したサーバ証明書を配置したシステムに対してcurlで疎通確認を行う。 尚、同通信において同証明書をルート証明書として利用する。 環境情報 curl 7.29.0 RHEL 7 やり方 以下のような自己証明書があったとした場合は $ …

【Linux】curlコマンドの代替としてHostヘッダー指定でopenssl_clientで疎通確認を行う

やりたいこと 以下記事で記載したようなcurlコマンドで発生させた通信を opensslコマンドで行う。具体的には以下を再現するとする。 $ curl -H "Host:sample.hoge.com" 10.11.12.13 環境情報 $ openssl version OpenSSL 1.1.1f 31 Mar 2020 やり方 以下コマ…

【Bash/Linux】ミリ秒表記のUNIXタイムスタンプを時刻に変換するワンライナー

やりたいこと 以下のような13桁のUNIXタイムスタンプ(エポックミリ秒)を 1625566674036対応する日付データに変換する。 Tue Jul 6 19:17:54 2021 環境情報 sed (GNU sed) 4.4 GNU Awk 5.1.0 やり方 sedコマンドでミリ秒を表現してprintのstrftimeで時刻デ…

【Linux/Bash】マルチバイトの文字列を文字数で切り出すスクリプト

やりたいこと 日本語含むマルチバイトな文字列に対して以下のように文字数で抽出を行いたい。 # ./wcut.sh あいうえお 3 あいう # ./wcut.sh あIうえお 3 あIう 環境情報 # cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)" ... やり方 以下…

【RHEL/Linux】イーサネットデバイスのMACアドレスを手動で変更する

やりたいこと RHELの仮想マシン上からネットワーク・インターフェースのMACアドレスを変更する。 環境情報 Red Hat Enterprise Linux Server 7.5 やり方 注意点 : 本操作を行うとネットワークから切断されるため、マシンと遠隔で接続している場合はWebコンソ…

【XML/文字コード】見た目は一緒にもかかわらずdiffで差異が出る事象の原因

事象 以下のように文字列として同じにもかかわらず cat 1.xml <div class="ac-container">cat 2.xml <div class="ac-container">diffの結果に差分が出る。 $ diff 1.xml 2.xml 1c1 < <div class="ac-container"> --- > <div class="ac-container"> 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) 原因/解決策 XMLの空白文</div></div></div></div>…

【Linux/RHEL】パスワードの文字数制限を変えた場合の既存ユーザへの影響

はじめに Red Hat Enterprise Linux Serverではパスワードの最小文字数をminlenで指定できます。 本記事では同設定を変更した際にその制限に抵触するユーザの挙動を実機で確認しました。 コマンド実行環境 Red Hat Enterprise Linux Server 7.5 (Maipo) パス…

【GoogleAPI】curlで日本語URLを入力すると結果が文字化けするエラーの解消法

事象 以下のような日本語URLを利用するも # curl -L "https://script.google.com/macros/s/xx/exec?text='こんにちは'&source=ja&target=en"結果が文字化けして返ってくる。 {"code":200,"text":"'����������������'"} 環境情報 curl 7.52.1 (x86_64-pc-linu…

【Bash/Linux】sed -$Npを利用して特定の倍数行を表示するワンライナー

やりたいこと 以下のようなテキストファイルがあったとして $ cat test.txt a 1 A b 2 B c 3 C d 4 D数字が入った行(3で割って余りが2の行)のみを表示する。 環境情報 sed (GNU sed) 4.4 やり方 以下構文でファイルの3行目のみを抜きだすことができるの…

【Linux/SSH】ssh-keygenで生成された鍵のビット数を確認する

やりたいこと 既に作成済のSSH用の鍵のビット長(鍵長)を確認したい。 # cat id_rsa -----BEGIN PRIVATE KEY----- XwggSUXkAgSEAAoIBAQC2REYe... 環境情報 Red Hat Enterprise Linux Server 7.5 openssl.x86_64 1:1.0.2k-12.el7 やり方 ssh-keygenのlオプシ…

【Linux】NFSでサーバ/クライアントが共通のユーザIDマッピングを持つ重要性

はじめに セキュリティ観点でNFSを採用する際はサーバ側とクライアント側で共通のユーザID&グループIDの体系を持つことが推奨されています。本記事ではそれが満たされていない場合に何が起こるのかについて説明しました。以下をベースにサーバ/クライアント…

【RHEL/Linux】sudoコマンドのログをファイルに出力する設定 

やりたいこと sudoを付与して実行したコマンドをログファイルに吐き出したい。 環境情報 Red Hat Enterprise Linux Server 7.5 Sudo version 1.8.19p2(x86_64-redhat-linux-gnu) やり方 /etc/sudoersに出力先を以下のように記載し Defaults logfile=/var/l…

【Linux/bash】文字列としてのドットをsedで置換する

やりたいこと sedコマンドを利用して以下のような文字列を 1.テスト.csv 2.テスト.csv 3.テスト.csv以下のようにしたい 1テスト.csv 2テスト.csv 3テスト.csv 環境情報 $ sed --version sed (GNU sed) 4.4... やり方 /[\.]で置換を行う。 $ echo 1.テスト.cs…

【RHEL】snmptrapd.serviceを起動するも"No access configuration"と出力されるエラー

事象 snmptrapdサービスは起動しているも # systemctl status snmptrapd ▒▒ snmptrapd.service - Simple Network Management Protocol (SNMP) Trap Daemon. Loaded: loaded (/usr/lib/systemd/system/snmptrapd.service; disabled; vendor preset: disabled)…

【RHEL】netstatで開いているポート番号とプロセスを確認する

やりたいこと 以下のようにポート競合エラーが起きたため、サーバ上で開いているポート番号とそのポート番号を利用しているプロセスを確認する。 # docker-compose up xx ERROR: for xx Cannot start service xx: b'driver failed programming external conn…

【RHEL】systemd-tmpfiles-clean.timerで不要ファイルを削除する流れ

はじめに Linuxには systemd-tmpfiles-cleanと呼ばれるタイマー機能があり、一定期間更新が入っていないファイルを削除することが可能です。本記事では任意のディレクトリに対してこのタイマー機能でファイルを削除する機構を利用する流れについて記載しまし…

【RHEL】yumで特定パッケージのFinished Dependency Resolution Errorが出た際の解消方法

事象 yum installを実施した際に以下のようなエラーとなる。 --> Finished Dependency Resolution Error: Package: glib-networking-2.56.1-1.el7.x86_64 (xx) Requires: glib2(x86-64) >= 2.55.1 Installed: glib2-2.54.2-2.el7.x86_64 (xx) glib2(x86-64) …

【RHEL】nmcli con down ensX && nmcli con up ensX の注意点

はじめに RHELにてネットワークインターフェースに設定変更を加える際に、リロード目的でタイトルのコマンドを打つことがあります。 本記事では同コマンド群を打つ際の注意点を実機でコマンドを打った結果を元に解説します。 環境情報 Red Hat Enterprise Li…

【RHEL】オフライン環境でyumを利用するための資材をオンライン環境で用意する

はじめに オンライン環境(インターネットに接続)しているWindows端末でyumの資材を用意し、オフライン環境のRHELサーバにyumでモジュールをインストールする流れについて説明します。本手順はWindows端末に用意したCentOSのコンテナイメージを利用するので…


他の記事を読む