2012年4月29日日曜日

Linuxで管理人ユーザを作成してみる

長いこと使っていなかったのでLinuxの勉強やり直し。
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:

@yosilove says:
2012年4月29日 23:12

備忘録がわりにメモ

ユーザに権限を与えるのではなく、グループに権限を与えてユーザをそのグループに入れるという方法ももちろんあるし、ユーザが複数いたりたまに管理人が入れ替わったりする場合はそちらの方が管理しやすくて便利。
だがその場合は新しいグループを作るのがおすすめ、デフォルトで存在するグループにはなにかしらの特権が与えられている可能性があるので、想定外のことができてしまったり、ゴニョゴニョし過ぎるとプリインストールされているサービスが動かなくなったりするから・・・

コメントを投稿