VPSの初期状態(rootユーザはいるが、普通のユーザがいないよ)からはじめる
鯖管は基本的に一人ではやらないはず、にもかかわらずrootさんしかいないと「だれが何をやったのか?」がわからなくなってしまう。
なので管理人がいるならrootとは別に「管理人ユーザ」を作っておいたほうがいいらしい。
そこで管理人ユーザを作成してみるが、この時、「うっかり大事な操作をしてしまわないようにする」のも大事だと思う。
そこで管理人は管理人でも「大事な操作の時には一手間必要になる管理人」を作成してみる。
アクセス制御をいろいろやる方法もあるけれど、ここは手っ取り早く「sudoコマンドを使わないと大事な操作ができない」ユーザを作ってみる。
まずはユーザの追加から
管理者(root)でログインして「users」というグループの「yosilove」さんを作成し、パスワードを付与する。#useradd -g users yosilove #passwd yosiloveこの時、あえて管理者グループ(wheel)には入れない。
普段使いのユーザが管理者権限を持っていると、大事な設定ファイルをうっかり編集して大変なことになってしまうことがあるので・・・
なんでもかんでも簡単にできちゃうrootなユーザはなるべく誰も(自分も)使わないようにする。
一時的に管理者権限が使えるように
とはいえ、このままだと設定変更をするたびにrootでログインしないといけないという面倒な事態になるので、 必要な時だけ管理者権限(厳密にはroot(管理者)よりは権限低いけど)を使えるようにする。というわけで一時的に管理者権限を使えるようにするためのコマンド(sudo)の設定ファイルを修正。
まずは編集権限をあげる
chmod +w /etc/sudoers好きなエディタで開いて「yosiloveが どのホストからも=(あらゆる権限で) どんなコマンドでも」実行できるようにする
yosilove ALL=(ALL) ALLそしてうっかり編集を防ぐために編集権限をなくしておく。
chmod -w /etc/sudoers
さて、うまくできたか試してみる。
まずはrootユーザでファイルを作成、当然他人は見れないはず。
#touch /root/Mienai_file.txt #ls -l /root 合計 0 -rw-r--r-- 1 root root 0 4月 29 20:27 2012 Mienai_file.txtユーザをyosiloveに変えてためしてみるが、狙い通りやはり見えない
$su yosilove $ls /root ls: cannot open directory /root: 許可がありませんだがしかし、sudoコマンドを使うと管理者権限で実行できるので見える
$sudo ls -l /root 合計 0 -rw-r--r-- 1 root root 0 4月 29 20:27 2012 Mienai_file.txt
できたー!!
1 comments:
2012年4月29日 23:12
備忘録がわりにメモ
ユーザに権限を与えるのではなく、グループに権限を与えてユーザをそのグループに入れるという方法ももちろんあるし、ユーザが複数いたりたまに管理人が入れ替わったりする場合はそちらの方が管理しやすくて便利。
だがその場合は新しいグループを作るのがおすすめ、デフォルトで存在するグループにはなにかしらの特権が与えられている可能性があるので、想定外のことができてしまったり、ゴニョゴニョし過ぎるとプリインストールされているサービスが動かなくなったりするから・・・
コメントを投稿