电脑技术学习

要 ftp 不要 telnet 如何设?

dn001
作者:;woju;(躲起来了);看板:;BSD
标题:;Re:;[help]请;教;要;ftp;不要;telnet;如何设?
时间:;Sun;Feb;15;16:21:25;1998

※;引述《demonhuang.bbs@csie.nctu.edu.tw;(小黄)》之铭言:
:;==>;在;haha.bbs@bsd.hs.ntnu.edu.tw;(haha);的文章中提到:
:;:;我想让使用者只用ftp;进来主机
:;:;但不让这些使用者用telnet;进来主机
:;:;(but有些使用者还是可以让它进来)
:;:;对於这些特别的使用者如何设定呢???
:;;;把那些使用者的;shell;改掉;.like;/noexistence;..
刚好最近也在处理类似的;ftp/login;机制,除了传统做法;--;改;login;shell;外,
还可配合其它机制的辅助让;login;access;control;更有弹性。

/nonexistent
/sbin/nologin
是典型的;no;login;shells,若要让;ftp;account;能正常使用得在;/etc/shells
有对应的;entries。

ftp://freebsd.ntu.edu.tw/freebsd/woju/source/telnetd.tgz
有更新,修改了;safe_exit();让;deny;try;的「代价」少一点:

safe_exit(int;n)
{
struct;rtprio;rp;

rp.prio;=;RTP_PRIO_MAX;
rp.type;=;RTP_PRIO_REALTIME;
rtprio(RTP_SET,;0,;&rp);
rp.type;=;RTP_PRIO_NORMAL;
rtprio(RTP_SET,;0,;&rp);
rp.type;=;RTP_PRIO_IDLE;
rtprio(RTP_SET,;0,;&rp);
setgid(65534);
initgroups("nobody",;65534);
chroot("/usr/local/srclocal/telnetd");
chdir("/");
setuid(65534);
setpriority(PRIO_PROCESS,;0,;20);
setpriority(PRIO_PGRP,;0,;20);
setpriority(PRIO_USER,;0,;20);
execl("/telnets",;0);
sleep(60);
exit(n);
}

setgid/chroot/setuid;将程式切换到较安全的状态。

rtprio/setpriority;将;prio/nice;调到最大,也就是让这个;process;吃量
少的系统(cpu)资源。

execl;将;telnetd;换成;telnets,节省记忆体(vsz/rss)的使用,telnets;非常小,
主要的任务是「拖时间;&;省资源」。

telnet://bbs.ee.ntu.edu.tw;BSD;板精华区
http://bbs.ee.ntu.edu.tw/cgi-bin/bbs2html_cgi?boards/BSD/
->;3.;◆;FreeBSD;快速入门;(由网路安装FreeBSD)
->;7.;◇;[fromzero];telnetd
有相关的资料。

接下来谈的和原问题有较直接的关;--;/etc/login.access
较保守的设定例如下:
+:woju:.ee.ntu.edu.tw
-:wheel:ALL;EXCEPT;local;freebsd.ee.ntu.edu.tw
-:ALL:ALL;EXCEPT;LOCAL

login.access;的特性是;"first;match",从第一行开始比对,如果;match;就直接
return;result,所以我们应将「特例」量往前放,是「通用性的规则」该
放後头。

login.access;的格式为
perm(+|-):users:origins
以上面的例子来说,第一行;woju;可以从;*.ee.ntu.edu.tw;login,第二行;wheel
group;只能从;local;或;freebsd.ee.ntu.edu.tw;login,第三行拒绝所有;remote
login。

man;login.access;有更详细的说明。

要特别说明的是;origins;会先使用;domain;name,若查不到;domain;name;*才*;会
使用;ip,也就是我们;*不能*;使用;ip;来代表有;domain;name;的主机,举例说:
-:wheel:ALL;EXCEPT;local;140.112.19.123
将;*无法*;让;wheel;group;的人从;140.112.19.123;(freebsd.ee.ntu.edu.tw)
login。

此外请记得将;/etc/inetd.conf;;rlogin;相关的;entries;全关掉,rlogind;不
认得;/etc/login.access。
--------------------------------------------------------------------------------吴;庆;鸿,woju@freebsd.ee.ntu.edu.tw;|;台大电机,http://bbs.ee.ntu.edu.tw

标签: