揮発性のメモ2

http://d.hatena.ne.jp/iww/

Linux

gccで、配列の範囲を超えてアクセスしてる人を探してぶっ殺したい

gccで、配列の範囲を超えてアクセスしてる人を探してぶっ殺したい。 そのためにはgccの ASAN(Address Sanitizer)機能を使う -fsanitize=address ソース コンパイル 実行結果 -fsanitize=bounds コンパイル 実行結果 コアダンプの設定 実行結果 処理能力 参…

POSTFIXで、TLSで送信するよう設定

/etc/postfix/main.cf に次の設定を追記する # ルート証明書のファイル指定 smtp_tls_CAfile = /etc/pki/tls/cert.pem # TLS送信設定 may:可能であればTLSで送信 smtp_tls_security_level = may # TLSログ設定 1:ログを残す smtp_tls_loglevel = 1 参考 Post…

chrootで、なんかシェルがおかしい

chrootしたとき、シェルがおかしいときがある # chroot /data/chroot_hoge \u@\h:\w$ ショボい環境でchrootするとだいたいこうなる。chrootしたときに起動されるシェルは $SHELL なので、 シェルが/bin/shの環境から Debian環境のchrootを起動すると /bin/sh…

Linuxで、利用可能なファイルシステムの一覧を取得する

/proc/filesystems を見ることでマウントできるファイルシステムがわかる。 nodevはブロックデバイスを使わないもの、要は仮想ファイルシステムという意味 $ cat /proc/filesystems nodev sysfs nodev rootfs nodev ramfs nodev bdev nodev proc nodev cpuse…

bashで、rootじゃなければエラーにする

シェル変数UIDを使う シェル変数UIDには実ユーザIDが入っている 0ならroot #!/bin/bash if [ "$UID" != "0" ]; then echo "root以外では実行できません" exit 1 fi

scpしたときにエラーが出る

新しめのサーバから yoctoで作ったようなショボい環境(opensshじゃなくてdropbearとか)へ scpコマンドでファイル転送すると、だいたいエラーになる ssh-rsa で通信する ssh-rsaを使ってくださいというエラーが出るとき $ scp a.out root@192.168.101.80:/t…

Debianでbullseyeからbookwormにアップグレードする

www.debian.org dist-upgrade とかではなくなったっぽい 手順目次 とりあえずbullseyeで最新にする souces.listを全部bookwormに書き換える 最小アップグレード 完全アップグレード とりあえずbullseyeで最新にする apt update apt upgrade -y apt autoremov…

ラズパイでGPIOを使う

Raspberry Pi 4 Model B で勉強中 $ cat /etc/rpi-issue Raspberry Pi reference 2023-12-11 ラズパイのGPIOについて ピン配置はラズパイ2,3,4,5で同一 電圧は3.3V 電流は1ピン当たり16mA、全体で50mA出力可能 LEDをつけるなら制限抵抗はとりま100~200Ωくら…

Vimでの改行コードと文字コード自動判別の設定

今使っている ~/.vimrc の設定 " 内部文字コードの設定 set encoding=utf-8 " 新規ファイル set fileencoding=utf-8 " 文字コード自動判別 set fileencodings=utf-8,cp932,euc-jp " 改行コード自動判別 set fileformats=unix,dos,mac " 全角罫線を2キャラ幅…

grepで、出力をバッファリングさせない

grepで、出力を全部バッファからラインバッファに変更するオプションは --line-buffered grepを多段に使う時とかに指定する $ tail -F /var/log/hoge/hoge.log | grep --line-buffered "command=" | grep -v "TEST" 例:TESTじゃないコマンドでgrepするみた…

netcatで udpを受信する

ポート30000で受信するテスト netcat -v -l -k -u -p 30000 -v Verbose ちょっとした情報を表示 -l Listen 待ち受け -k Keep 着信後も待ち受けを続ける -u UDP -p port Port ローカルのポート番号指定 -k を指定し忘れると最初のセッションで受信してそれっ…

Debianで、netcatをインストールする

netcatはなんだかいろいろな種類があって混乱する。 netcat-openbsd OpenBSD版。 Debianでは一番強い? /usr/bin/nc -> /etc/alternatives/nc -> /bin/nc.openbsd /usr/bin/netcat -> /etc/alternatives/netcat -> /bin/nc.openbsd ncat Nmap版。最強らしい…

DeleGate関連のリンクまとめ

Wikipedia: DeleGate DeleGate - Wikipedia 寂しい死んでいる公式サイト http://www.delegate.org/ つながらない公式サイトの抜け殻みたいなサイト DeleGate ライセンス情報しかない現在生き残っている唯一の公式サイト AIST-DeleGate Official Site ここで…

UTF-8以外の文字コードのファイルを探して UTF-8に変換する

iww.hateblo.jp 使い方 $ find . -type f| xargs nkf -g| grep -vE ':\s*(UTF-8|BINARY|ASCII)'| cut -d ':' -f 1| xargs nkf -w --overwrite nkf -g の出力結果が少し変わっていたので修正 何年か前は コロンの後ろにスペースが入っていなかったし改行コー…

journalコマンドで sudo の動作ログを見る

# journalctl -t sudo ・・・ 9月 18 17:03:43 chinko sudo[1970]: unko : TTY=pts/0 ; PWD=/home/unko ; USER=root ; COMMAND=/usr/bin/lssudo はユニットじゃないので、 -u は使えない。 ので、普通に識別子を使う journalctlコマンド - systemd管理のログ…

