Linux——FTP

FTP

FTP  file transfer protocol

FTP的用户及设置注意事项

1、本地用户(存在于ftp服务器上的用户)和其密码登录
    默认允许实名用户登录到该用户的家目录下且有下载和写的权限;系统默认的不对本地
用户进行限制,故它能够针对整个文件系统做任何他具有权限的工作;因此,如果我们要开放本地用户,就要对其进行限制----chroot
2、guest用户 默认关闭,开启后本地用户登录后都会变为ftp
3、匿名用户(anonymous)
    使用用户名anonymous或者ftp登录,密码空
    默认登录到/var/ftp/目录下并具有下载权限

Ftp的工作方式与使用到的端口

两个通道:
    命令通道:负责连接的建立和命令的传输    端口号:21
    数据通道:负责传输数据。   默认是二进制传输,  ascII编码
        主动模式:端口号:20
        被动模式:可自定义端口号。
    主动模式工作流程
    三次握手之后,建立命令通道的连接,当需要传输数据时,服务器主动建立与客户端的数据通道的连接
    被动模式工作流程
    ---------------------------------,----------------,服务器端开启某个端口,继而与客户端连接并进行数据的传输。


vsftp  (very security file transfer protocol)
安装
 yum install vsftpd

软件包结构
/etc/logrotate.d/vsftpd  日志
/etc/pam.d/vsftpd     pam是 linux系统用户认证模块      
/etc/rc.d/init.d/vsftpd  启动脚本
etc/vsftpd/ftpusers      定义不能登录ftp server的用户
/etc/vsftpd/user_list     定义用户列表
/etc/vsftpd/vsftpd.conf    主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh  升级用的,保留原配置文件

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

1)与服务器环境相关的设置:
connect_from_port_20=YES    定义是否开启主动连接模式,主动连接模式的数据端口为20
listen_port=21    定义命令通道的端口号
dirmessage_enable=YES    定义初次切换到某个目录中的欢迎信息(存放在该目录中的.message文件中,这个文件要手动创建。仅适用于命令行ftp ftpserverip的方式登陆)
listen=YES        以stand alone(独立式服务)的方式来启动ftp
pasv_enable=YES    是否开启被动模式,单词passive被动
use_localtime=YES    是否使用本地时间,默认是格林尼治GTM时间
write_enable=YES    是否可写,具体能否可写,还要看文件系统上对应目录的权限
connect_timeout=60    在主动模式下,服务端发出的连接信息在60s内得不到相应,断开连接
accept_timeout=60    在被动模式下,服务端开启数据传输的端口后,在60s内无连接请求,断开连接
data_connection_timeout=300    表示数据连接后数据连接等待的空闲时间超时,超过时间后,数据连接将断开连接
idle_session_timeout=300    命令通道建立超过300s客户端无任何动作,断开连接
max_clients=0    最多能有多少个客户端连接服务器,默认值0,意为不限制。
max_per_ip=0    每个ip地址最多允许有几个连接
pasv_min_port=0    被动模式数据通道的最小端口号,默认值0,意为使用任何端口
pasv_max_port=0    被动模式数据通道的最大端口号
ftpd_banner=’欢迎信息’    设置登陆到ftp服务器显示的欢迎信息
banner_file=文件路径    上述欢迎信息存放的文件

2)与本地用户相关的设置
guest_enable=YES    是否启用访客模式
guest_username=ftp    访客以谁的身份登陆到ftp服务器,该例为ftp用户,默认为ftp
local_enable=YES是否允许本地用户登录    
chroot_local_user=YES    是否要对本地用户chroot,具体该用户会不会被chroot还要看下面二项的设置
chroot_list_enable_=YES        是否开启chroot列表
chroot_list_file=/etc/vsftpd/chroot_list        被chroot的用户存放文件
如果chroot_local_user=yes,在chroot_list_enable=yes的前提下,chroot_list_file中记录的是不被chroot的本地用户
如果chroot_local_user=no,在chroot_list_enable=yes的前提下,chroot_list_file中记录的是被chroot的本地用户
userlist_enable=YES   是否启用用户列表
userlist_deny=YES    是否拒绝用户列表中出现的账户
userlist_file=/etc/vsftpd/user_list  指定用户列表文件
如果userlist_deny=YES,那么/etc/vsftpd/user_list中出现的用户不允许登陆ftp服务器
如果userlist_deny=NO,那么只允许/etc/vsftpd/user_list中出现的用户登陆ftp服务器

local_max_rate=0    本地用户最大的上传下载速率bytes/s。默认0,即不限制速率


3)匿名用户相关设置
anonymous_enable=YES        是否允许匿名用户登录
anon_root=/pub    将默认匿名用户的根目录(/var/ftp)更改为/pub

vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd的文档就明白的了;否则也不能称为最安全的FTP服务器了,对不对?


anon_other_write_enable=NO    是否允许匿名用户除了具有建立目录的权限外,还能删除与修改服务器上的文件名的权限
anon_mkdir_write_enable=NO    是否允许匿名用户具有建立目录的权限
anon_upload_enable=NO    是否允许匿名用户上传文件
no_anon_password=YES    匿名用户登录是不需要输入密码
anon_max_rate=0    匿名用户上传下载的速率,0是不限制,单位B/s
anon_umask=077    匿名用户创建文件或目录的权限

4)关于系统安全方面的设置
ascii_download_enable=YES    是否允许使用ascii模式下载文件
ascii_upload_enable=YES        ...上传...
one_process_model=NO    每个连接都要有一个进程吗?如果开启会占用较多资源
tcp_wrappers=YES    是否支持tcp_wrapper模块
xferlog_enable=YES    是否开启xferlog,用户上传和下载的文件都会被记录下来
xferlog_file=/var/log/xferlog    日志文件名
xferlog_std_format=NO    是否设置为wu-ftp标准格式日志
dual_log_enable=YES    是否开启vsftpd独特的日志
vsftpd_log_file=/var/log/vsftpd.log    日志文件名
nopriv_user=nobody         我们的vsftpd这个程序以谁的身份运行
pam_service_name=vsftpd        pam模块的名称,存放位置即/etc/pam.d/vsftpd
deny_file={*.exe,*.avi}    不允许上传的文件类型
注意事项:
开放了写权限后,要保证文件系统中的目录对于该用户具有写的权限

vsftpd主动模式和被动模式的切换。
配置文件:/etc/vsftpd/vsftpd.conf
主动模式配置方法:
#主动式连接使用的数据通道
connect_from_port_20=YES
#支持数据流的被动式连接模式
pasv_enable=NO

被动模式配置方法:
#主动式连接使用的数据通道
connect_from_port_20=NO
pasv_enable=YES(默认为YES) #设置是否允许被动模式
pasv_min_port=1024(default:0(use any port))
pasv_max_port=65536(default:0(use any port))


创建ftp yum源

解决软件包依赖关系
安装createrepo包(提供了createrepo命令  生成软件包的依赖关系)

语法: createrepo [选项|参数] 《目录(软件存放的目录)》

实验:                
设置你的ftp服务器,达到这样的要求
    希望使用本地时间取代GMT时间
    
    允许本地用户登录
    匿名用户只被允许具有下载的权限
    限制本地用户以及未来添加的用户的活动范围为其家目录,但除了tom和bob外
    限制本地用户的下载流量为1M/s
    限制匿名用户下载的速率为500KB/s
    限制最多可以有3个连接,同一个ip的ftp连接数最多为2个
    设置空闲会话超过60秒就断开连接
    设置不允许上传*.exe格式的文件
    设置连接超时时间时30s


 

你可能感兴趣的:(Linux运维-初级)