ftp配置详解

2016-01-0413:11:48ftp配置详解已关闭评论 643

yum -y install vsftpd
ftp程序目录
/etc/vsftpd/
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

vsftpd.conf: 主配置文件
ftpusers: 指定哪些用户不能访问FTP服务器
user_list: 指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。

查看vsftpd.conf
cat /etc/vsftpd/vsftpd.conf |grep -v '^#';
anonymous_enable=YES //启用匿名用户
local_enable=YES //是否允许本地用户登录FTP服务器,默认情况下是允许的,即为YES
write_enable=YES //允许写权限
local_umask=022 //设置本地用户的文件生成掩码为022,默认情况下为077
dirmessage_enable=YES //表示激活目录信息,当远程用户更改目录时是否出现提示信息
xferlog_enable=YES //允许上传和下载日志
connect_from_port_20=YES //开启数据端链接请求
xferlog_std_format=YES //启用标准的ftp xferlog日志格式
listen=YES //开启监听
pam_service_name=vsftpd //设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d目录下
userlist_enable=yes //允许用户列表中的用户登录FTP服务器
tcp_wrappers=YES //使用tcp_wrappers作为主机访问控制方式

vsftpd.conf 文件设置如下参数:

(1)ftpd_banner=welcome to ftp service //设置连接服务器后的欢迎信息
(2)idle_session_timeout=60 //限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
(3)data_connection_timeout=120 //设置客户机在进行数据传输时,设置空闲的数据中断时间
(4)accept_timeout=60 //设置在多长时间后自动建立连接

(5)connect_timeout=60 //设置数据连接的最大激活时间,多长时间断开,为别人所使用;
(6)max_clients=200 //指明服务器总的客户并发连接数为200
(7)max_per_ip=3 //指明每个客户机的最大连接数为3
(8)local_max_rate=50000(50kbytes/sec) //本地用户最大传输速率限制
(9)anon_max_rate=30000 //匿名用户的最大传输速率限制
(10)pasv_min_port=20000 //ftp被动模式最小端口号
(11)pasv-max-prot=端口号 //ftp被动模式最大端口号
(12)listen_address=IP地址 //设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
(13)listen_port=端口号 //设置FTP工作的端口号,默认的为21
(14)chroot_local_user=YES //设置所有的本地用户可以chroot
(15)chroot_local_user=NO //设置指定用户能够chroot
(16)chroot_list_enable=YES
(17)chroot_list_file=/etc/vsftpd/chroot_list //(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 )
(18)local_root=path //无论哪个用户都能登录的用户,定义登录帐号的主目录,若没有指定,则每一个用户则进入到个人用户主目录;
(19)chroot_local_user=yes/no //是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
(20)chroot_list_enable=yes/no //锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;
(21)userlist_enable=YES/NO //是否加载用户列表文件;
(22)userlist_deny=YES //表示上面所加载的用户是否允许拒绝登录;
(23)userlist_file=/etc/vsftpd/user_list //列表文件

限制IP 访问FTP:
#vi /etc/hosts.allow

vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务

FTP 访问时间限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

#vi /etc/xinetd.d/vsftpd/

修改 disable = no
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp

默认情况下,ftp根目录是/var/ftp。 如果要修改这个目录位置,可以更改/etc/passwd 文件:

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

更改用户不能telnet,只能ftp:
usermod -s /sbin/nologin username //用户只能ftp,不能telnet
usermod -s /sbin/bash username //用户恢复正常

禁止用户ssh登陆
useradd username -s /bin/false

更改用户主目录:
usermod -d /bbb username //把用户的主目录定为/bbb