linux中ftp配置

Posted hhjwqh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中ftp配置相关的知识,希望对你有一定的参考价值。

防火墙开启

[[email protected] ~]# service iptables start

添加规则20主动端口,21被动端口

 [[email protected] ~]# iptables -I INPUT 1 -p tcp --dport 20:21 -j ACCEPT

保存配置

[[email protected] ~]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

安装vsftpd服务

[[email protected] ~]# yum install vsftpd -y

设为开机自动启动

[[email protected] ~]# chkconfig vsftpd  on

启动服务

[[email protected] ~]# service  vsftpd  start

查看ftp端口状态

[[email protected] ~]# netstat -ntulp | grep ftp

因为服务器的20端口要主动生成一个随机端口访问客户端,这里要检查服务器有没有加载nf_conntrack_ftp模块,因为有模块才会允许访问

[[email protected] ~]# lsmod | grep nf_conntrack_ftp  #查看模块

[[email protected] ~]# modprobe nf_conntrack_ftp     #加载模块

或者这样加载模块

[[email protected] ~]# vim /etc/sysconfig/iptables-config

修改IPTABLES_MODULES="nf_conntrack_ftp"

重启服务

[[email protected] ~]# service iptables restart

[[email protected] ~]# rpm -ql vsftpd 
/etc/logrotate.d/vsftpd.            vsftpd的日志文件
/etc/pam.d/vsftpd                    PAM认证文件
/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/vsftpd                    vsftpd的主程序
其他一些说明文档和手册文件略!
/var/ftp                            匿名用户主目录
/var/ftp/pub                        匿名用户的下载目录

/etc/vsftpd/vsftpd.conf配置:

vsftpd支持三种用户:本地用户,匿名用户,虚拟用户

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf

…………

anonymous_enable=YES #是否启用匿名用户登录

……………

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

…………

write_enable=YES #是否允许本地用户写

……………

local_umask=022 #本地用户上传后文件过滤权限

……………

anon_upload_enable=NO   #是否允许匿名用户上传文件

……………

anon_mkdir_write_enable=NO   #是否允许匿名用户创建文件夹

anon_other_write_enable=NO   #是否允许匿名用户上传文件                

……………

dirmessage_enable=YES

……………

chroot_local_user=YES  # 本地用户禁锢在宿主目录中 即以家目录为根 

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

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

anon_root=/var/ftp 设置匿名用户的FTP根目录,也称为宿主目录。匿名登录所在的文件目录,注意ftp后面不要有“/”,否则出错

local_root=/var/ftp 设置本地用户的FTP根目录

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

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

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

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

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

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

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

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 

userlist_enable=YES  #是否启用用户列表

userlist_deny=YES  #只要出现在用户列表中的用户都是拒绝的

userlist_file=/etc/vsftpd/user_list #用户列表文件

 

 

查看bool值

[[email protected] ~]# getsebool -a | grep ftp

allow_ftpd_anon_write --> off    #允许用户写

allow_ftpd_full_access --> on

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> on  #允许创建家目录

ftpd_connect_db --> off

ftpd_use_fusefs --> off

ftpd_use_passive_mode --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

tftp_use_cifs --> off

tftp_use_nfs --> off

必须开启ftp_home_dir --> on与allow_ftpd_full_access --> on、allow_ftpd_anon_write--> on

setsebool -P ftp_home_dir on

 

文件不能上传要从三个方面考虑:配置文件、文件系统(权限)、selinux

[[email protected] ~]# chown ftp:ftp /var/ftp/  

 

对FTP访问的设置

vim /etc/pam.d/vsftpd

 

 

 

 

客户端

linux 安装ftp客户端工具

yum install ftp  lftp -y

可以用ftp 192.168.1.104 连接,可以输入用户名

也可以用lftp 192.168.1.104 连接,匿名用户连接

也可以指定用户lftp -u ftp(用户名) 192.168.1.104 指定用户连接

put xx.txt上传文件













以上是关于linux中ftp配置的主要内容,如果未能解决你的问题,请参考以下文章

linux中ftp的配置管理

Linux FTP配置

linux中搭建ftp服务配置

如何在linux上配置ftp 及创建 ftp用户

linux安装和配置ftp服务

Linux基础篇——ftp的安装与配置