扫一扫
关注微信公众号

UNIX 问题
2002-03-01   网络


问:为什么用telnet/ftp登录时特别慢,而登录进去后又正常呢?
答:这是因为telnetd/ftpd是用tcpd来启动的,而tcpd要进行安全性检查,而它使用反向名字解析。
你可以把客户机的IP地址/名字加到/etc/hosts中或加到DNS里。
另一种办法是取消tcpd(不推荐),修改/etc/inetd.conf
将原来的:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
改为:
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd -l -a
原来的:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
改为: telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
改完之后用killall -HUP inetd即可生效。


问:如何禁止某个用户的telnet功能,同时它有ftp功能?
答:假设你想把用户ftponly的telnet关掉,
1)写一个shell script /bin/ftponly:
#!/bin/sh
/bin/cat << XX
You can only use FTP on this computer,
but you may not use this account to login.
Connection will be closed in 10 seconds.
XX
/usr/bin/sleep 10
#end of ftponly
这里的XX是个标志,当ftponly试图telnet的时候,屏幕上将显示两个XX之间的内容,
然后10秒以后切断connect。注:还应该用trap来屏蔽键盘中断吧!否则人家用Ctrl-Z......

2)把用户ftponly的shell设置成/bin/ftponly:到passwd文件,找到对应于ftponly的那行:
ftponly:......:/home/ftponly:/bin/bash
把最后的/bin/bash改为/bin/ftponly.

3)把 /bin/ftponly 加入到 /etc/shells
/bin/bash
/bin/tcsh
/bin/csh
/bin/ash
/bin/zsh
/bin/ftponly
就行了。


问:如何允许root用户远程登录?
答:编辑/etc/securetty,加上ttyp2,ttyp3等。
注意,有严重的安全性问题!
最好是用ssh(安全的shell)加su/sudo,而且用xterm的Secure Keyboard来做远程管理。


问:怎么样做到限时登录?
答:自己写三个shell程序,调用at和系统维护功能:
1. 在指定的时间执行该shell,在/etc下生成一名为nologin的文件,如:
vi /sbin/login.denied
echo " Login Denied " > /etc/nologin
chmod 700 login.denied
2. 在指定的时间执行该shell,删除/etc/下的nologin文件,如:
vi /sbin/login.allowed
if [ -f /etc/nologin ]; then
rm /etc/nologin
fi
chmod 700 login.allowed
3. 编写一个限制时间的shell,如:
vi /sbin/security
if [ -f /sbin/login.denied ]; then
at -f /sbin/login.denid 22:00
fi
if [ -f /sbin/login.allowed ]; then
at -f /sbin/login.allowed 8:00
if
此种设置的功能是:从晚上10:00到第二天早上8:00静止非root拥护登录,显示为系统维护状态。
另外,还需对root用户的登路终端进行限制,最好设置在console。在RedHat 5.0下
在 /etc/security/access.conf中配置:
-:root:ALL EXCEPT console就可以了。
注:还要参考/etc/securetty里的设置吧!

热词搜索:

上一篇:从TRUNK说开去
下一篇:从Win98登录到Windows 2000服务器(图)

分享到: 收藏