TenForward

技術ブログ。はてなダイアリーから移転しました

『Infra Study 2nd #2「クラウドネイティブを支えるインフラ技術」』でお話してきました

6/11(金)に Infra Study 2nd #2 ってイベントで登壇しました。そのレポートを会社のテックブログで書きました。 blog.idcf.jp まあ、参加してない方や、アーカイブ動画を見てない方は、このレポートを読むというよりは、もとのアーカイブ動画を見ましょう…

5.11 で追加された OverlayFS の非特権マウント(2)

前回は、OverlayFS の非特権マウントの基本的な部分について説明しました。 ところで OverlayFS はシンプルながらも、より進んだ使い方ができる機能やオプションが存在します。基本的な機能以上の機能を使う場合、OverlayFS は拡張ファイル属性を使います。 …

5.11 で追加された OverlayFS の非特権マウント(1)

5.11 カーネルで overlayfs に大きな変更があったようで、久々にカーネルの新しい機能を試してみました。 とは言っても、結果だけ言うとすぐに終わってしまうので、すごいことをやったように見せかけるために、復習したりして順に説明していきましょう。時間…

マウントプロパゲーション(8)〜 Namespaceとプロパゲーション(2)〜

これまでの続きです。まだまだ続きます。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲ…

Huawei Watch GT 2e

5 月末に Huawei Watch GT 2e を買いました。Huawei Watch 2(GT2じゃないよ)からの買い替えです。ソレ以来毎日使っているのでレビューでも。 使い方を間違っていて的外れな感想が書いてあるかもしれません。その場合は教えて! 気づいた所は追記していきま…

マウントプロパゲーション(7)〜 Namespaceとプロパゲーション(1)〜

これまでの続きです。まだまだ続きます。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲ…

マウントプロパゲーション(6)〜 mountinfoファイル(2)〜

これまでの続きです。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲーション(4)〜 unb…

マウントプロパゲーション(5)〜 mountinfoファイル 〜

これまでの続きです。 マウントプロパゲーション(1)〜 shared mount 〜 - TenForward マウントプロパゲーション(2)〜 private mount 〜 - TenForward マウントプロパゲーション(3)〜 slave mount 〜 - TenForward マウントプロパゲーション(4)〜 unb…

マウントプロパゲーション(4)〜 unbindable mount 〜

引き続きマウントプロパゲーションについて書いていきます。完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。そもそも、このシリーズ、カーネル付属ドキュメントと mount_namespaces(7) に書いてあるんですよねw tenforward.hatenablog.co…

マウントプロパゲーション(3)〜 slave mount 〜

引き続きマウントプロパゲーションについて書いていきます。完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。 tenforward.hatenablog.com tenforward.hatenablog.com shared と private を説明すれば、頭の良い皆さんはもう slave がどの…

マウントプロパゲーション(2)〜 private mount 〜

昨日のエントリの続きです。引き続き完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。 tenforward.hatenablog.com それでは今日はprivateを見てみましょう。privateに設定したマウントのサブマウントは、他のマウントには反映されません。…

マウントプロパゲーション(1)〜 shared mount 〜

完全に私個人が理解するための資料です。間違いの指摘は大歓迎です。 2001 年に 2.4 kernel でバインド(bind)マウントが、2002 年の 2.4.19 で mount namespace が導入されました。ただ、ユースケースによっては mount namespace が行う分離は徹底している…

unshare コマンドがマウントプロパゲーションをまともに扱うような変更を入れていた

全国10万人の unshare でコンテナを作るのが好きなコンテナマニアの方々が systemd のおかげで余計な処理をさせられてたのですが、いつの間にか unshare(1) コマンド側であるべき姿に戻す処理が追加されていたというお話です。 結論 回りくどい話が嫌いな方…

LXDのシステムコールインターセプション機能を試す(マウント編)(2)

先のエントリーでは、コンテナ内から ext4 ファイルシステムのマウントができたのですが、実は security.syscalls.intercept.mount.shift という設定が効いていないようで、そこで時間切れでした(どこがうまく行ってないか書いてませんでしたが)。 tenforw…

LXDのシステムコールインターセプション機能を試す(マウント編)

前回、LXD のシステムコールインターセプション機能がうまく動いたので調子に乗って引き続き試します。 tenforward.hatenablog.com この機能には色々できることがあって今後も追加されそうな気がしますが、とりあえずは見た目でパッとわかりやすいファイルシ…

LXDのシステムコールインターセプション機能を試す(解決編)

3 回シリーズになるとは思ってなかったこのシリーズ、ついに解決編です。 tenforward.hatenablog.com 1 度目の mknod は成功するものの、なぜか続けて mknod を実行すると失敗してしまうという謎のトラブル。ふと、LXC のコミットログを眺めていると seccomp…

