压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

PAM禁止root用戶登錄,限制普通su切換

  系統(tǒng)環(huán)境是CEONOS6.4, 介紹下PAM(Pluggable Authentication Modules)在ssh服務(wù)上的簡單配置過程。

  必須先添加普通用戶,并屬于wheel組,保證有除root之外的其它用戶能登錄到系統(tǒng) !!!!!!!

  useradd -g wheel  admin

  passwd admin

  1 禁止root登錄

  vim /etc/ssh/sshd_config

  添加 UsePAM yes

  vim /etc/pam.d/sshd   行首添加:

  auth   required        pam_listfile.so item=user sense=deny file=/etc/ssh/denyuser onerr=succeed

  echo "root" >> /etc/ssh/denyuser

  列在/etc/ssh/denyuser中的用戶, 都會(huì)被拒絕使用密碼登錄!!

  2 只允許wheel組用戶(root默認(rèn)也不屬于wheel的)使用su:

  vim /etc/pam.d/su    行首添加

  auth    required        pam_wheel.so use_uid

  3 附shell:

  使用須知:

  A. 需要你先安全地生成自己的密鑰對,并妥善保管!!將“mykey”替換為你的公鑰串

  B. 腳本包括了創(chuàng)建普通用戶"admin",可以修改為你自己需要的用戶,它可以使用su切換到root

  C.腳本執(zhí)行結(jié)果為, 限制root使用密碼登錄系統(tǒng),但若設(shè)置了使用密鑰,仍可以登錄(安全性好)

  D.add_my_key root $1(腳本中標(biāo)紅色),后面參數(shù)為你想添加公鑰認(rèn)證的所有用戶,可以自己補(bǔ)充。

  E.腳本供大家學(xué)習(xí)交流,生產(chǎn)環(huán)境使用前,請先在測試環(huán)境中測試效果,作者不對任何結(jié)果負(fù)任何責(zé)任。

  #!/bin/sh

  LOG_FILE=$0.log

  wr_log(){

  TIME=`date +"%Y-%m-%d %H:%M:%S"`

  if [ $1 -eq 0 ];then

  echo "[$TIME] $2 success"

  echo "[$TIME] $2 success" >> ${LOG_FILE}

  else

  echo "[$TIME] $2 error"

  echo "[$TIME] $2 error">>${LOG_FILE}

  exit 1

  fi

  }

  gsed(){

  #用于修改配置文件,后接3個(gè)參數(shù):1.要修改的行2.修改后的行3.被修改的文件

  #若找不到匹配的行, 會(huì)將$2添加到文件的首行

  `/bin/grep -E "^$1" $3 >/dev/null`

  ret1=$?

  `/bin/grep -E "^$2" $3 >/dev/null`

  ret2=$?

  ret=10

  if [ $ret1 -eq 0  ] ; then

  /bin/sed -i -r 's/^'"$1"'/'"$2"'/g' $3

  ret=$?

  elif [ $ret1 -ne 0 -a $ret2 -ne 0 ];then

  /bin/sed -i '1i '"$2"'' $3

  ret=$?

  else

  ret=0

  fi

  return $ret

  }

  add_my_key(){

  mykey='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtCgu1KvU/YMkPSnlEB4hyVWCc9/a5X3rqafGr7dPMdiMXXcyBpBd2t8NE/4rQ33rnd6GGUIlv3+2wPI8hFc5zU13G//jKseVS0hbY8XIq8zq8NhKzk/uX8m5ZE'

  for user in $@;

  do

  if test $user = 'root';then

  dir='/root/.ssh'

  else

  dir="/home/$user/.ssh"

  fi

  if  ! test -d $dir;then

  /bin/mkdir -p $dir

  fi

  chmod 700 $dir&&echo $mykey >>$dir/authorized_keys&&chown -R $user $dir&&chmod 600 $dir/authorized_keys

  wr_log $? "add ssh key for $user"

  done

  }

  add_user(){

  /usr/sbin/useradd -g wheel $1 &&echo "$2" |/usr/bin/passwd $1 –stdin

  wr_log $? "add user $1 "

  }

  deny_root_login(){

  #用于修改PAM的su和sshd配置,禁止root遠(yuǎn)程登錄,禁止非wheel組用戶登錄(su)到root用戶

  if test $# -ne 2;then

  echo "usage: deny_root_login normal_user user_password"

  wr_log 1 "wrong usage:$@ "

  fi

  add_user $1 $2

  add_my_key root $1

  gsed "auth[ ]+required[ ]+pam_wheel.so use_uid" "auth    required    pam_wheel.so use_uid" /etc/pam.d/su &&

  gsed "UsePAM[ ]+no" "UsePAM yes" /etc/ssh/sshd_config &&

  gsed "auth[ ]+required[ ]+pam_listfile.so item=user sense=deny file=/etc/ssh/denyuser onerr=succeed" "auth   required        pam_listfile.so item=user sense=deny file=/etc/ssh/denyuser onerr=succeed" /etc/pam.d/sshd  &&echo "root" >> /etc/ssh/denyuser&&/sbin/service sshd restart

  wr_log $? "deny_root_login"

  }

  deny_root_login admin  "yourpassword"

 

上一篇:安卓防火墻 PS DroidWall

下一篇:WirelessKeyView 查看保存在XP下面的無線密碼