sshログイン時に "no hostkey alg" というエラーが出る

古いSSHクライアントで新しいSSHサーバに接続したらエラーになった。 クライアント側 OpenSSH_5.3p1 (CentOS 6.7) サーバ側 OpenSSH_8.8p1 (Fedora 37) dokuwiki.fl8.jpサーバ側は手が入れられなかったので、クライアント側で対処 とりあえずパスワード認証…

ZIPファイルを解凍せずにパスワードを付与したり解除したりする zipcloak

zipcloakコマンドを使う atmarkit.itmedia.co.jp zipcloakコマンドは zipのパッケージに入っている zipcloakというパッケージかなんかだと思い込んでいたので、zipと同じパッケージだと気づくのにずいぶん時間がかかった 対話型のコマンドなので、パスワード…

certbotのエラーを対処

サーバがなんか死んでたので再起動したら、WEBサーバが起動できない。 証明書の問題っぽかったので証明書を手動で更新したところ それもうまくいかず こういうエラーが画面に出力された OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start …

adduserとuseradd

どっちがどっちだかわかんねーな と思ってたら、redhat系では同じものだった。 マジかよ $ ls -l /usr/sbin/adduser /usr/sbin/useradd lrwxrwxrwx 1 root root 7 4月 10 14:46 2015 /usr/sbin/adduser -> useradd -rwxr-x--- 1 root root 101168 4月 7 18:5…

Fedora37にDockerをインストールする

Fedora37 dockerをインストールする方法 - 最新IT技術情報_arkgame.com 10.2. DNF リポジトリーの追加 Red Hat Enterprise Linux 9 | Red Hat Customer Portal dnfコマンド yumからDNFへの移行 #CentOS - Qiita dnfコマンドはyumコマンドみたいなやつらしい…

libcのバージョンを見る方法

lddコマンドで見るのが楽 $ ldd --version ldd (GNU libc) 2.3.2Debian 3.1 sarge $ ldd --version ldd (GNU libc) 2.12CentOS 6.7 $ ldd --version ldd (Debian EGLIBC 2.13-38+deb7u12) 2.13Debian 7 wheezy $ ldd --version ldd (Debian GLIBC 2.31-13+de…

PHP5.6でZipArchiveを使うと日本語ファイル名が化ける問題

Windowsで作ったZIPファイルはファイル名がSJISであり、これをLinuxのPHPでファイル名をUTF-8にして解凍したい。 という話 blog.narazaki.info PHPでZipArchiveを使うと、statIndex() が勝手に憶測で文字コード変換をするために文字コードが破壊されてしまう…

レッツノート CF-R4 の無線LANを有効にする

CF-R4J にインストールした Debian10 で ipw2200 を使えるようにする話wiki.debian.org/etc/apt/sources.list を編集し、全部に contrib non-free を追加する deb http://deb.debian.org/debian/ buster main contrib non-free deb-src http://deb.debian.or…

ntpdとかntpdateの代わりのやつ

systemd-timesyncd というのを使う man.kusakata.com 設定ファイル /etc/systemd/timesyncd.conf man7.org [Time] NTP=192.168.0.1 確認方法 timedatectl # timedatectl Local time: Thu 2022-12-01 10:28:15 JST Universal time: Thu 2022-12-01 01:28:15 U…

findで、指定バイト未満のファイルを削除する

名前が "*.dat" で 大きさが118バイト未満のファイルを削除する find . -name "*.dat" -size -118c -delete バイトの指定をするときは、サフィックス c をつける。 b はブロック(512バイト単位)になり、何もつけないときはブロックになる。 linuxjm.osdn.j…

/etc/network/interfaces で、USB-LAN用の設定

/etc/network/interfaces.d/HOGEHOGE で、抜いたり挿したりが発生するインターフェースは auto じゃなくて allow-hotplug で書く # 内蔵LAN auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 172.16.0.2 netmask 255.255.0.0 gateway 172.16…

screenでシリアル接続

cuと違い、 /dev/ttyUSB0 の所有者とパーミッションをそのまま読んでそのまま動作するので、それだけで気分が良い。そもそもcuはなんか行儀の悪い動作をいっぱいしてるので気分が良くない。 ファイルディスクリプタ 3~1023 を念のため起動時に全部閉じると…

cuで、/dev/ttyUSB0のパーミッションがないと言われる

# cu -l /dev/ttyUSB0 cu: open (/dev/ttyUSB0): Permission denied cu: /dev/ttyUSB0: Line in userootでやってんので当然パーミッションはある # ls -l /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 11月 10 10:44 /dev/ttyUSB0結局、ユーザを変えよう…

ufwで、インターフェースごとに設定をする

eth0のポート22のアクセスを許可する。 eth1とか他のは許さない ufw allow in on eth0 to any port 22on NIC名 を書くときは、 allow in の in をつけなければならない あと、to の省略もできなくなる 設定はこんな感じに表示される $ sudo ufw status numbe…

/usr/lib/rsyslog/rsyslog-rotate

/etc/logrotate.d/rsyslog に書いてある rsyslog-rotate とは /var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate /usr/lib/rsyslog/rsyslog-rotate endscript } 正体はこういうスクリプトだった # cat /usr/lib/rsy…