2009年11月22日

Solarisログイン制御

TCP_Wrappersを利用しIPやプロトコル単位で制御なら
ちょっとLinuxやUnixを利用している人ならやっていることと思う

今回紹介する方法は
ログインを許可したくないユーザーを判別してログインさせないというもので
某質問サイトに質問があったので答えた時のもの
なかなか使えるので内容を肉付けして書き残しておくことにする

ユーザーに指定したシェルが「csh」または「tcsh」の場合
「/etc/.login」ファイルの中の末尾に以下を追加

if ( `logname` == "ログイン拒否したいユーザー名" ) logout

たとえば複数の拒否したいユーザーがいる場合は以下のように複数追加

if ( `logname` == "ログイン拒否したいユーザー名" ) logout
if ( `logname` == "ログイン拒否したいユーザー名" ) logout


ユーザーに指定したシェルが「bash」の場合
「/etc/profile」ファイルの末尾に以下を追加

if [ `logname` = "ログインを拒否したいユーザー名" ];then
  logout
fi


複数いる場合は「csh」と同じように複数追加でOK
「bash」のみ外部ファイルからユーザー名を読み込んで制御する方法を記す

「/etc/profile」ファイルの末尾に以下を追加

. /etc/logout.dat
for name in $logoutname
  do
   if [ `logname` = ${name} ];then
    logout
   fi
  done


次に「/etc/logout.dat」ファイルを作成し中に次の内容を記述

logoutname="ユーザー名 ユーザー名 ユーザー名"

といった感じでログインを制御したいユーザー名を追加していく
ユーザー名とユーザー名の間は半角スペースをいれて区切る
組み込みコマンドでlogoutが使えないシェルがほとんどで
その場合はエラーが表示されてログインしてしまうので
他のシェルで使用する場合は注意

ちなみに試したsolarisのバージョンは9と10だが
その他のバージョンやLinuxで使用する場合は
自分で試してみること

※上記の方法で制御したいが
 ユーザーのシェルが上記の3種類のシェルに該当しない場合は
 「/etc/passwd」ファイルをviあたりで開いてシェル部分を編集



同じカテゴリー(Solaris)の記事
 Solaris10 SSHホストベース認証 (2010-08-09 22:38)

Posted by タカさん at 18:08│Comments(0)Solaris
※会員のみコメントを受け付けております、ログインが必要です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
Solarisログイン制御