自宅サーバーをみんなで使う

2011年7月26日(火)
sanonosa

sudo

通常一般ユーザーはroot権限を使う必要がありませんし使わないほうが安全です。昔UNIX OSが非常に高価だった頃、UNIXを一般ユーザーとして使っていた若かりし頃の著者はroot権限を全く必要と感じませんでしたし、下手にroot権限を持って壊してしまっては怖いのでroot権限を欲しいと全然思いませんでした。何かしたいときはroot管理者様にお伺いを立てて対応いただくといった重みが当時のUNIXの世界にはありました。

ところがUNIX系OSがこれだけ一般化してしまうとroot権限で操作することに対する特別な感覚はなくなり、またみんなroot操作に慣れているのでroot管理者にいちいち何かやってもらうよりは自分でやりたいと言い出します。しかしrootアカウントを共用にしてしまうと収拾がつかなくなるので、現在はrootアカウントを渡す代わりにsudoを細かく設定することでroot権限を扱える範囲を制限する方向で対応するのが良いと思います。

例えばuser1はapacheの再起動しかできない、user2はapacheの再起動とfindコマンドの実行ができる、user3は全てのコマンドを実行できる、といった感じです。

sudoは/etc/sudoersという設定ファイルにてアクセス制限を行います。しかしこのファイルを直接vi等で編集すると危険なため、この設定ファイルを編集するためのvisudoという専用のコマンドが用意されています。

  # visudo

sudoersの書式にはいろいろありますが、ここでは代表的なものの例のみ紹介します。

sudoで特定ユーザーが全てのコマンドを使えるようにする

  yamada ALL=(ALL) NOPASSWD: /usr/bin/find

sudoで特定ユーザーが特定コマンドだけ使えるようにする

  yamada ALL=(ALL) /usr/bin/find

sudoで特定ユーザーが特定コマンドだけパスワード入力なしで使えるようにする

  yamada ALL=(ALL) NOPASSWD: /usr/bin/find

sudoで特定グループが特定コマンドだけ使えるようにする

  %admingrp    ALL=(ALL) /usr/sbin/httpd

最後に

今回自宅サーバー実践編ということで、4回に亘って自宅サーバーで実際に使われそうな実例をいろいろご紹介させていただきました。誌面の都合で説明不足な部分も多々あったかと思いますが、全体の流れや雰囲気をつかんでいただいた後、ご自身で周辺知識を勉強しながら補完していただければと思います。どうもありがとうございました。

国内某有名ITベンチャー企業に創業メンバーとして携わる。国内最大規模のシステムを構築運用してきたほか、社内情報システム導入のプロジェクトマネジメント、韓国の交友関係が豊富なことから韓国関連で多数のシステムインテグレーションなども行ってきた。前職は富士通株式会社でSE。
個人blog:http://nosa.cocolog-nifty.com/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています