はじめまして、LinuxRcdHat9をとりあえず構築したのですが、ルートになれるユーザの制限を設定したらエラーが発生してしまいました。
設定をした項目は下記の通りです。
デフォルトの設定では、suコマンドを実行してパスワード認証をクリアすればだれでもrootになれます。これはセキュリティ上好ましくありません。そこで、suコマンドでrootになれるアカウントを制限するように設定します。
まず、/etc/login.defsファイルの編集が必要です。このファイルを開いたら、以下の1行を追加します。
SU_WHEEL_ONLY yes
次に/etc/groupファイルのwheelの行を修正します。ここでは、例としてrootになれるアカウント名を「user」に限定することにします。もし、user以外のアカウントにもrootになることを許可するのであれば、カンマで区切って列挙します。
wheel:x:10:root,user
さらに、上記の設定を有効にするため/etc/pam.d/suファイルに以下の行を追加します。
auth required /lib/security/pam_wheel.so use_uid group=wheel
これで、suコマンドでrootになれるアカウントはuserのみとなります。
上記の設定でもちろんuserは、自分で設定したユーザー名です。
自分で設定したユーザ名にてログインして、ルートになるためにsuコマンドを入力すると【セグメンテーション違反です】との表示が出て、ルートになれません。
上記の設定をもとに戻しても【セグメンテーション違反です】が表示されてルートになれません。直接ルートでのログインは可能です。
ユーザーは、ログインするためのユーザーがひとつとメールだけの専用のユーザー(ログインできない)の二つしか登録してありません。ログインできるユーザーがひとつだけのために起こるエラーなのでしょうか。
原因がよくわかりません。ご存じの方がいたら教えていただけませんか。サーバーのその他の機能は問題なく動いているようです。
どもです。
Vinelinuxですが、実験してみました。
/etc/group
wheel:x:10:root,user
/etc/login.defs
SU_WHEEL_ONLY yes
/etc/pam.d/su
auth requisite pam_wheel.so group=wheel debug
この3箇所の追加修正でルートになれるユーザの制限が出来ましたし、
auth requisite pam_wheel.so use_uid group=wheel
これにしてもルートになれるユーザの制限ができて「セグメンテーション違反」
のエラー表示は出なく、エラー再現しません。
他の別の問題かもしれませんね。
お忙しい中【セグメンテーション違反です】に関して、アドバイスをいただきありがとうございました。アドバイスが参考にエラーの原因を治すことができました。
エラーの原因は/etc/pam.d/suファイルをviエディタで開いたときに、自分の知らない間に一行目をコメントアウトしていたので正しく動いてくれなかった、とわかりました。
#%PAM-1.0とあるべきところPAM1.0になっていたためでした。
また皆様の所へマルチポストしたことをお許しください。またわからないことが発生したらアドバイスをお願いします。失礼します。