FreeBSD 研习课程讲义
Prev 使用FreeBSD内建的ftpd Next

    ◎设定 ftpd
# vi /etc/inetd.conf
我们检查一下 /etc/inetd.conf 有没有下面这行 :
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
把前面的 # 拿掉存档后,重跑 inetd。下指令:
kill -HUP PID 
要得知 inetd 的 PID ,执行指令:
 # ps -ax | grep inetd
这样 FTP 就能够服务有帐号的使用者罗。                
◎让使用者只能在自己的家目录活动

如果没有管制,使用者用自己的帐号 FTP 到主机后,是可以自由的切换任意目录的,
更改以下设定可以限制使用者只能在家目录活动。

<一>使用ftpchroot

一般说来,FreeBSD内没有ftpchroot这个档案,我们要自己新增:

#vi /etc/ftpchroot 

把要限制的user帐号或是群组加进去即可。例如:

aaa               限制user "aaa"在FTP到主机时,只能在家目录活动
bbb               限制user "bbb"在FTP到主机时,只能在家目录活动
@ccc              限制群组 "ccc"在FTP到主机时,只能在家目录活动(若要限制群组,前面要加@)


<二>使用login.conf来限制user,适合一次限制大量user帐号。

#vi /etc/login.conf

新增:ftp-chroot:\即可,如下所示:

default:\
:passwd_format=md5:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
:ftp-chroot:\
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/loca
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
:stacksize=unlimited:\
:memorylocked=unlimited:\
:memoryuse=unlimited:\
:filesize=unlimited:\
:coredumpsize=unlimited:\
:openfiles=unlimited:\
:maxproc=unlimited:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:priority=0:\
:ignoretime@:\
:umask=022: 修改完后,执行 cap_mkdb /etc/login.conf 转到资料库中。 ◎管制所有帐号,但又不限制系统管理用的帐号,以方便做管理,该怎麽办? 1.首先vipw,修改系统管理用的帐号class为 admin,例如: 原始资料 aaa:k5J9bO/INwyHk:1006:1006::0:0:aaa:/home/aaa:/usr/local/bin/bash 改为 aaa:k5J9bO/INwyHk:1006:1006:admin:0:0:aaa:/home/aaa:/usr/local/bin/bash 2.再於login.conf中新增以下几行:

admin:\
:ftp-chroot@:\ (这里的@符号代表的是No的意思)
:tc=default:
3.修改完后,执行 cap_mkdb /etc/login.conf 转到资料库中。 ◎其他FTP相关档案: /etc/ftpwelcome 进入FTP站的欢迎词
/etc/ftpmotd 登入成功后会自动显示的讯息
/etc/ftpusers 不可用来 FTP 连线的黑名单
/var/log/ftpd 匿名登入FTP的传输记录


Prev Home Next
UP