Debian系统下搭建ftp服务器

Debian系统下搭建ftp服务器步骤如下:

安装vsftp 

apt-get install vsftpd

apt-get install vsftpd

配置/etc/vsftpd.conf 

# 服务器以standalong模式运行,这样可以进行下面的控制

listen=YES

# 接受匿名用户

anonymous_enable=YES

# 匿名用户login时不询问口令

no_anon_password=YES

# 接受本地用户

local_enable=YES

# 可以上传(全局控制).若想要匿名用户也可上传则需要设置anon_upload_enable=YES, 

# 若想要匿名用户可以建立目录则需要设置anon_mkdir_write_enable=YES.这里禁止匿

# 名用户上传,所以不设置这两项.

write_enable=YES

# 本地用户上传文件的umask

local_umask=022

# 如果设为YES,匿名登入者会被允许上传目录的权限,当然,匿名使用者必须要有对上

# 层目录的写入权。

anon_upload_enable=YES

# 定义匿名登入的使用者名称。默认值为ftp

ftp_username=ftp

# 如果设为YES,匿名登入者会被允许新增目录,当然,匿名使用者必须要有对上层目录

# 的写入权。

anon_mkdir_write_enable=YES

# 为YES则进入目录时显示此目录下由message_file选项指定的文本文件

# (,默认为.message)的内容

dirmessage_enable=YES

# 本地用户login后所在目录,若没有设置此项,则本地用户login后将在他的home目录

# (/etc/passwd的第六个字段)中.匿名用户的对应选项是anon_root

# local_root=/home

anon_root=/home/ftp/

# 使用上传/下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file

# 选项修改

xferlog_enable=YES

# Make sure PORT transfer connections originate from port 20 (ftp-data).

connect_from_port_20=YES

# 日志使用标准xferlog格式

xferlog_std_format=YES

# You may change the default value for timing out a data connection.

data_connection_timeout=120

# 关闭本地用户chroot()

chroot_local_user=NO

# 设置为yes则下面的控制有效。

# 开启要设置chroot()用户项.

chroot_list_enable=YES

# (default follows)

# 指定要设置chroot()的特定用户文件

chroot_list_file=/etc/vsftpd.chroot_list

# 若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)

# 中的用户无法login,并且将检察下面的userlist_deny选项

userlist_enable=YES

# 若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)

# 中的用户的login请求.若为YES则不接受这些用户的请求.

userlist_deny=NO

# 注意!!!vsftpd还要检察/etc/vsftpd.ftpusers文件,记录在这个文件中的用户将

# 无法login!!

# 匿名用户的传输比率(b/s)

anon_max_rate=512000

# 本地用户的传输比率(b/s)

local_max_rate=1024000

# 可接受的最大client数目

max_clients=100

# 每个ip的最大client数目

max_per_ip=5

# This option should be the name of a directory which is empty.  Also, the

# directory should not be writable by the ftp user. This directory is used

# as a secure chroot() jail at times vsftpd does not require filesystem access.

secure_chroot_dir=/var/run/vsftpd

# This string is the name of the PAM service vsftpd will use.

pam_service_name=vsftpd

tcp_wrappers=YES

# This option specifies the location of the RSA certificate to use for SSL

# encrypted connections.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem

# 每一个联机,都能以独立的process 来呈现.

setproctitle_enable=YES

# 若是启动,所有匿名上传数据的拥有者将被更换为chown_username当中所设定的使用

# 者。这样的选项对于安全及管理,是很有用的。

chown_uploads=YES

# 这里可以定义当匿名登入者上传档案时,该档案的拥有者将被置换的使用者名称。预

# 设值为root。

chown_username=root

增加用户名一堆(都属于ftpuser组的)

groupadd ftpuser

mkdir /home/john/

useradd -g ftpuser john

passwd john

补充/etc/passwd 中缺漏的/bin/bash

比如

john:x:1001:1001::/home/john:

增加为

john:x:1001:1001::/home/john:/bin/bash

否则很可能shell无法解析命令。

更改文件所有者以及权限

chown -v -R john:ftpuser /home/john/

chmod -v -R 700 /home/john/

ftpuser组所有用户共享一个文件夹,做一个连接

ln -v -s /home/ftpuser/ /home/john/ftpuser

在每个用户的文件夹中设置.message做欢迎界面

编辑/etc/vsftpd.user_list(若没有此文件,创建此文件,把john用户或其他可用用户写进来 填写所有可以ftp的用户,包括匿名anonymous

编辑/etc/vsftpd.chroot_list 若没有此文件,创建此文件,把禁止用户写进来填写不准进入上层目录的用户名

/home/ftp/中允许匿名写的目录修改权限。

chmod -v 777 /home/ftp/temp/

做两个定时工作 crontab -e 在里面写可做可不做

0,10,20,30,40,50 * * * * chmod 555 /home/ftp/incoming/*

# 每10分钟修改一次/home/ftp/incoming/ 中的权限

0 4 * * 1 rm -rf /home/ftp/incoming/temp/*

# 每星期一凌晨4点清空/home/ftp/incoming/temp/文件夹

0 5 10 * * /sbin/reboot

# 每个月10日凌晨5点重新启动电脑

重启vsftp

/etc/init.d/vsftpd restart

好了,ftp服务器做好了。

cmd下ftp常用命令:    
 1. open:与ftp服务器相连接;
 2. send(put):上传文件;
 3. get:下载文件;
 4. mget:下载多个文件;
 5. cd:切换目录;
 6. dir:查看当前目录下的文件;
 7. del:删除文件;
 8. bye:中断与服务器的连接。 

测试:

打开windowscmd,输入“ftp”命令,输入“open xx.xx.xx.xx” 后开始登陆ftp,分别输入用户名和密码,登陆成功后可以分别使用“dir”“send”“del”“bye”进行测试。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值