ITエンジニアの開発トレンドやキャリア情報・技術勉強会のレポート記事を紹介するメディアです。| 株式会社grooves 運営
前回からだいぶ間隔が空いてしまいました。前回の最後に案内したudzuraさんのCRIUに関する記事はもう少し時間がかかるようですので、もうしばらく私が担当したいと思います。 今回から数回は、Linuxカーネルに実装されているケーパビリティについて説明します。ケーパビリティは2.2カーネルのころから実装されてきているかなり古くからある機能で、コンテナ向けの機能ではなく一般的に使われている機能です。もちろん、コンテナの安全性を高めるための重要な機能でもあります。 setuid 一般的にはUNIX系のOSでは、プロセスはroot権限(実効ユーザIDが0)で実行される特権プロセスと、一般ユーザ権限で実行される(実効ユーザIDが0以外の)非特権プロセスに分けられます。 一般ユーザは、通常はそのユーザの権限でプログラムを実行すれば良いのですが、一般ユーザが実行するプログラムであっても処理の内容によって
■ZDNET Japan Headlineの購読 ZDNET Japanの最新コンテンツをお届けします(平日毎日配信)。また、企業からのお役立ち情報も不定期でお届けしています。[サンプルはこちら] ■ホワイトペーパーライブラリーの利用 製品情報や技術紹介、導入事例など、企業のITご担当者が製品やサービスを購入する際の参考になる資料(PDFなど)をダウンロードしていただけます。 ■企業情報センターの利用 あなたが企業のマーケティング担当者なら、プレスリリース、イベント情報、会社情報、ホワイトペーパーなどを朝日インタラクティブが運営する各サイトに掲載することが出来ます。なおご利用にはCNET_IDのほか、企業ID登録する手続きが必要です。 ■イベントへの参加 朝日インタラクティブが主催および共催する、業界のキーマンが集うカンファレンスやセミナーにご参加いただけます。 ■キャンペーン、アンケート
« Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。 | Main | VimConf 2019 を終えて » Linux の sudo に root 権限を奪取できるバグが見つかった。 Linuxの「sudo」コマンドにroot権限奪取の脆弱性。ユーザーID処理のバグで制限無効化 - Engadget 日本版 この脆弱性は、sudoコマンドのユーザーIDに-1もしくは4294967295を指定すると、誤って0(ゼロ)と認識して処理してしまうというもの。0(ゼロ)はrootのユーザーIDであるため、攻撃者は完全なrootとしてコマンドを実行できることになります。 https://japanese.engadget.com/2019/10/14/linux-sudo-root-id/ 既に Ubuntu 等にはパッチが配布され始めているらしい
]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ファイルシステムとは何か? データを管理/操作するための仕組み。 ファイルとディレクトリで構成されていて、/ を基点とした木構造になっている。 # ls -l / 合計 56 lrwxrwxrwx. 1 root root 7 8月 25 01:17 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 9月 29 15:51 boot drwxr-xr-x. 19
Photo by Eduardo QuagliatoFollow もじゃ(@s10akir)です。paizaラーニングでプログラミング学習動画制作のアルバイトをしたりバイト中にアニメを見たりしている専門学生です。(今は主にまちカドまぞくを見ています) 私がpaizaラーニングでアニメを見始めてから…もといアルバイトを始めてから、早いもので1年強が経過しました。 実は私はアルバイトのくせに業務では私物マシンのArchLinuxを使っているので、今回は私の開発環境のご紹介と「ぶっちゃけLinuxだけで仕事できるの?どうやってやるの?」というお話をいたします。 (当然ですがこれは私がみずから望んでやっていることで、普通にバイトする人には会社がMacも開発環境も用意してくれます。) ちなみにpaizaラーニングでは「Linux入門編」を公開していますから、私の話に興味はないけどLinuxには興味が
連載目次 Windows 10上でLinux環境が実行できる「Windows Subsystem for Linux(WSL)」は、Linuxサーバを管理しているシステム管理者はもちろんのこと、Linuxの豊富なコマンドを使って文書処理を効率よく実行したいと思うユーザーにおいても、便利な機能として注目を集めている。 以下の記事で紹介したように、すでに現行のWSL(以下、WSL 1)に比べて、よりLinuxとの互換性を高めたWSL 2の開発が進んでおり、Windows Insider Previewで提供されているプレビュー版で公開されている。 2019年8月1日に公開されたビルド18950では、WSL 2のネットワーク機能に改良が行われた。これは、以前から指摘されていた問題に対する改良であり、ユーザーの利便性、Linuxとの互換性を高める上で重要なポイントといえる。そこで本稿では、実際にビ
Linux カーネルのメモリ管理方法について、勉強したことをまとめる。 メモリ管理はハードウェアに強く依存するため、x86_64 かつ OS起動後に 64bitプロテクトモード に移行したあとに話を絞る。また、OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 概要 ノイマン型アーキテクチャ コンピュータの基本的な構成のひとつ。次の図が参考になる。 ほぼ全てのコンピュータが、このアーキ
Linux OSを使う上での大きな魅力の一つが「シェルスクリプト」です。シェルスクリプトでは、よく実行するコマンドをまとめたり、繰り返し処理を簡単に行ったりするなど、さまざまな形で応用することができます。シェルスクリプトを活用することで、Linux上での作業を大幅に効率化することも可能になります。 シェルスクリプトでは、何度も使用したいコマンドやオプションの組み合わせを記述しておく他、条件分岐や繰り返しなどの「制御構文」を使って複雑な処理を行わせたり、定期的に自動実行させるようにしたりするなど、さまざまな用途が考えられます。 今回は、@IT eBook第51弾に続いて、Linuxをもっと使いこなしたいという人のために、連載『“応用力”をつけるためのLinux再入門』から、シェルスクリプトを解説した記事10回分を「シェルスクリプト挑戦編(1)」として一冊にまとめました。 シェルスクリプトを扱
きっかけ Linuxエンジニアとしての基礎力のなさを見抜かれ、これ読んでみるといいよとおすすめされたのがきっかけ。 gihyo.jp 大変お恥ずかしい話だが、自分はエンジニア7年目にして初めてLinuxについての本を読んだ。それまではなにか上手くいかないことがあればブログやQiitaを参考にコピペしてその場しのぎしていただけだった。 目次 第1章 コンピュータシステムの概要 第2章 ユーザモードで実現する機能 第3章 プロセス管理 第4章 プロセススケジューラ 第5章 メモリ管理 第6章 記憶階層 第7章 ファイルシステム 第8章 ストレージデバイス おもしろかったところ メモリ管理 プログラムは直接物理メモリにはアクセスしない。仮想メモリを通して物理メモリにアクセスする forkしたとき、仮想メモリは書き込み権限が付与されずに同じ物理アドレスが紐付いたままの状態。子プロセスで書き込みが走
概要 Linuxのコマンドって多種多様にあるけど、 どういうのを知ってたら良いのかという情報があんまり無いなと思ったので、 インフラエンジニアで運用と保守を経験してよく使うコマンドと、どういう時に使ってたかを書いて行こうと思います。 注意 Linuxのディストリビューション(種類)はRHEL、CentOSです。他のディストリビューションだとパスが違ったり使えないコマンドだったりするのでご留意ください。多分そんなに多く無いはず。。 オプションとかは基本書いてないので、内容読んで興味あれば調べてみてください。需要あれば実行例もあげますが。。 運用・保守でよく使ってたLinuxコマンド 指定したパスにあるファイル、ディレクトリを拡張子 .tar.gz で一つにまとめられます。 あとは解凍も出来ます。zipみたいなもんです。Linuxサーバで取得した情報をひとまとめにしてローカルに持ってくるという
とある python ライブラリが mmap(2) を使ってファイルを MAP_SHARED | MAP_POPULATE flags 付きでメモリに読み込んでいたので、その時 Linux メモリ管理系ツールではどういう挙動になるかチラ裏。 mmap お試しコード #include <fcntl.h> #include <stdlib.h> #include <sys/mman.h> #include <sys/stat.h> #include <unistd.h> #include <stdio.h> int main() { int fd = open("abc.txt", O_RDONLY, (int)0400); off_t size = lseek(fd, 0, SEEK_END); printf("start\n"); char* addr = mmap(NULL, size,
Announcing WSL 2 | Windows Command Line Tools For Developers 「自分らはLinuxカーネルだ。防衛を解除して投降せよ。自分らの技術上の差異は自分らのものとする。自分らの文化は自分らの益とする。抵抗は無意味だ。」 マイクロソフトはWSL 2で本物のLinuxカーネルを同梱して利用すると発表した。 最初のWSLは、マイクロソフトによるLinuxカーネルのシステムコールの互換実装であった。これは様々な互換性とパフォーマンスの問題を抱えていた。互換性は果てしなく低く、パフォーマンスは主にファイルシステム周りがとてつもなく遅かった。 新しい実装であるWSL 2では、本物のLinuxカーネルを使い、完全なシステムコール互換性を実現する。このLinuxカーネルはマイクロソフトによってビルドされている。最初のバージョンはLinux 4.19となる
CVE-2019-5736を覚えていますか?今年の2月に見つかったrunc(Dockerがデフォルトで利用しているコンテナのランタイム)の脆弱性で、ホストのruncバイナリを好き勝手にコンテナ内部から書き換えることができるというものです。 脆弱性の仕組みに興味があったので調べたところ、コンテナを攻撃する方法というのは他にもいろいろあって、runcは頑張ってそれを塞いでいるようです。これまとめると面白いかも、と思ったので以下のようなおもちゃを作りました。 Drofuneは簡単なコンテナランタイムです。drofune runとかdrofune execなどでコンテナを起動したり、入ったりすることができます、といえば想像がつくでしょうか。 これだけでは何も面白くないので、Drofuneはわざと安全でない実装になっています。なので、今回発見されたCVE-2019-5736を利用した攻撃も成立します
Linux Daily Topics 2019年4月23日さようなら、Scientific Linux ―フェルミ研、開発の終了を発表 Red Hat Enterprise Linux(RHEL)のフリーバージョンとして、CentOSとともにかつて活発に開発が進められていたディストリビューションにScientific Linuxがある。開発の中心的存在となっていたのは欧州最大の原子核研究機関のCERN(Conseil Europeen pour la Recherche Nucleaire:欧州素粒子物理学研究所)と米国のフェルミ国立加速器研究所で、RHEL 6をベースとするScientific Linux 6.1あたりまでは、ときにCentOSを凌駕するスピードで開発が進んでいたこともある。 だがそれ以降は、チーフアーキテクトのRed Hatへの移籍などがあり、急速に開発ペースがダウン、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く