一、安装
直接通过yum来安装。
yum install vsftpd
安装成功通过vsftpd -v 来查看安装的版本。
二、vsftpd配置
1、创建系统账号(用于更改vsftpd的宿主用户以及虚拟用户)
useradd vsftpd -s /sbin/nologin
useradd www -s /sbin/nologin
2、备份配置文件并修改:
备份文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
vsftpd.conf文件做如下修改,里面有简单注释说明。
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
connect_from_port_20=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chown_uploads=NO
#chown_username=whoever
#idle_session_timeout=600
#data_connection_timeout=120
nopriv_user=vsftpd
#宿主主机
#设定支持异步传输功能。
async_abor_enable=YES
#设定支持ASCII模式的上传和下载功能。
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#将虚拟用户限制在其目录下
chroot_local_user=YES
#启用特殊用户不受限制
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#禁止用户登陆FTP后使用"ls -R"的命令。
ls_recurse_enable=NO
#
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
#设定userlist_file中的用户将不得使用FTP。
userlist_enable=YES
tcp_wrappers=YES
#默认没有,需要手动添加
guest_enable=YES
#设定启用虚拟用户功能。
guest_username=www
#指定虚拟用户的宿主用户。
virtual_use_local_privs=YES
#设定虚拟用户的权限符合他们的宿主用户。
user_config_dir=/etc/vsftpd/vconf
#设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。
创建和设置日志文件及相关目录
touch /etc/vsftpd/chroot_list
touch /var/log/vsftpd.log
chown vsftpd.vsftpd /var/log/vsftpd.log
mkdir -p /etc/vsftpd/vconf
三、设定PAM验证文件,并指定虚拟用户数据库文件进行读取。
通过上面的配置文件,我们已经启用了pam认证方式(pam_service_nam属性,以及guest_enable=YES下面那些配置)。这里需要创建我们要登录的ftp用户和密码。
1、设置PAM文件
查看并备份
cat /etc/pam.d/vsftpd
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup
修改/etc/pam.d/vsftpd文件,尾部加入下面2行
echo "auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers" >>/etc/pam.d/vsftpd
echo "account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers" >>/etc/pam.d/vsftpd
同时做如下修改
auth required pam_shells.so
换为
auth sufficient pam_shells.so
完整内容如下:
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth sufficient pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
2、创建虚拟用户和密码
touch /etc/vsftpd/virtusers
#用户 密码 格式很简单:“一行用户名,一行口令”。
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db #生成用户密码数据文件。
chmod 600 /etc/vsftpd/virtusers.db
3、创建虚拟用户对应的配置
/etc/vsftpd/vconf下创建用户名文件,并指定访问路径。这里在/etc/vsftpd/vconf下创建steven文件(和用户名一致),内容:
local_root=/data/web/
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=300
data_connection_timeout=90
max_clients=1
max_per_ip=1
local_max_rate=25000
4、做好了上面的配置后需要在系统中添加该用户,并且对要访问的目录设置下权限。
useradd steven -s /sbin/nologin
chown -R www.www /data/web/
四、启动和停止vsftpd
做好了上面的相关配置后可以通过下面的命令来启动和停止服务。
service vsftpd start
service vsftpd stop
service vsftpd restart
五、新增一个用户流程
1、添加系统用户css
useradd ccs -s /sbin/nologin
2、virtusers 中加入用户和密码,并生成db文件
/etc/vsftpd/virtusers 加入
ccs
ccs111
生成db文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
3、/etc/vsftpd/vconf下创建用户名文件,并指定访问路径。
4、给访问路径设置chown
chown -R www.www /data/web/php/
5、如果启用了目录限制,想不受限制,在/etc/vsftpd/chroot_list指定,这样就不受限制。
六、可能碰见的错误汇总
1、查看日志
tail -f /var/log/secure
2、bad bool value in config file for: chroot_local_user
chroot_local_user=yes 后面多了一个空格 汗
3、check pass; user unknown
useradd steven -s /sbin/nologin
4、Refused user steven for service vsftpd
在/etc/vsftpd/ftpusers里的用户都不能登录ftpd ,将steven从中移除掉。
5、530 Permission denied.
user_list 文件中 将steven移除掉。
6、user 'steven' granted access,但是提示530.
/etc/pam.d/vsftpd中
auth required pam_shells.so
换为
auth sufficient pam_shells.so
7、查看当前用户
/etc/passwd
七、参考
http://www.cnblogs.com/hhuai/archive/2011/02/12/1952647.html
分享到:
相关推荐
Linux下配置jdk-tomcat-vsftpd,Linux下配置jdk-tomcat-vsftpd,Linux下配置jdk-tomcat-vsftpd
linux-vsftpd安装配置教程ppt,很全面,共50页。
linux下vsftpd服务器配置
linux下vsftpd详细配置说明文档.... linux下vsftpd详细配置说明文档....
vsftpd入门--安全的FTP服务器vsftpd简介PAGE1/NUMPAGES4HYPERLINK"http://os.51cto.com/art/201008/222036.htm"\o"vsftpd入门——安装、配置、案例与常见问题"vsftpd入门--安全的FTP服务器vsftpd简介摘要:本文对...
linux 系统vsftpd服务配置文档
linux下安装vsftpd服务的具体操作,简单,便捷
Linuxvsftpd的配置.pdf
linux安装vsftpd配置FTP服务器
Linux系统 vsftpd服务加固1.安装补丁备份vsftp应用配置,联系操作系统厂商,获取最新版vsftp软件包,升级安装在http://vsftpd.be
主要介绍了linux下vsftpd的安装及配置使用详细步骤 ,需要的朋友可以参考下
详细描写了linux 环境下vsftpd的安装配置与使用。有非常详细的配置参数说明以及如何使用ftp。。
一, VsFTPd的简述 二, 企业Linux下vsFTPD方案 三, VsFTPD相关配置文件详解 四,企业Linux下vsFTPD实战方案
关于linux下自带的ftp配置,当碰到这类问题的时候,还是值得看一下的哦。
解决措施:arm-none-linux-gnueabi/libc/lib/下的libcrypt.so.1复制到开发板根文件系统/lib目录下 4、拷贝文件到开发板中 make成功之后有在当前目录生成了vsftpd文件,通过以下命令查找对应的依赖性 arm-linux-...
Centos7.9安装配置vsftpd
linux vsftpd配置linux vsftpd配置linux vsftpd配置linux vsftpd配置linux vsftpd配置linux vsftpd配置linux vsftpd配置
通过RPM方式安装vsftpd; 第一步:下载vsftpd的RPM包; 第二步:启动并在"standalone"模式下进行测试; 第三步:为inetd/xinetd操作进行配置;
该FTP是配置在linux环境上的vsftpd,可以为FTP用户制定任意主目录,分配任意权限,很灵活、方便,有说明ReadMe.txt 首先 确认 linux 系统的 selinux 和防火墙,这些自己百度修改吧。 包含: 一键初始化配置vsftpd ....
使用vsftpd_3.0.3-12_arm64.deb软件包,用户可以将FTP服务器配置为按照不同的权限虚拟用户,以及给用户对应的上传、下载权限。vsftpd还提供了插件接口,可以自定义脚本对FTP上传文件的事件进行拦截和处理,可进行...