知识点

  • 在linux中使用的FTP是vsftp

  • FTP可以有三种登入方式分别是:

  1. 匿名登录方式:不需要用户密码

  2. 本地用户登入:使用本地用户和密码登入

  3. 虚拟用户方式:也是使用用户和密码登入,但是该用户不是linux中创建的用户

 

安装FTP

使用YUM安装

yum -y install vsftpd

 

文件配置

安装完之后在/etc/vsftpd/路径下会存在三个配置文件。

vsftpd.conf: 主配置文件

ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户。

user_list: 指定的用户是否可以访问ftp服务器,通过vsftpd.conf文件中的userlist_deny的配置来决定配置中的用户是否可以访问,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 这三个配置允许文件中的用户访问FTP。

 

查看主配置文件的默认配置

cat /etc/vsftpd/vsftpd.conf |grep -v '^#';

ftpd服务安装,linux系统

anonymous_enable=YES #允许匿名用户

local_enable=YES #允许使用本地用户账号登陆

write_enable=YES #允许ftp用户写数据

connect_from_port_20=YES #通过20端口传输数据

ftpd服务安装,linux系统

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES

pam_service_name=vsftpd
tcp_wrappers=YES
chroot_local_user=yes

ftpd服务安装,linux系统

 

其它的一些参数说明包括:

ftpd服务安装,linux系统

ftpd_banner========(50kbytes/==-max-prot=====yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/=yes/=/etc/vsftpd/=YES/==/etc/vsftpd/user_list 指定列表文件

ftpd服务安装,linux系统

 

创建FTP连接用户

ftpd服务安装,linux系统

创建用户ftpuser
useradd ftpusr

设置用户只能ftp不能登入
usermod -s /sbin/nologin ftpuser

设置用户密码
passwd ftpusr

ftpd服务安装,linux系统

用户的默认的家目录在/home下,当前用户就只能访问家目录。

ftpd服务安装,linux系统

修改用户的家目录位/mnt

usermod -d /mnt ftpuser

ftpd服务安装,linux系统

 

启动FTP服务

service vsftpd start

测试

在/mnt目录下创建一个测试文件

touch /mnt/test

连接ftp

 ftpd服务安装,linux系统

 

解决普通的FTP无法登入问题

linux默认是带安全机制,使用普通的ftp 21端口无法连接到ftp服务器,使用sftp就可以。这个时候需要关闭selinux,修改配置文件需要重启服务器。

vim /etc/sysconfig/selinux

改成selinux=disabled

 

不重启服务器的方法:

setenforce 0

 

setenforce 1 :设置SELinux 成为enforcing模式
setenforce 0 :设置SELinux 成为permissive模式

 

查看SELinux状态

/usr/sbin/sestatus -v

总结

 还有其他的一些配置方法在这里就暂时不列举,有兴趣的可以去深入研究一下。


参考文档:http://www.cnblogs.com/chenmh/p/5365274.html