如何在linux搭建ftp服务器

如何在linux搭建ftp服务器,第1张

详解Linux中搭建一个ftp服务器。

ftp工作是会启动两个通道:

控制通道 , 数据通道

在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)

PORT模式:

在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。

PASV模式:

传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

安装ftp

#rpm -qa vsftpd 查看是否已经安装

#yum install -y vsftpd

#rpm -ql vsftpd

/etc/logrotate.d/vsftpd.vsftpd的日志文件

/etc/pam.d/vsftpdPAM认证文件

/etc/rc.d/init.d/vsftpd 启动脚本

/etc/vsftpd vsftpd的配置文件存放的目录

/etc/vsftpd/ftpusers禁止使用vsftpd的用户列表文件

/etc/vsftpd/user_list禁止或允许使用vsftpd的用户列表文件

/etc/vsftpd/vsftpd.conf 主配置文件

/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd *** 作的一些变量和设置

/usr/sbin/vsftpdvsftpd的主程序

其他一些说明文档和手册文件略!

/var/ftp用户主目录

/var/ftp/pub用户的目录

#service vsftpd start

#chkconfig --level vsftpd

#chkconfig --level 2345 vsftpd on

2 用户的登录名:ftp(anonymous) 密码空 ,登录的目录为/var/ftp

用用户登录的时候默认是只有的权限,没有上传,创建和删除的权限:

#vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES 上传

anon_mkdir_write_enable=YES创建

anon_other_write_enable=YES删除

#service vsftpd restart

为了安全应该禁止用户的登录:

#vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

#anon_upload_enable=YES 上传

#anon_mkdir_write_enable=YES创建

#anon_other_write_enable=YES删除

#service vsftpd restart

3 创建一个直接登录系统用户来登录ftp:

#useradd -s /sbin/nologin viong

#passwd viong

# 匿名用户配置  

anonymous_enable=YES         # 是否允许匿名ftp,如否则选择NO  

anon_upload_enable=YES       # 匿名用户是否能上传  

anon_mkdir_write_enable=YES  # 匿名用户是否能创建目录  

anon_other_write_enable=YES  # 修改文件名和删除文件

# 本地用户配置  

local_enable=YES # 是否允许本地用户登录  

local_umask=022  # umask 默认755  

write_enable=YES  

chroot_local_user=YES  # 本地用户禁锢在宿主目录中

chroot_list_enable=YES # 是否将系统用户限止在自己的home目录下  

chroot_list_file=/etc/vsftpd.chroot_list # 列出的是不chroot的用户的列表

chown_upload=YES  # 是否改变上传文件的属主  

chown_username=username # 如果是需要输入一个系统用户名

userlist_enable=YES  

userlist_deny=NO

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

banned_email_file=/etc/vsftpd.banned_emails # 禁止邮件地址的文件路径

ftpd_banner=Welcome to chenlf FTP service. # 定制欢迎信息  

dirmessage_enable=YES # 是否显示目录说明文件, 需要收工创建.message文件  

message_file= # 设置访问一个目录时获得的目录信息文件的文件名,默认是.message

xferlog_enable=YES # 是否记录ftp传输过程  

xferlog_file=/var/log/vsftpd.log # ftp传输日志的路径和名字  

xferlog_std_format=YES # 是否使用标准的ftp xferlog模式

ascii_upload_enable=YES   # 是否使用ascii码方式上传文件  

ascii_download_enable=YES # 是否使用ascii码方式下载文件

connect_from_port_20=YES # 是否确信端口传输来自20(ftp-data)

nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户默认是nobody

async_abor_enable=YES # 是否允许运行特殊的ftp命令async ABOR.

# FTP服务器的资源限制

idle_session_timeout=600 # 设置session超时时间  

data_connection_timeout=120 # 设置数据传输超时时间

max_clients=50 # 用户最大连接数 默认是0不限止  

max_per_ip=5   # 每个IP地址最大连接数

anon_max_rate=102400  # 匿名的下载速度 KB  

local_max_rate=102400 # 普通用户的下载速度 KB  


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存