/etc/passwd中包含有用户的登录名

/etc/shadow中包含有用户密码的加密算法后的结果和其他一些辅助信息

/etc/login.defs 中参数PASS_MIN_LEN 8(口令最小长度8),

                 参数PASS_MIN_DAYS (口令使用时间)。

/etc/profile  可设置管理员在离开系统之后超时后自动注销,加一条 TMOUT=3600 秒为单位。


禁止任何人通过su命令改变为root用户

   /etc/pam.d/su  添加下面两行

       auth sufficient /lib/security/pam_rootok.so debug

       auth required /lib/security/Pam_wheel.so group=glz    仅管理组glz有权su。

最好删除多余缺省用户和组

    删除用户和组的命令:

    [root@Linux/]# userdel LP

    删除组:

    [root@Linux/]# groupdel LP

限制远程登录

   摘自【http://tech.ccidnet.com/art/302/20070530/1096083_1.html】

 

Linux下如何限制Root用户进行远程登录


发布时间:2007.05.31 06:29 来源:赛迪网技术社区作者:sixth

限制用户 root 远程登录,对保证计算机系统的安全,具有实际意义。本文向大家介绍一些方法,能达到限制 root 远程登录的目的。


方法一:在/etc/default/login 文件,增加一行设置命令。


CONSOLE = /dev/tty01


设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到限制root远程登录,不过,同时也限制了局域网用户root登录,给管理员的日常维护工作带来诸多不便。


方法二:1.为了达到限制root远程登录,首先要分清哪些用户是远程用户(即是否通过另一台 Windows 系统或 UNIX 系统进行 telnet 登录),哪些用户是局域网用户。通过以下shell程序能达到此目的。


  TY=`tty | cut -b 9-12`  WH=`finger | cut -b 32-79 | grep "$TY " | cut -b 29-39`  KK=` tty | cut -b 6-9`  If [ "$KK" = "ttyp" ]  then   WH=$WH  else   WH="local"  fi

以上Shell命令程序中,WH为登录用户的主机IP地址,但如果在 /etc/hosts 文件中,定义了IP 地址和机器名之间的对应关系,则 WH 为用户登录的主机名。假设连接到局域网中的终端服务器的IP 地址为:


99.57.32.18, 那么应在 /etc/hosts 文件中加入一行:


99.57.32.18 terminal_server


所有通过99.57.32.18终端服务器登录到主机的终端中,WH 是同一个值,即为终端服务器名terminal_server。


2.在root的.profile文件中,根据 WH 值进行不同的处理,从而实现限制root远程登录。



  Trap 1 2 3 9 15  If [ "$WH" = "local" -o "$WH" = "terminal_server" ]  then   echo "Welcome......"  else   exit  fi


方法三:有时为了工作的方便,允许局域网中部分电脑root登录,例如,允许局域网中IP 地址为 99.57.32.58 的电脑root登录,要实现这一点,需要在前述方法中,作两点补充:


1.在 /etc/hosts 文件中,加入一行:99.57.32.58 xmh。


2.在上述 Shell 程序段中,将下述内容:


If [ "$WH" = "local" -o "$WH" = "terminal_server" ]


修改为:


If [ "$WH" = "local" -o "$WH" = "terminal_server" -o "$WH"= "xmh" ]


方法四:经过以上处理后,仍存在普通用户登录后用su命令变成 root 用户的可能,从而达到 root 远程登录的目的。为了防止用这种方法实现 root 远程登录,需要限制普通用户不能执行 su 命令:


1.将su命令属主改为 root;


2.将su命令的权限改为 700(责任编辑:凌云通)