ubuntu vsftp 安装配置
一、安装 1. sudo apt-get install vsftpd 2. sudo apt-get install db4.8-util 用于创建虚拟用户
二、配置 1. 使用虚拟用户的时候,必须创建一个系统用户或者用现有的用户(主要是创建目录和设置目录的权限用) sudo useradd vsftpd -d /home/vsftpd -s /bin/false
说明: -d /home/vsftpd 指定这个用户的目录 -s /bin/false 这个用户不能登录系统(创建用户时默认是可以登录系统,可以手动修改/etc/passwd 中对应用户的最后一个字段实现) 例如: akm:x:1000:1000:fanchangjie,,,:/home/fanchangjie:/bin/bash sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin mysql:x:114:123:MySQL Server,,,:/nonexistent:/bin/false
ftp:x:1002:1002::/home/work/:/bin/false
2. 创建虚拟用户
touch loguser.txt
vim loguser.txt
奇数行是账号,偶数行是密码
例如:
ftp01
passwd01
ftp02
passwd02
保存退出后生成数据库
sudo db4.8_load -T -t hash -f loguser.txt /etc/vsftpd_login.db
会在/etc/目录下生成一个vsftpd_login.db的文件,设置文件的权限
sudo chmod 600 /etc/vsftpd_login.db
3. 配置PAM文件
打开/etc/pam.d/vsftpd 有些版本是/etc/pam.d/vsftpd.vu
将原有的内容全部注释掉,输入如下两行:
auth required pam_userdb.so db=/etc/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd_login
保存退出
4. 编辑/etc/vsftpd.conf 至少有如下配置项
listen=YES #YES表示服务器以standalong模式运行,NO表示使用xinetd模型运行,xinetd模式需要安装xinetd及做对应配置 standalong模式的服务管理方式是sudo service vsftpd start/stop/restart xinetd的方式是sudo /etc/init.d/xinetd start/restart/stop
anonymous_enable=NO #是否允许匿名登录,NO表示不允许
dirmessage_enable=YES #YES表示进入目录时显示此目录下有message_file选项指定文本文件(默认文件名是.message)的内容
xferlog_enable=YES #开启上传/下载日志,默认日志文件是/var/log/vsftpd.log
xferlog_file=/var/log/vsftpd.log #修改默认的日志文件
xferlog_std_format=YES #日志使用标准xferlog格式
chroot_local_users=YES #控制用户是否能离开登录后的目录,若为NO则记录在chroot_list_file选项所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将在登录后不能离开当前目录。
guest_enable=YES
guest_username=vsftpd #系统真实用户
user_config_dir=/etc/vsftpd_user_conf #虚拟用户目录和权限配置文件
pam_service_name=vsftpd #虚拟用户配置文件
local_enable=YES #接收本地用户
5. 虚拟用户权限的配置
write_enable=YES anonworldreadable_only=NO anonuploadenable=YES anonmkdirwrite_enable=YES anonotherwrite_enable=YES localroot=/home/work/jenkinshome/jobs
重启服务器需要先stop再start restart命令有时不起效果
sudo service vsftpd stop
sudo service vsftpd start
更多的配置参见:
1. https://wiki.ubuntu.org.cn/Vsftpd
最后更新:2017-04-03 21:30:11