とりとめない話ですが、今どきのLinuxのパッケージングの種類とSteamDeckから一気に改善されたDirectX 周りの話です。社内の勉強会で共有した資料
SELinuxとは DACとMAC SELinuxをインストールする SELinuxの有効化・無効化 ApacheでSELinuxを試してみる SELinuxポリシー コンテキスト ファイルのラベリング Access Vectorルール ドメイン遷移 ポートのラベリング アトリビュート SELinuxブール値 RBAC(Role Based Access Control) MCS(Multi Category Security) MLS(Multi Level Security) サイレント拒否 ApacheでCGIを動かしてみる その他の解決 関連コマンド getenforce/setenforceコマンド sestatusコマンド ausearchコマンド audit2whyコマンド audit2allowコマンド seinfoコマンド sesearchコマンド chconコマンド f
EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind
第10回 いちばん惹かれる問いは。 ----ヒマネンさんは哲学者ですけれども、 誰かほかの哲学者から影響を受けた、 ということはありますか。 ヒマネン 「ふたりの哲学者から、強い影響を受けています。 でも、だからって、そのふたりと同じように ぼくがものを考えるということじゃないし、 同じイデオロギーに 染まってるというわけじゃないです。 個人として、 ものごとを常に驚きの目で見て、 その見て考えたことを、 まさに自分の理念として生きて、 人が何と言おうと果敢に表現した という姿勢では、まず、 プロトタイプのハッカーとも言えるのが、 ソクラテスだと思います。 それから、ブッダ。 このふたりは、ずいぶん影響を受けました。 ----どうして影響を受けたのかを、 もう少し詳しくおしえていただけますか。 ヒマネン 「ぼくはソクラテスともブッダとも、 考えをシェアしていないかもしれないです。 でも、ど
いま知っておきたいLinux─WebアプリがOSのプロセスとしてどのように見えるか? を運用に生かす Webアプリを動かして負荷をかけると、OSのプロセスという観点ではどのように見えるのでしょう? それを通して運用やトラブルシューティングではどういったことが分かるのでしょう? Linuxカーネルの開発者でもある武内覚(sat)さんによる解説です。 こんにちは、sat(@satoru_takeuchi)と申します。 コンピュータが誕生してから現在まで、最終的にエンドユーザが意識するアプリケーション開発はどんどん楽になっています。先人たちのたゆまぬ努力の結果、アプリ開発者はOSや、そのさらに下にあるハードウェアのことをほとんど意識することなく開発ができるようになりました。 しかし、「作ったアプリが、OSレベルでどのように動いているか?」が今一つピンと来なくて、モヤモヤしていないでしょうか。それ
●要素の削除と添字 配列の要素を削除した場合、配列の要素数は1つ減りますが、添字自体は変わりません。例えば、「week[0]」は「Sun」、「week[1]」は「Mon」、「week[2]」は「Tues」……となっている場合、「week[1]」を削除しても、「week[2]」の値は「Tues」のまま変わりません。 これを、for文で確認してみましょう。以下では、配列weekをSun~Satで定義し直して、for文を実行しています。 $ week=(Sun Mon Tues Wed Thur Fri Sat) ← 配列weekを定義 $ unset week[1] ← 添字「1」の要素を削除 $ for ((i=0; i<${#week[@]}; i++)) do echo $i ${week[i]}; done ←(1) 0 Sun 1 2 Tues 3 Wed 4 Thur 5 Fri
こんにちは、エンジニアリングGの中村です。 以前にこのブログにてエムスリーでの社内研修について紹介しました。今回は、この中でのbashスクリプティング講座の資料を公開します。 www.m3tech.blog 弊社の中でもいろいろな用途でbashが使われていますが、bashは簡単に利用できるもののプログラミング言語としてはバグを生みやすい、辛い言語だと思います。 ここで紹介しているのはいわゆるコーディング規則というよりも、バグ防止と可読性向上のためのルールをTips集的にまとめたものです。 bashにおいてまだまだ注意するところはありそうですが、多少なりともわかりにくいスクリプトの削減になればと期待しています。 [追記: 2018-08-22] はてブにて以下のコメントをいただきました。 bashスクリプティング研修の資料を公開します - エムスリーテックブログ bashで50行以上になった
Hackers Ariseというウェブサイトを最近読んでいます。 このサイトにはEthical Hackerになる為に必要な知識とノウハウが詰まっているので、ハッカーを志す人はぜひとも一読して頂きたい程お薦めです。 しかしHackers Ariseは英語で書かれており、言語的な問題や、時間的な制約が原因でHackers Ariseを直接の読む余裕がないという方も少なからずいるのではないでしょうか。 そもそも私が、このブログでセキュリティニュースを発信し始めたのも、そうした方々に対して語学力を活かしたいと思ったのが理由でした。 そうした思いから私は、Hackers Ariseの運営者であるOCCUPYTHEWEB氏に直接コンタクトし、「当ブログで翻訳記事を紹介させて頂けないか」という旨を確認したところ、許可を頂く事が出来ました。 ですので、このブログでも不定期にHackers Ariseのノ
最近golangでCLIツールを作っていたのだけど、Linuxのお作法とかいまいち分かっていなかった。そこでそのあたりのことが学べそうな「ふつうのLinuxプログラミング」を読んだ。 ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道 作者:青木 峰郎SBクリエイティブAmazon この本はLinuxにおいてC言語でプログラミングする方法を、Linuxでの重要な概念も含めて教えてくれる本。この本を読めばとりあえずC言語を使ってLinux用のプログラムを書き始めることが出来るようになりそうだった。 それでC言語を使わない場合でも役に立つの?ということだけど、非常に役立ちそうで面白かった。なぜなら、単なるプログラミングの方法を教えてくれるだけではなくて、 Linuxの重要な考え方をファイルシステム・プロセス・ストリームという概念にまとめて教えてくれ
0. はじめに 本記事は、Linuxを対象としたカーネルエクスプロイトの入門記事です。 カーネルエクスプロイトというのは、Linuxや*BSD、Windowsを始めとするカーネル自身の脆弱性を突くエクスプロイトです。 基本的にカーネルはシステム内で最高権限を持つ特権モードで動作しているので、ここを悪用されるとシステムの大部分(ほぼ全て)を掌握されてしまいます。 エクスプロイトと言うと、普通はユーザー空間で動作しているアプリケーションのバグをつく物が多いですが、これだと限られたレベルの権限しか奪えません。 SELinuxやjailを始めとする、OSレベルでの保護機構に阻まれるとたちまち効力を失ったりします。 しかし、カーネル自体の脆弱性をつくカーネルエクスプロイトを利用すると最高権限での任意コード実行が可能なため、大抵の保護機構はものともしません。 このカーネルエクスプロイトが特に効力を発揮
最近Linuxに触れる機会が多くなってきたので、そろそろ時間を割いて勉強でもしようかとネットで検索していたら、意外な事実を知りました…。 日本には、素晴らしい教材があったんですね…。 その名も「Linux標準教科書」。 「Linuxとは…」から始まり、基本的なコマンドの使い方から「ファイル操作」「シェルスクリプト」「Vim操作」「ネットワーク管理」など、基本的な知識が無料で公開されています。 どうやって入手するの?この教材は、Linux技術者認定試験を運営する「LPICの公式サイト」からダウンロードできるようになっています。 そのため、すでにご存知の方も多いと思うのですが、私のようにまだ知らない人もいるのでは…? と思ったのでご紹介しておきます。 入手方法は簡単で、「Linux標準教科書」のダウンロードサイトにアクセスして、「PDFダウンロードリンク」をクリックします。 あとは、名前とメル
TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の init や systemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚
さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基本的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分
Linuxは企業のサーバとして利用されることが多い。 そのため、Linuxのセキュリティ対策はとても重要なポイントだ。 このページではLinuxのセキュリティの基礎対策について概要をご紹介する。全体像をざっくりと把握するにはちょうど良い内容になっているだろう。参考にして頂ければと思う。 Linuxのセキュリティ対策 オープンソースとセキュリティについて オープンソースで大丈夫? Linuxはオープンソースで開発されている。つまりソースコードが公開されている訳だ。 「ソースが公開されているなら、悪意のあるユーザが弱点を見つけられるのでは?」 という疑問はもっともだ。実際、誰かが脆弱性を見つけて、それを報告しなければ、その人しか知らない脆弱性が残るということになる。 また、多くの人があらゆる要求に対して、多数の機能を追加することがあるため、ソースコードがどんどん膨らんでいく。そうなると、多機能
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く