Linux 5.6 で追加された Time Namespace(1)

Linux 5.6 の情報をなんとなく調べてたらコンテナ関連の機能増えてました。lwn.net で適当な記事を絞りきれなかったのでとりあえずそれっぽいコミットをメモ代わりに The Time Namespace Appears To Finally Be On-Deck For The Mainline Linux Kernel (phor…

LXDのシステムコールインターセプション機能を試す(ちょっと成功編)

昨日失敗した「システムコールインターセプション」機能のお試し。 tenforward.hatenablog.com 昨日追記した t=2020-03-30T21:42:08+0900 lvl=dbug msg="Handling mknod syscall" audit_architecture=3221225534 container=c1 project=default seccomp_notif…

LXDのシステムコールインターセプション機能を試す(失敗編)

このエントリ、ほぼやりかけのことを忘れないための自分用メモです。あまり役に立つことは書いてません(オチがないし)。まあこのブログ全体がそうですが… みなさん LXD 使ってますか? 私は便利にお仕事で使っています。Plamo LInux 上で CentOS を使うため…

スマートロック セサミmini その後

DIY

(特に検証していない私の勝手な推測が入った記事です) スマートロック「セサミmin」、導入以来便利に使っていてなくてはならないものになっています。 ここしばらくセサミで鍵を開閉する際のキレが鈍いようで、これはパーツがヤバい予兆かも、と思って昨晩…

ICMP sockets

連載の第42回 で ファイルケーパビリティは安全のためにコピーすると設定が外れます。 なんてことを書いてますが、同僚から「Arch Linux でやるとなぜか ping が実行できてしまう」という情報が。確かに Arch でやると実行できてしまいます。 $ lsb_release …

ケーパビリティバウンディングセット

今更感たっぷりな話題ですが、今頃ケーパビリティについて調べてます。これまで何度も調べてはよくわからなくて挫折を繰り返してるとこです。 ケーパビリティについては udzura.hatenablog.jp が詳しいのですが、「ケーパビリティバウンディングセット」の部…

ping コマンドの file capability(2)

(理解が不十分なので間違っている所があれば優しく教えてください) さて、ping コマンドの file capability(1) - TenForward で紹介したように ping コマンドの File capability は Permitted のみが有効になっていて、Effective ビットはオン(+e)にな…

ping コマンドの file capability(1)

(いまさらのお話とは思いますが自分用のメモに) Linux の Capability、何度も理解しようとして完全に理解できないままなんですが、ちょっとした理由で File capability を調べてます。最近は ambient capability なんてのもあって理解が遠のいてます。:-p …

セサミ mini を導入してみた(3)

DIY

前回、わざわざアダプターを作って送ってもらったけれども改善しなかったセサミminiの鍵を使って施錠した場合の問題。 tenforward.hatenablog.com セサミのサポートのメールで 硬めのクッション(セサミminiの箱の黒いクッションなど)をサムターンに貼って隙…

ShiftFS ふたたび 〜 Ubuntu 19.04で導入された ShiftFS を試してみた

ちょうど 2 年ほど前、Open Source Summit で話を聞いて ShiftFS について試したことがありました。 tenforward.hatenablog.com その後はとりあえずカーネルにパッチを当てたりはしてましたが、あまり使わないままでした。少し前に gihyo.jp の Ubuntu の記…

セサミ mini を導入してみた(2)

DIY

先日設置したセサミ mini ですが、先日も少し書いたとおり、ちょっとだけ問題がありました。 tenforward.hatenablog.com うちの鍵は サムターンが縦(12時)方向で解錠 サムターンが縦から右に45度回転した状態でチェーンがかかった状態 サムターンが横(3時…

セサミ mini を導入してみた

DIY

だーいぶ前に mizzy さんのブログでスマートロックなるものを知って、これはいいなと思いつつずっと買ってなかったのですが、最近は Qrio 以外にもセサミスマートロックという競合製品もあるってのを知って、これは良さげだなと思ってそろそろウチにも導入す…

xkbのファイルを書き換えてキーマップを調整する

Plamo 7.0 環境で、USB 切替器を使って USB キーボードを切り替えると、切り替え後に fcitx のオンオフができなくなってハマっていました。つまり USB キーボードを抜き差ししたあとに fcitx のオンオフができなくなっていました。 fcitx のオンオフはこのよ…

Linux 4.14 で導入された Namespaced file capabilities(おまけ)

4.14 で設定した Namespaced file capability を 4.13 以前のカーネルに戻したら まあ、こんな物好きなことをする人はいないでしょうが、確認してみました。 tenforward.hatenablog.com の環境のまま、ホスト環境のカーネルを 4.13 に戻して、コンテナを起動…