如何在UNIX系统中安装FTP服务器

如何在UNIX系统中安装FTP服务器,第1张

在许多UNIX系统中,都有FTP的守护程序。FTP提供了一种可靠的文件传送方式,使用TCP协议传送,简单而有效。笔者通过长期的工作实践,总结出一种功能更为强大的FTP服务器──WU-FTP-2.4的安装方法,这也是WASHINGTONUNIVERSI-TY的产品。这是一个免费版本,可以从众多的FTP站点免费获得。1.安装之前的工作为了使用FTP服务器,需要修改FTP服务器的配置文件和重新编译该程序。首先,修改PATHNAME.H,改变引号中的路径。各路径如下:-PATH-FTPUSERS 指向列出不允许的用户ID的文件。-PATH-FTPACCESS指向服务器配置文件,缺省为/ETC/FTPACCESS。-PATH-EXECPATH指向包含二进制文件的目录,缺省路径为/BIN/TP-EXEC。-PATH-CVT指向把文件转化为压缩文件的配置信息,缺省路径为/ETC/FTPCONVERSION-SP。-PATH-XFERLOG 指向保存FTP H志的文件,缺省为/USR/ADM/FTPD/XFERLOG。

可以使用管道,下面是我的程序,你可以参考:

#include <stdio.h>

main(int argc, char *argv[]){

FILE *fp

char str[255]

if (argc!=5){

printf("%s\n%s\n",

"Usage:",

" auto_ftp <ip><user><pass><filename>")

exit()

}

if ((fp=popen("ftp -n","w"))==NULL) {

puts("Run ftp fail !")

exit()

}

//while ((fgets(str,255,fp))!=NULL) puts(str)

fprintf(fp,"open %s\n",argv[1])

fprintf(fp,"user %s %s\n",argv[2],argv[3])

fprintf(fp,"prompt\n")

fprintf(fp,"mget *%s\n",argv[4])

fprintf(fp,"bye\n")

pclose(fp)

}

以上程序编译为auto_ftp,能够自动从命令行指定的IP、用户、密码下载指定的文件。

补充:

上载、下载都是一样的,都是通过管道调用ftp工具,C程序只需要发送命令即可,这些命令可以是任何命令,我程序中是GET,你也可以写PUT。

拿Unix -Solris 来说,你只要在/etc/ftpuser ,用VI编辑在root前面加个#root 然后启动服务svcadm enable -rst ftp 就可以用了,以下是FTP配置文件的参数anonymous_enable=yes允许匿名登陆

dirmessage_enable=yes 切换目录时,显示目录下.message的内容

local_umask=022 FTP上本地的文件权限,默认是077

connect_form_port_20=yes 启用FTP数据端口的数据连接

xferlog_enable=yes 激活上传和下传的日志

xferlog_std_format=yes 使用标准的日志格式

ftpd_banner=XXXXX 显示欢迎信息

pam_service_name=vsftpd 验证方式

listen=yes 独立的VSFTPD服务器

anon_upload_enable=yes匿名用户上传权限

anon_mkdir_write_enable=yes创建目录的同时可以在此目录中上传文件

write_enable=yes 本地用户写的权限

anon_other_write_enable=yes匿名帐号可以有删除的权限

anon_world_readable_only=no匿名用户浏览权限

ascii_upload_enable=yes 启用上传的ASCII传输方式

ascii_download_enable=yes 启用下载的ASCII传输方式

banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息

idle_session_timeout=600(秒) 用户会话空闲后10分钟

data_connection_timeout=120(秒) 将数据连接空闲2分钟断

accept_timeout=60(秒) 将客户端空闲1分钟后断

connect_timeout=60(秒)中断1分钟后又重新连接

local_max_rate=50000(bite) 本地用户传输率50K

anon_max_rate=30000(bite) 匿名用户传输率30K

pasv_min_port=5000 将客户端的数据连接端口改在

pasv_max_port=6000 5000—6000之间

max_clients=200FTP的最大连接数

max_per_ip=4 每IP的最大连接数

listen_port=5555 从5555端口进行数据连接

local_enble=yes本地帐户能够登陆

write_enable=no 本地帐户登陆后无权删除和修改文件

chroot_local_user=yes本地所有帐户都只能在自家目录

chroot_list_enable=yes 文件中的名单可以调用

chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no

userlist_enable=yes在指定的文件中的用户不可以访问

userlist_deny=yes

userlist_file=/etc/vsftpd.user_list

banner_fail=/路径/文件名 连接失败时显示文件中的内容

ls_recurse_enable=no

async_abor_enable=yes

one_process_model=yes

listen_address=10.2.2.2 将虚拟服务绑定到某端口

guest_enable=yes 虚拟用户可以登陆

guest_username=所设的用户名 将虚拟用户映射为本地用户

chown_uploads=yes改变上传文件的所有者为root

chown_username=root

deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址

banned_email_file=//任意指定的路径/xx/

pasv_enable=yes 服务器端用被动模式

user_config_dir=/任意指定的路径//任意文件目录指定虚拟用户存放配置文件的路径

ascii_upload_enable=yes 上传的ASCII传输方式

ascii_download_enable=yes 启用下载的ASCII传输方式

banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息

idle_session_timeout=600(秒)用户会话空闲后10分钟

data_connection_timeout=120(秒)将数据连接空闲2分钟断

accept_timeout=60(秒) 将客户端空闲1分钟后断

connect_timeout=60(秒)中断1分钟后又重新连接

local_max_rate=50000(bite) 本地用户传输率50K

anon_max_rate=30000(bite) 匿名用户传输率30K

pasv_min_port=5000 将客户端的数据连接端口改在pasv_max_port=6000 5000—6000之间

max_clients=200FTP的最大连接数Max_per_ip=4 每IP的最大连接数

listen_port=5555 从5555端口进行数据连接

local_enble=yes本地帐户能够登陆

write_enable=no 本地帐户登陆后无


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11727116.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存