Ubantu操作系统下搭建FTP服务器

来源:互联网 发布:传感器数据采集软件 编辑:程序博客网 时间:2024/05/29 16:21

Ubantu操作系统下搭建FTP服务器

1,安装

  • 安装ftp服务器vsftpd

    apt-get install vsftpd
  • 安装 存储虚拟用户的账户密码 的数据库

    apt-get install db4.8-util

2,配置

创建虚拟账户主目录

  • 新建文件夹 /home/vsftpd/cmz_ftp_home
  • 新建文件夹 /home/vsftpd/chyq_ftp_home
  • 新建文件夹 /home/vsftpd/tony_ftp_home
  • 新建文件夹 /home/vsftpd/zengjf_ftp_home

命令如下:

    cd /home/    mkdir vsftpd    cd vsftpd    mkdir cmz_ftp_home chyq_ftp_home tony_ftp_home zengjf_ftp_home

创建虚拟用户数据库

生成数据库

  • 在home目录下新建loguser.txt,并配置用户名密码

命令如下:

cd  /homesudo  touch  /home/loguser.txtsudo  gedit   /home/loguser.txt在loguser.txt编辑如下内容:cmz  -----用户名cmz  -----密码chyq  -----用户名chyq  -----密码tony  -----用户名tony  -----密码zengjf  -----用户名zengjf  -----密码
  • 通过命令把loguser.txt 生成用来保存虚拟用户的数据库

命令如下:

sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db

最后设置一下数据库文件的访问权限

sudo chmod 600 /etc/vsftpd_login.db

配置PAM文件,把数据库关联到vsftpd上

1,我们上一步建立的数据库 vsftpd_login 在此处被使用

命令如下:

cd /etc/pam.dsudo touch vsftpd.vu gedit vsftpd.vu 编辑文本,如下:auth sufficient pam_userdb.so db=/etc/vsftpd_loginaccount sufficient pam_userdb.so db=/etc/vsftpd_login

2,我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。

为虚拟用户创建本地系统用户

新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)

添加系统用户vsftpd 权限根目录/home/vsftpd 并不能登录系统

sudo useradd vsftpd -d /home/vsftpd -s /bin/false

设置/home/vsftpd 的owner vsftpd:vsftpd(user:group)
只有这个用户和组内用户能看到这个文件

sudo chown vsftpd:vsftpd /home/vsftpd

文件配置

配置vsftpd权限

进入/etc/vsftpd.conf,一般要确保含有以下设置:

listen=YES#匿名登录NOanonymous_enable=NO dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES chroot_local_user=YES#虚拟用户登录YESguest_enable=YES#虚拟用户的本地用户名vsftpdguest_username=vsftpd#虚拟用户的权限配置文件user_config_dir=/etc/vsftpd_user_conf #虚拟用户的关联数据库的配置文件pam_service_name=vsftpd.vu #本地登录YESlocal_enable=YES secure_chroot_dir=/var/run/vsftpd

配置虚拟用户权限

如果没有/etc/vsftpd_user_conf,创建vsftpd_user_conf目录

sudo mkdir /etc/vsftpd_user_conf

创建虚拟用户权限配置文件

cd /etc/vsftpd_user_conf sudo touch cmz chyq tony zengjf

cmz 内容

local_root=/home/vsftpd/cmz

chyq 内容

local_root=/home/vsftpd/chyq

tony 内容

local_root=/home/vsftpd/tony 

zengjf 内容

write_enable=YESanon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/home/vsftpd/zengjf

重启服务器

service vsftpd restart
0 0
原创粉丝点击