FTP是File Transfer Protocol 文件传送协议的英文简介,用于在Internet上控制文件的双向传输;
FTP的主要作用就是让用户连接一个远程计算机,并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机;
小公司使用最多,大企业不用FTP,安全问题;
yum install -y vsftpd //安装vsftpd
useradd -s /sbin/nologin virftp //创建用户virftp,设置此用户无法登陆系统;
vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行;
代码内容(第一行为账号,第二行为密码)
testuser1
123456
chmod 600 /etc/vsftpd/vsftpd_login //赋予文件夹权限为600
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db //将账号密码文件转化为机器码的密码文件.db
mkdir /etc/vsftpd/vsftpd_user_conf //创建目录
cd /etc/vsftpd/vsftpd_user_conf //进入目录
vim testuser1 //新建虚拟用户testuser1配置文件
代码:
local_root=/home/virftp/testuser1 //设置目录为/home/virftp/testuser1下
anonymous_enable=NO //是否允许匿名用户
write_enable=YES //是否允许可写
local_umask=022 //设置umask权限
anon_upload_enable=NO //是否允许匿名用户上传
anon_mkdir_write_enable=NO //是否允许匿名用户可读写
idle_session_timeout=600 //会话空闲超时设置为600秒
data_connection_timeout=120 //数据传输的超时时间
max_clients=10 //最大客户端为10个
注意:这里参数后面不要留空格,不然登录ftp会告错500;
ls: 登录失败: 500 OOPS: bad bool value in config file for: anonymous_enable
mkdir /home/virftp/testuser1 //创建FTP的目录
touch /home/virftp/testuser1/test.txt //在FTP文件目录下创建一个文件
chown -R virftp:virftp /home/virftp //赋予文件所有者和所有组
vim /etc/pam.d/vsftpd //在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
vim /etc/vsftpd/vsftpd.conf //编辑配置文件
将anonymous_enable=YES 改为 anonymous_enable=NO
将#anon_upload_enable=YES 改为 anon_upload_enable=NO
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加如下内容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
systemctl start vsftpd //启动vsftpd服务
netstat -lntp //查看网络端口
yum install -y lftp //安装lftp工具
lftp 用户名@ip //登录模式
选择登录模式为SFTP模式,端口为22;
设置好SFTP的接收文件路径后,使用root用户登录,不是使用ftp设置的登录账号登录;
原文地址:http://blog.51cto.com/shuzonglu/2091849