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 client客户端开源软件。 get 是下载,下载到当前目录 xshell 连接 sftp的端口也是22端口 ###权限不够