一時的に他のユーザーになる First Edition 2001.6.26 Last Modified 2003.9.24 一時的に他のユーザーになりたい時があります。大抵は一時的にルートになるために使うこ とになると思います。しかし管理者以外ルートのパスワードを知っているべきではありません。 目次 1 一時的に他のユーザーになる(対象Ver:全て)(2003.9.24) 2 ルートになるときに注意すること(対象Ver:全て)(2003.9.24) 3 スーパーユーザーになるのを制限する(対象Ver:全て)(2003.9.24) 一時的に他のユーザーになるsuコマンドを使い、ユーザー名とパスワードを入力します。$ su milky Password:こうすることにより、milkyというユーザーに移行することが出来ます。この場合、パスなどのユーザー環境は、 ユーザーを変更する前のものになります。 ユーザーを移行したときに、移行したユーザーの環境にも移行したいときは、 以下のように"-(ハイフン)"を付けてsuコマンドを実行します。 $ su - milky Password:一般ユーザーに移行する以外に、ルートに移行することもできます。以下のようにします。 $ su -ここで、最後のハイフン(-)をつけることにより、最初からルートでログインしたのと同じ環 境変数が設定されます。ハイフンを付けないと、たとえば/sbinディレクトリなどにパスが通らず、 command not foundと出てしまい、あれ?と思ってしまうことがあります。 ハイフンを付けないでルートになると、カレントディレクトリはそのままでルートになれます。 ルートになるときに注意することルートになるときは特別注意しなければなりません。ルートで作業するとちょっとした操作ミスにより取り返しのつかないことになりかねません。 ルートになるときは以下の項目に注意しましょう。
suでルートになって作業する場合、使用するコマンドが決まっているなら以下のようにするとコマンド終了後に 元のユーザーに戻るますので、少しは安全になります。 $ su -c "/sbin/fdisk /dev/hda"という風に、-cオプションにより、コマンドを直接指定します。上記の例ではfdiskコマンドを終了すると元のユーザーに戻ります。 スーパーユーザーになるのを制限するスーパーユーザーになるのは、パスワードを知っていれば誰でもできてしまいます。これをユーザーによって制限する方法があります。 複数のユーザーが登録されているシステムでは必要なアカウント以外はスーパーユーザーになれないようにしておいた方が 良いです。 ルート(スーパーユーザー)になって、/etc/groupファイルを編集します。 root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root lp:x:7:daemon,lp mem:x:8: kmem:x:9: wheel:x:10:root,lucky ←カンマで区切ってユーザーを列挙していきます mail:x:12:mailwheelグループにカンマで区切ってユーザーを列挙していきます。次に/etc/pam.d/suファイルを編集します。 auth required /lib/security/pam_wheel.so use_uid という行がコメントアウトされていますので、コメントアウトを外します。(行の先頭の#マークを削除する) /etc/pam.d/su #%PAM-1.0 auth sufficient /lib/security/pam_rootok.so # Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient /lib/security/pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. auth required /lib/security/pam_wheel.so use_uid ←コメントアウトされているのを外す auth required /lib/security/pam_stack.so service=system-auth account required /lib/security/pam_stack.so service=system-auth password required /lib/security/pam_stack.so service=system-auth session required /lib/security/pam_stack.so service=system-auth session optional /lib/security/pam_xauth.soこのようにすれば、luckyユーザーしかsuコマンドでルートになることはできなくなります。 [HOME] since 2001.4.22 |