Linux下搭建FTP

安装环境为:CentOS-6.5-x86_64-minimal

安装

yum install vsftpd

配置

  1. 备份
    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

  2. 编辑配置文件

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #设定不允许匿名访问
local_enable=YES    #设定本地用户可以访问
chroot_list_enable=YES  #使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log    #设定vsftpd的服务日志
ascii_upload_enable=YES
ascii_download_enable=YES   #设定支持ASCII
pam_service_name=vsftpd #PAM认证文件名,PAM将根据/etc/pam.d/vsftpd进行认证
# 并在尾部追加:
guest_enable=YES    #设定启用虚拟用户功能。
guest_username=ftp  #指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
guest_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性化的配置文件名,和虚拟用户名相同
  1. 新增chroot_list并将ftp用户输入进去
    touch /etc/vsftpd/chroot_list
    echo ftp >> /etc/vsftpd/chroot_list

  2. 安装Berkeley DB工具用来对虚拟用户认证配置管理:
    yum install db4 db4-utils

  3. 创建用户账户文件

vim /etc/vsftpd/vuser_passwd.txt
user1   #奇数行是用户名
123456  #偶数行是密码
user2   #奇数行是用户名
666666  #偶数行是密码
user3   #奇数行是用户名
user3   #偶数行是密码
  1. 用Berkeley DB工具生成认证文件
    db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

  2. 编辑/etc/pam.d/vsftpd,注释掉所有原来内容,添加如下内容:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

针对每个用户增加个性化配置文件

配置后user1登陆后所在目录就是/var/ftphome了,而user2、user3登陆后还是在默认的/var/ftp/

mkdir /etc/vsftpd/vuser_conf/
vim /etc/vsftpd/vuser_conf/user1
local_root=/var/ftphome/   #此目录位置可以修改
write_enable=YES #可写
anon_umask=022 #掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
创建目录并修改权限:
mkdir /var/ftphome
chmod 777 /var/ftphome

启动服务

service vsftpd start
此时就可以用用户名登陆ftp了(只能终端登录)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容