第7回第8回第9回と複数回にわたり、Ubuntuのセキュリティの基本中の基本として、「パーミッション」について説明してきた。次は、パーミッションを理解する上で欠かせない概念であり仕組み「ユーザー」を取り上げる。Windowsで使うUbuntuのユーザーがどのようなものなのかも、ここで理解しておこう。→連載「WindowsでUbuntuをはじめる」のこれまでの回はこちらを参照

Ubuntuを起動

Ubuntuを起動する。スタートメニューから「Ubuntu on Windows」を選択すればよい。

  • スタートメニューから「Ubuntu」を起動

    スタートメニューから「Ubuntu」を起動

  • Ubuntu / Windows Terminal

    Ubuntu / Windows Terminal

「Ubuntu on Windows」を選択すると、上のようなターミナルアプリケーションが起動してくる。ここでUbuntuのコマンドを実行する。

Ubuntuのユーザー

オペレーティングシステムの分類や歴史はこの連載で扱う内容ではないのでざっくりと説明すると、UbuntuはUNIXと呼ばれるオペレーティングシステムの概念が仕組みの基本になっている。UNIXは1台のコンピュータを複数のユーザーが同時に使うことができるシステムとして開発された背景があり、結構最初の段階から「ユーザー」という概念をもっていた。

当時のコンピュータは、現在とは比較にならないほど高価だ。1人に1台コンピュータを与えるなど、どれだけ潤沢に予算があっても難しかった。1台のコンピュータを複数のユーザーが同時に接続して使ったり、順番に別のユーザーがログインして使ったりしていた時代だ。

このため、オペレーティングシステムには「ユーザー」という概念があり、あるユーザーが勝手に他のユーザーのファイルを書き換えたり、隠しておきたいファイルを見られなかったりといった仕組みが整っていく。これがパーミッションだ。

「ユーザー」は物理的なリアル人間にも適用されるし、サーバといったソフトウェアにも適用される。ソフトウェアに「ユーザー」を割り当てることでパーミッションを機能させセキュリティとして使っている。こんな感じでユーザーという概念が進化してきた背景があり、これをベースにしているUbuntuにもユーザーという概念であり仕組みが用意されている。

一般ユーザーとスーパーユーザー

「ユーザー」は、Ubuntuにいくつも存在しているが、実はそこには2種類のユーザーが存在している。ほとんどのユーザーは「一般ユーザー」と呼ばれるユーザーだ。それ以外に「スーパーユーザー」という特別なユーザーが存在している。

一般ユーザーは、Ubuntuが用意しているさまざまなセキュリティ機能の影響を受ける。一方、スーパーユーザーはそうした制限を無視してやりたい放題できる、特権的なユーザーであり、Ubuntuに全権を有している。これも歴史的な慣例ということになるのだが、このスーパーユーザーのユーザー名は「root」となっている。

Windows (WSL)のUbuntuは一般ユーザーで使う

WindowsにUbuntuをインストールしたとき、ユーザー名とパスワードを入力した。WindowsでUbuntuを使うときは、この最初に作成したユーザーで操作していることになる。これは一般ユーザーであり、Ubuntuの提供するさまさまなセキュリティ機能の影響を受ける。

  • WindowsのWSLで使うUbuntuは一般ユーザで使っていることになる

    WindowsのWSLで使うUbuntuは一般ユーザーで使っていることになる

「id」というコマンドを実行すると、自分がどのユーザーで動いているのかを確認できる。上のスクリーンショットでは、「daichi」という一般ユーザーを使っていることがわかる。このユーザーは同じ名前の「daichi」というグループに所属しているほか、adm、dialout、cdrom、floppy、sudo、audio、dip、video、plugdev、netdevというグループにも所属していることがわかる。