Unix中限制root远程登录的方法
2008-02-23 05:31:10来源:互联网 阅读 ()
方法一:在/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。
方法五:在上述方法中,虽限制了普通用户执行su 命令,但“精明”的用户能够用 ftp 命令上载一个用户能够执行的 su命令,从而实现 root 远程登录。为了防止这一点,需要在路由器上设立防火墙,限制用户执行ftp协议,这里不再赘述。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 实现Windows和Unix资源共享
下一篇: 构建SCO UNIX下的Web服务器
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash