linux proftpd-1.3.4c安装配置实例
程序员文章站
2022-04-06 21:03:18
1.软件下载安装
[root@chenghy ~]# cd /root
[root@chenghy ~]# wget ftp://ftp.proftpd.org...
1.软件下载安装
[root@chenghy ~]# cd /root [root@chenghy ~]# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4c.tar.gz [root@chenghy ~]# tar zxvf proftpd-1.3.4c.tar.gz [root@chenghy ~]# cd proftpd-1.3.4c [root@chenghy ~]# ./configure --prefix=/usr/local/proftpd [root@chenghy ~]# make [root@chenghy ~]# make install
2.修改配置文件
[root@chenghy ~]# vim /usr/local/proftpd/etc/proftpd.conf servername "chenghy's ftp server" servertype standalone # 以独立进程方式运行 defaultserver on port 21 # ftp端口 umask 002 # 权限,建议设置为002 usereversedns off # 禁止dns反查 identlookups off # 禁止dns反查 serverident off # 隐藏软件版本信息 allowretrieverestart on # 下载断点续传 allowstorerestart on # 上传断点续传 ## 虚拟用户认证信息 authorder mod_auth_file.c # 只允许虚拟用户登陆 authuserfile /usr/local/proftpd/etc/ftp.users authgroupfile /usr/local/proftpd/etc/ftp.group defaultroot ~ # 将用户限定在根目录下 passiveports 20000 30000 # 被动模式端口段 systemlog /var/log/proftpd/proftpd.log # 软件日志 transferlog /var/log/proftpd/proftpd.xfer.log logformat default "%h %u %t %d \"%r\" %s %b" # 日志格式 extendedlog /var/log/proftpd/access.log write,read default # 访问日志 maxinstances 250 # 允许最大连接 maxclients 20 # 最大用户数 maxloginattempts 3 # 最大尝试连接次数 timeoutlogin 30 # 身份验证超时 timeoutidle 120 # 发呆超时 timeoutnotransfer 300 # 无数据传输超时 user nobody # 定义ftp以哪个用户身份运行 group nobody # 定义ftp以哪个用户组身份运行 <directory ~/> allowoverwrite on # 允许写入覆盖 <limit login cwd retr read dirs> # 设置虚拟用户读权限 allowall </limit> <limit all> # 设置omd用户所有权限 order allow,deny allowuser omd denyall </limit> </directory>
3.添加虚拟用户和组
[root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --passwd --name=bsmp --home=/home/omd/file/ --uid=2001 --gid=2000 --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftp.users [root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --passwd --name=omd --home=/home/omd/ --uid=2002 --gid=2000 --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftp.users [root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --group --name=myftp --gid=2000 --member=bsmp --member=omd --file=/usr/local/proftpd/etc/ftp.group
4.将用户目录设置权限
[root@chenghy ~]# chown -r 2002:2000 /home/omd/ ####下面两行用来删除用户和组########### [root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --passwd --name=bsmp --delete-user --file=/usr/local/proftpd/etc/ftp.users[root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --group --name=myftp --delete-group --file=/usr/local/proftpd/etc/ftp.group
5.将proftpd添加到系统服务
按照网上的资料修改/etc/rc.d/init.d/proftpd文件后发现配置不成功,后来自己修改了一下此文件完成了配置
[root@chenghy ~]# vim /etc/rc.d/init.d/proftpd #!/bin/sh # source function library. . /etc/rc.d/init.d/functions retval=0 start() { echo -n $"starting proftpd : " daemon /usr/local/proftpd/sbin/proftpd -c /usr/local/proftpd/etc/proftpd.conf 2>/dev/null # daemon命令是/etc/rc.d/init.d/functions中自带的 retval=$? echo [ $retval -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n $"shutting down proftpd : " killproc proftpd # killproc命令是/etc/rc.d/init.d/functions中自带的 retval=$? echo [ $retval -eq 0 ] && rm -f /var/lock/subsys/proftpd } # see how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "usage: proftpd { start | stop | restart }" esac [root@chenghy ~]# chmod 755 /etc/rc.d/init.d/proftpd [root@chenghy ~]# chkconfig add proftpd [root@chenghy ~]# chkconfig --level 35 proftpd on [root@chenghy ~]# service proftpd start
6.防火墙设置
只允许主动模式访问添加下面的第①、②条,只允许被动模式访问添加下面的②、③条,两种模式都允许添加下面①、②、③条。
[root@chenghy ~]# iptables -a rh-firewall-1-input -p tcp -m tcp --dport 20 -j accept [root@chenghy ~]# iptables -a rh-firewall-1-input -p tcp -m tcp --dport 21 -j accept [root@chenghy ~]# iptables -a rh-firewall-1-input -p tcp -m tcp --dport 20000:30000 -j accept