您的位置:首页 > 编程语言 > PHP开发

使用vsftpd搭建ftp服务

2018-12-10 20:07 633 查看

centos上自带vsftpd

yum install -y vsftpd

useradd -s /sbin/nologin virftp #创建普通用户,指定用户不能登陆系统。

######设置虚拟账户,让虚拟账户映射系统里的管理用户,这样的话,就算把用户名和密码给别人,别人也无法登陆服务器。

vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
testuser1
aminglinux

chmod 600 /etc/vsftpd/vsftpd_login

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db #将文本文件,转化成计算机使用的二进制文件。不能直接cat

mkdir /etc/vsftpd/vsftpd_user_conf

cd /etc/vsftpd/vsftpd_user_conf

vim testuser1 //加入如下内容 ####用户配置文件的特殊性:需要与用户的名称一致。

local_root=/home/virftp/testuser1 #虚拟用户的家目录
anonymous_enable=NO #是否允许匿名用户
write_enable=YES #是否允许可写
local_umask=022 #定义创建新文件或目录的权限,与系统的一致。
anon_upload_enable=NO #是否允许匿名用户可长传。
anon_mkdir_write_enable=NO #是否允许匿名用户可以创建目录,并且写。
idle_session_timeout=600 #空闲时间超过600s,则需要重新登录。
data_connection_timeout=120 #数据传输的超时时间。
max_clients=10 #最大的客户端

####创建虚拟用户的家目录。

mkdir /home/virftp/testuser1

touch /home/virftp/testuser1/aming.txt

chown -R virftp:virftp /home/virftp #需要将权限给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服务 #监听21端口

yum install -y lftp

lftp ftpuser1@127.0.0.1

执行命令ls,看是否正常输出 ###? 问号可以查看使用那些命令
若不正常查看日志/var/log/messages和/var/log/secure

windows下安装filezilla客户端软件,进行测试 #filezilla clien 5b4 t客户端开源软件。
get 是下载,下载到当前目录

xshell 连接
sftp的端口也是22端口


###权限不够

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  使用 vsftpd 搭建