Carpe Diem

  Top > スポンサー広告> セキュリティ > suコマンドの制限  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

suコマンドの制限

2011 - 11/30 [Wed] - 20:53

ユーザ間の移動に便利なsuコマンドですが、セキュリティ的にはやや問題があります。
なぜならパスワードさえ分かれば、rootを除くどのユーザにもなれてしまうからです。
またrootもデフォルトではパスワードロックが有効になっているためにsuではなれませんが、もしroot権限で

root@server:~# passwd

なんてやってしまうとそのロックが外れて誰でもsuでrootになれる可能性ができ、セキュリティ的に非常に問題です。

そこで今回はそのsuコマンドを使用できるユーザの制限をします。

◆rootのパスワードロックの有効化

まずは先ほど外してしまったパスワードロックを有効化します。rootユーザでパスワードを変更していない場合は必要ありません。

$ sudo usermod -p '!' root

これで再びパスワードロックがかかりました。

◆suユーザの制限
PAMを使います。ググるとwheelグループにsu権限を与えるとありますが、今のUbuntuにはwheelグループはないので(多分)、新しくwheelグループを作る必要があります。が、モッと楽にできて、今現在はwheelの代わりにadmグループを使用しているとのこと。なのでsuを使えるようにしたいユーザをadmグループに含めます。

$ sudo gpasswd -a user1 adm

ちなみに消したい場合は以下

$ sudo gpasswd -d user1 adm


もし上のコマンドを実行したのがuser1本人であれば、設定を反映させるため一度ログアウトしてください。別ユーザで上の設定をしたのであれば特に必要ありません。補足ですがgroup情報は以下で確認できます。

# less /etc/group

次に/etc/pam.d/suを編集します。

# emacs -nw /etc/pam.d/su

15行目くらいで以下のように編集してください

# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so
auth       required   pam_wheel.so group=adm

保存して完了です。特にサービスやモジュールのリロードは必要ありません。
試しに権限のないユーザで実行しようとすると

$ su user2

Password:
su: Permission denied


と、正しいパスワードを入力してもuser2になることはできません。

ソース:
suコマンドの実行を制限する。
suコマンドを制限する

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。